vb+matlab混合编程数组参数传递的问题
用vb调用MATLAB生成的dll计算,捣鼓了很久,终于只剩下最后一个小问题了。单个的数可以传递给vb,但计算结果数据较多,需以矩阵形式传出来,而矩阵怎么也不能传递给vb,要么是空的,要么是0,不知道是为什么?请大家指教啊。代码如下:
MATLAB的m文件:
function [c]=myplot(a,b)
i=0:0.1:20;
c(1)=a(1)+a(2)+b;
c(2)=b;
plot(i,a(1)*sin(i)+a(2)*cos(i));
VB的相关语句:
Private theMagic As myplot.myplotclass 'magic object instance
Dim c(2) As Variant
Set theMagic = New myplot.myplotclass
a(0) = Val(Text1.Text)
a(1) = Val(Text2.Text)
b = 3
Call theMagic.myplot(1, c, a, b)
Text3.Text = c(1)
Text4.Text = c(2)
运行结果:可以画图,但Text3、Text4为空白。
[解决办法]
矩阵计算要用循环 把数据导入