求大神相助!matlab的m文件中使用了scatter3和mesh显示图形的函数,用VB.NET调用此m文件生成的DLL出错

missa_cup 2017-04-24 09:50:34

跳出这样的错误警告。
程序很简单,想用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
...全文
354 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
missa_cup 2017-04-27
  • 打赏
  • 举报
回复
我又知道了 我自定义的矩阵类的数据无法传递到m文件中 此贴终结!
missa_cup 2017-04-25
  • 打赏
  • 举报
回复
自问自顶 查了一点资料 说可能是从vb.net中的数据传到Matlab时类型不被接受 因此出错 那么应该如何转换数据呢? 有没有大佬啊哭哭

16,553

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧