| 查看: 1153 | 回复: 3 | |||
[交流]
【求助】ode45数值求解常微分方程总是错,找不出原因
|
|
程序如下:S1=0.4; S2=0.8; y=zeros(42,3); y(1,1)=6e10; y(2,1)=4e10; y(3,1)=0; for i=0:5; for j=1:7 if(j==6)|(j==7) [t,y]=ode45('tumor',[i*7+j i*7+j+1],[y(i*7+j,1) y(i*7+j,2) y(i*7+j,3)]); else a=y(i*7+j,1); y(i*7+j,1)=S1*a; b=y(i*7+j,2); y(i*7+j,2)=S2*b; y(i*7+j,3)=(1-S1)*a+(1-S2)*b; [t,y]=ode45('tumor',[i*7+j i*7+j+1],[y(i*7+j,1) y(i*7+j,2) y(i*7+j,3)]); end end end plot(t,y(1, ,'*',t,y(2, ,'.',t,y(3, ,'+');错误为:Index exceeds matrix dimensions. Error in ==> number1 at 12 [t,y]=ode45('tumor',[i*7+j i*7+j+1],[y(i*7+j,1) y(i*7+j,2) y(i*7+j,3)]); 我估计是向量传递出错了 发现ode45返回的是t和y(:,1) y(:,2) y(:,3)的列向量, 如果想得到向量的最后一个值应该怎么办? [ Last edited by liangbao on 2010-11-25 at 09:51 ] |
» 猜你喜欢
售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急
已经有5人回复
2026国自然函评费到账
已经有12人回复
跳槽后在研项目怎么办?
已经有8人回复
售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急
已经有10人回复
售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急
已经有5人回复
售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急
已经有4人回复
售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急
已经有7人回复
售一区SCI文章T0P,我:8O.551.O54,科目全,可十急
已经有5人回复
售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急
已经有7人回复
售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急
已经有6人回复
» 抢金币啦!回帖就可以得到:
告别流水线爽文!108万字完结仙侠《女娲石之灵石奇缘(仙界篇)》值得细品
+1/9020
散金祈福
+5/4015
散金祈福
+5/1145
散金祈福
+3/795
基金申请小调查!预祝申请必定中中中!!祈福!!!
+5/320
五大联赛看好哪支球队
+5/200
上海交通大学张航课题组招聘博士后(电化学储能)
+1/89
山东征女友,坐标济南
+1/89
焦虑
+1/66
上海交通大学张航课题组招聘博士后(电化学能量存储与转换)
+1/43
面上基金祈福
+1/42
南京理工大学优青团队催化化学方向招收推免研究生
+1/26
***大叔找对象(沪深等地)
+1/23
流放岭南浮肿了求救
+1/21
pcold 原核表达载体
+1/9
2027环境工程博士申请
+1/8
南京大学 智能驱动与感知材料实验室 诚招申请考核博士生/科研助理/博士后
+1/4
出全新蔡司 Plan?APOCHROMAT 20×/0.8 平场复消色差物镜
+1/2
新审查指南施行半年,AI方向的专利申请是不是更看"技术味"了?
+1/2
清华大学环境课题组招聘环境工作专业客座生研究生2-3名(应用导向)
+1/1
2楼2010-11-25 20:01:10
|
恩,谢谢 我这样改,运行通过了 您看看,没有什么对不? S1=0.4; S2=0.8; y=zeros(100,42); y(1,1)=6e10; y(1,2)=4e10; y(1,3)=0; for i=0:5; for j=1:7 if(j==6)|(j==7) tspan=i*7+j:0.05:i*7+j+1; [t,p]=ode45('tumor',tspan,[y(i*7+j,1) y(i*7+j,2) y(i*7+j,3)]); else y(i*7+j,1)=S1*y(i*7+j,1); y(i*7+j,2)=S2*y(i*7+j,2); y(i*7+j,3)=((1-S1)/S1)*y(i*7+j,1)+((1-S2)/S2)*y(i*7+j,2); tspan=i*7+j:0.05:i*7+j+1; [t,p]=ode45('tumor',tspan,[y(i*7+j,1) y(i*7+j,2) y(i*7+j,3)]); end plot(t,p(:,1),'*',t,p(:,2),'.',t,p(:,3)); hold on; y(i*7+j+1,1)=p(21,1); y(i*7+j+1,2)=p(21,2); y(i*7+j+1,3)=p(21,3); end end |
3楼2010-11-25 20:38:04
4楼2010-11-26 08:34:13









,'*',t,y(2,
回复此楼