24小时热门版块排行榜    

查看: 608  |  回复: 4
当前主题已经存档。
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

gg0520

铜虫 (初入文坛)

[交流] 【求助】matlab常微分方程组求解

用以下程序进行计算,数据结果却是一正一负交替,
但是方程预期的解是不可能存在负值的,思考过可能存在的问题,初值,方程组都没问题,请问matlab自身的解法有可能造成这种结果吗?如果有,可以告诉我怎么解决吗?

--------------------------------------------------------------------------------------
部分程序:
Ki=108.85;Kp=108.85;Ktm=0.012;Ktal=0.12;Kth=4.8;Kd=0.001;
M=0.21;H=0.002
y0=zero(1,2*n+2)
y0(1,1)=0.0000045
y0(1,2)=0.00045
[t,y]=ode45(@mwd,tspan,y0)

function dydt=mwd(t,y)
global  Ki Kp Ktm Ktal Kth Kd M H n
ju=0;
for j=3:  (n+2)
     ju=ju+y(j);
end
mwd(1)=(Kth*H^0.5+Ktal*y(2)+Ktm*M+Kd)*ju-Ki*y(1)*M-Kd*y(1);                mwd(2)=-Ktal*y(2)*ju;                                                   
mwd(3)=Ki*y(1)*M-Kp*y(3)*M-(Kth*H^0.5+Ktal*y(2)+Ktm*M+Kd)*y(3);            
for k=4:  (n+2)
    mwd(k)=Kp*y(k-1)*M-Kp*y(k)*M-(Kth*H^0.5+Ktal*y(2)+Ktm*M+Kd)*y(k);   
end
for k=3:  (n+2)
    mwd(k+n)=(Kth*H^0.5+Ktal*y(2)+Ktm*M+Kd)*y(k);                          
end
dydt=mwd( : );

[ Last edited by gg0520 on 2009-9-18 at 15:37 ]
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tang_hongbo

金虫 (小有名气)


小木虫(金币+0.5):给个红包,谢谢回帖交流
单步运行,看是哪一步出问题啊
4楼2009-09-28 21:21:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 5 个回答

wzp0098

木虫 (著名写手)


小木虫(金币+0.5):给个红包,谢谢回帖交流
把问题说清楚一些!
2楼2009-09-27 22:13:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

backstroke9680

木虫 (正式写手)


小木虫(金币+0.5):给个红包,谢谢回帖交流
不知道你的方程式什么,怎么帮你
3楼2009-09-28 19:34:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sui2066

木虫 (职业作家)


小木虫(金币+0.5):给个红包,谢谢回帖交流
数学模型写出来看一看!
氟硅(富贵)http://www.dowpont.com/bbs/index.php^_^
5楼2009-09-28 21:22:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见