各位大神,小弟请教一个问题,怎样在VB中实现调用MATLAB的M文件并在VB显示结果,M文件代码在问题补充中 20
functionode%将二阶导数积分化为一阶导数求解globalTHETAglobalTHETA_ATHETA=0.8;THETA_A=2whileabs(THETA_...
function ode%将二阶导数积分化为一阶导数求解
global THETA
global THETA_A
THETA=0.8; THETA_A=2
while abs(THETA_A-THETA)>0.001
THETA=THETA+0.0001
[x1,y1]=ode45(@f,[0,0.120],0);
THETA_A=max(y1)
plot(x1,y1)
grid on
end
function dydx=f(x,y)
global THETA
global D
global p
global c
global B
global h
E=20.5e10;%梁的弹性模量
B=0.012;h=0.0010;%定义梁的横截面结构尺寸(宽度、厚度)
I=(B*h^3)/12;%定义梁的转动惯量
c=1/(E*I);
D=0.010;%气缸的缸径
p=600000;a=0.021;b=0.033;%气缸的工作压力;%铰链,座头尺寸
dydx=((-pi*D^2*p/2*c)*cos(y-THETA/2)+((pi*D^2*p*c/4*(b*cos(THETA/2)+a*sin(THETA/2)))^2+pi*D^2*p*c/2*cos(THETA/2)))^0.5; 展开
global THETA
global THETA_A
THETA=0.8; THETA_A=2
while abs(THETA_A-THETA)>0.001
THETA=THETA+0.0001
[x1,y1]=ode45(@f,[0,0.120],0);
THETA_A=max(y1)
plot(x1,y1)
grid on
end
function dydx=f(x,y)
global THETA
global D
global p
global c
global B
global h
E=20.5e10;%梁的弹性模量
B=0.012;h=0.0010;%定义梁的横截面结构尺寸(宽度、厚度)
I=(B*h^3)/12;%定义梁的转动惯量
c=1/(E*I);
D=0.010;%气缸的缸径
p=600000;a=0.021;b=0.033;%气缸的工作压力;%铰链,座头尺寸
dydx=((-pi*D^2*p/2*c)*cos(y-THETA/2)+((pi*D^2*p*c/4*(b*cos(THETA/2)+a*sin(THETA/2)))^2+pi*D^2*p*c/2*cos(THETA/2)))^0.5; 展开
展开全部
请参阅:
http://wenku.baidu.com/view/1194160402020740be1e9bbe.html
http://zhidao.baidu.com/question/266934259.html
http://download.csdn.net/download/zilianxuanw/1408004
一、借助 ActiveX部件
没什么好说的
二、借助DDE技术
DDE(Dynamic Data Exchange)允许Microsoft Windows应用程序通过交换数据实现彼
此间的通信。类似于C/S模型
三、通过M文件
Matlab产生的M文件不能直接在VB中调用,可利用mcc将M文件直接编译成.EXE文件,
然后在VB中声明传说中的三个API函数,最后使用Shell命令即可实现VB与Matlab的无缝集
成。
四、引入MatrixVB
MatrixVB是MathWorks针对VB提供的一个Matlab库,为VB提供了强大的功能扩展。在VB中使用该数学工具包可避免重复性劳动,从而减少开发人员实现算法和界面设计的困难。
具体的怎么实现,不是一两句话讲得明白的,最关键的是你一分都不给啊!^_^
(其实,按我上面说的关键字,网上搜一下一大堆!)
http://wenku.baidu.com/view/1194160402020740be1e9bbe.html
http://zhidao.baidu.com/question/266934259.html
http://download.csdn.net/download/zilianxuanw/1408004
一、借助 ActiveX部件
没什么好说的
二、借助DDE技术
DDE(Dynamic Data Exchange)允许Microsoft Windows应用程序通过交换数据实现彼
此间的通信。类似于C/S模型
三、通过M文件
Matlab产生的M文件不能直接在VB中调用,可利用mcc将M文件直接编译成.EXE文件,
然后在VB中声明传说中的三个API函数,最后使用Shell命令即可实现VB与Matlab的无缝集
成。
四、引入MatrixVB
MatrixVB是MathWorks针对VB提供的一个Matlab库,为VB提供了强大的功能扩展。在VB中使用该数学工具包可避免重复性劳动,从而减少开发人员实现算法和界面设计的困难。
具体的怎么实现,不是一两句话讲得明白的,最关键的是你一分都不给啊!^_^
(其实,按我上面说的关键字,网上搜一下一大堆!)
追问
可以给分,网上搜了,很少的好不好,都讲的一些理论的东西,我想在VB中输入W,H,p,D参数,在VB中显示THETA_A结果
追答
由于我未用过Matlab,以上三个连接以及文字也是从网上Copy下来的。
但第一个连接的说明已经很详细地介绍了如何在vb.net内与Matlab交互编程。
第三个连接有可令VB,Matlab混合编程的COM组件下载。
相信是可以解决你的问题的。
如果你想要现成的代码,一Copy过去就能用的,那么我就爱莫能助了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询