问题描述
我vb.net中的语句是这样子的:objmatlab.execute("plot3(xmat,ymat,zmat)")objmatlab.execute("mesh(xxx,yyy,zzz)")
就是引用matlab的绘图功能,但是现在有个小问题,如果我在正常开启了MATLAB之后运行我语句中的绘图功能,程序可以正常运行,但是如果我不开启MATLAB直接运行程序,则只绘出第一个命令中的图形,到第二个图形的时候报错。请教各位有没什么办法避免先要开启MATLAB?我的想法是能不能把vb.net中引用的MATLAB绘图功能直接打包放进我的程序里?谢谢!
解决方案
解决方案二:
如果要画图,必须打开Matlab,第二次出错估计是你的全局变量或者参数有问题,调试下。
解决方案三:
我觉得不是二楼说的那样。如果先开启了MATLAB再运行我语句中的绘图功能,程序可以正常运行,注意!此时MATLAB并没有关闭,所以运行第二个图形的时候正常。但是如果我不开启MATLAB直接运行程序,绘出第一个命令中的图形,此时MATLAB的状态如何,是开启还是关闭还是驻留在内存?我感觉问题在这里。很久没用VB都忘了,是不是先close或qiut掉MATLAB,在execute一下?
解决方案四:
关于第二个问题,如果MATLAB有绘图功能net组件或com组件,就可以实现你要的功能,如果没有,那只能规规矩矩用你现在用的方法。
解决方案五:
绘制出第一个图形之前用vb.net执行了holdon命令,也就是第二张图是在第一张的基础上继续画的。MATLAB的.com组件容易实现么?我完全不懂那个
时间: 2024-12-03 05:42:18