VB如何把外部TXT中的矩阵传递给已经调用到VB中的DLL文件并执行呢?那位师傅可以指点一下呀?我刚接触

function []=myfunction
A=load('test.txt');
x=A(:,1);
y=A(:,2);
z=A(:,3);
scatter3(x,y,z);%散点图

figure
[X,Y,Z]=griddata(x,y,z,linspace(1,6)',linspace(1,6),'v4');%插值
pcolor(X,Y,Z);shading interp%伪彩色图
figure,contourf(X,Y,Z) %等高线图
figure,surf(X,Y,Z)这是我的dll文件内容
这是txt中数据1.486,3.059,0.1;2.121,4.041,0.1;2.570,3.959,0.1;3.439,4.396,0.1;
4.505,3.012,0.1;3.402,1.604,0.1;2.570,2.065,0.1;2.150,1.970,0.1;
1.794,3.059,0.2;2.121,3.615,0.2;2.570,3.473,0.2;3.421,4.160,0.2;
4.271,3.036,0.2;3.411,1.876,0.2;2.561,2.562,0.2;2.179,2.420,0.2;
2.757,3.024,0.3;3.439,3.970,0.3;4.084,3.036,0.3;3.402,2.077,0.3;
2.879,3.036,0.4;3.421,3.793,0.4;3.953,3.036,0.4;3.402,2.219,0.4;
3.000,3.047,0.5;3.430,3.639,0.5;3.822,3.012,0.5;3.411,2.385,0.5;
3.103,3.012,0.6;3.430,3.462,0.6;3.710,3.036,0.6;3.402,2.562,0.6;
3.224,3.047,0.7;3.411,3.260,0.7;3.542,3.024,0.7;3.393,2.763,0.7
如何在vb中通过dll文件调用txt文档数据并执行呀?

Private Sub Command2_Click() '读txt
Dim MyChar
Dim zb As String
Open App.Path & "\TESTFILE.txt" For Input As #1 ' 打开文件。
Do While Not EOF(1) ' 循环至文件尾。
MyChar = Input(1, #1) ' 读入一个字符。
If MyChar = " " Then
Print zb
zb = ""
Else
zb = zb & MyChar
End If
Loop
Close #1

End Sub追问

师傅,你这只是读出来了,我的意思是VB用matlab生成的DLL执行TXT文件中的矩阵进行建模 .就是说:用VB怎么样将txt文件与dll进行结合,让txt 中的数据传入到dll中

追答

dll你自己写 还是现成的?

追问

现成的,我已经生成了
用matlab生成的

追答

要么把这个读txt的再写到dll代码中
要么 dll留接口

追问

function []=myfunction
x=[1;2;3;4;5;6], y=[1;2;3;4;5;6], z=[5;8;4;9;6;1],
scatter(x,y,5,z)%散点图
figure
[X,Y,Z]=griddata(x,y,z,linspace(1,6)',linspace(1,6),'v4');%插值
pcolor(X,Y,Z);shading interp%伪彩色图
figure,contourf(X,Y,Z) %等高线图
figure,surf(X,Y,Z)这是我的DLL文件,我想在vb窗口上写上txt文档所在地址就可以让DLL来调用它,哎呀!,我真是麻烦您了

追答

Private Sub readtxt(byval fpath as string) '读txt
Dim MyChar
Dim zb As String
Open fpath For Input As #1 ' 打开文件。
Do While Not EOF(1) ' 循环至文件尾。
MyChar = Input(1, #1) ' 读入一个字符。
If MyChar = " " Then
Print zb
zb = ""
Else
zb = zb & MyChar
End If
Loop
Close #1
这个只是读txt
关键还需要看你矩阵数据是怎么样排的
而且读出的要求的是怎么样 全部读出还是部分
你的数据看不懂 那些是x的
那些是y的 z的?

追问

function []=myfunction
A=load('test.txt');
x=A(:,1);
y=A(:,2);
z=A(:,3);
scatter3(x,y,z);%散点图

figure
[X,Y,Z]=griddata(x,y,z,linspace(1,6)',linspace(1,6),'v4');%插值
pcolor(X,Y,Z);shading interp%伪彩色图
figure,contourf(X,Y,Z) %等高线图
figure,surf(X,Y,Z)这是DLL文件

追答

load 作为读取txt的函数
最好直接就在里面区分xyz的数据

温馨提示:答案为网友推荐,仅供参考
相似回答