跳出这样的错误警告。
程序很简单,想用VB.NET调用matlab显示拟合的图像。如下:
m文件:
function funcplane2(data)
x=data(:,1);
y=data(:,2);
z=data(:,3);
N=[ones(size(x)),x,y];
b=regress(z,N);
scatter3(x,y,z,'filled')
hold on;
xfit = min(x):0.5:max(x);
yfit = min(y):0.5:max(y);
[XFIT,YFIT] = meshgrid(xfit,yfit);
ZFIT=b(1)+b(2).*XFIT+b(3).*YFIT;
mesh(XFIT,YFIT,ZFIT)
axis square;
VB.NET:
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim data(,) As Double
Dim a, b As Integer
a = Int(Rnd() * 20)
b = 3
ReDim data(a, b)
Dim i, j As Integer
For i = 0 To a
For j = 0 To b
data(i, j) = Int(Rnd() * 5) + 100
Next
Next
'暂时生成随机数组,之后会加入数据接口
Dim s As Matrix = New Matrix(data)
Dim plane As New funcplane2.funcplane
plane.funcplane2(s)
End Sub
End Class
Public Class Matrix
Private matrix(,) As Double '定义矩阵变量
Private rowbound As Integer '定义数组行数,从0开始
Private colbound As Integer '定义数组列数,从0开始
Public Sub New(ByVal data(,) As Double)
'首先获得矩阵大小
rowbound = data.GetUpperBound(0)
colbound = data.GetUpperBound(1)
ReDim matrix(rowbound, colbound)
Dim i As Integer, j As Integer '数组赋值循环变量
For i = 0 To rowbound '赋值到矩阵变量
For j = 0 To colbound
matrix(i, j) = data(i, j)
Next j
Next i
End Sub
End Class