ympdcwfn 发表于 2011-7-20 18:55:40

matlab仿真问题

用matlab仿真,ode45命令调用m文件,matlab计算了一个小时还没有计算出来,这是怎么回事,方程只有六个。大家有没有遇到过这样的问题?是怎么解决的?

hsy100 发表于 2011-7-21 20:28:47

m文件里面能够不显示的记得加引号,不加引号运算速度会大大大大降低。

ympdcwfn 发表于 2011-7-21 21:09:32

hsy100 发表于 2011-7-21 20:28 static/image/common/back.gif
m文件里面能够不显示的记得加引号,不加引号运算速度会大大大大降低。

请问“能够不显示的”是指什么?谢谢~~

hsy100 发表于 2011-7-22 19:47:59

就是运算过程中不再命令窗口显示的内容,语句后面加;,就不显示了

ympdcwfn 发表于 2011-7-22 21:20:21

hsy100 发表于 2011-7-22 19:47 static/image/common/back.gif
就是运算过程中不再命令窗口显示的内容,语句后面加;,就不显示了

哦,这个都加上了,下面是我编写的m文件(%中间的部分):
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function xdot=xiaxing2(t,x)
c2=5e-11;
r4=2.25e+10;
m1=0.067;
c7=0.22e-13;
m2=0.068;
c12=4e-12;
r20=2.781e+10;
c18=2.5e-10;
xdot=[1.97e-3-x(1)/(r4*c2)+x(2)/(r4*m1*c7)+x(3)/(r4*c12*m1*m2)
    x(1)/(r4*c2*m1)-x(2)/(r4*c7*m1^2)-x(3)/(r4*c12*m2*m1^2)
    x(1)/(r4*c2*m1*m2)-x(2)/(r4*c7*m2*m1^2)-x(3)*(1/(r4*m1^2*m2^2)+1/r20)/c12+x(4)/(r20*c18)
    x(3)/(r20*c12)-x(4)/(r20*c18)];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
用ode45命令调用,仿真时间:0~100,初始值为:[0,0,0,0],这个还不是很复杂,计算机算了近一个小时才出现结果。
请问还能不能优化?谢谢
页: [1]
查看完整版本: matlab仿真问题