| 查看: 992 | 回复: 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 ] |
» 猜你喜欢
308求调剂
已经有4人回复
NSFC申报书里申请人简历中代表性论著还需要在申报书最后的附件里面再上传一遍吗
已经有14人回复
材料与化工一志愿南昌大学327求调剂推荐
已经有6人回复
化学调剂0703
已经有7人回复
327求调剂
已经有11人回复
调剂
已经有8人回复
梁成伟老师课题组欢迎你的加入
已经有7人回复
伙伴们,祝我生日快乐吧
已经有24人回复
中科院材料273求调剂
已经有3人回复
材料工程专硕274一志愿211求调剂
已经有5人回复
» 抢金币啦!回帖就可以得到:
山东征女友,坐标济南
+1/176
测试█TEM/ EPR/ XPS/PY-GCMS/TG-IR/XRF/BET/MIP/核磁/EA/ICP,VX: 761711562。
+1/87
冷冻行星球磨机、低温高温球磨机
+1/86
物理学 调剂
+1/82
厦门大学电池工况表征博士后招聘(固态电池 / 层状氧化物正极 / 原位-工况表征方向)
+1/78
招硕士调剂生
+2/36
广东工业大学管理科学与工程专业博士招生
+1/34
生殖医学与子代健康全国重点实验室遗传学课题组招收研究生(长期有效)
+1/34
南开大学罗景山教授课题组招聘博士后(光/电催化、钙钛矿光伏方向)
+2/34
清华大学环境学院贺克斌院士团队招聘博士后
+1/33
中科院生态环境研究中心国重实验室招聘客座研究生1-2名
+1/33
中科院化学所 宋延林 课题组招聘合成化学方向博士后(开展打印合成化学方向研究)
+1/32
南开大学罗景山教授课题组招收2026年入学博士生(光/电催化方向)
+2/26
新疆大学招收学硕调剂
+1/24
江西理工大学稀土学院/国家稀土功能材料创新中心招收博士研究生和调剂硕士研究生
+1/17
【全奖招生】北师港浸大ESLAS实验室招收密码工程/网络安全/计算机视觉博士/博士后
+1/12
课题组招收环境及相关专业调剂硕士研究生(欢迎优秀学生加入)
+1/8
上海师范大学化学与材料科学学院任新意副研究员招收调剂学生3-4名(有机化学专业)
+1/5
南方科技大学基础免疫与微生物学系招聘科研助理1-2名,从事微生物与免疫学方向研究
+1/2
澳洲维多利亚大学计算机类全额奖学金博士招生 (邮箱+微信可联系)
+1/2
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,
回复此楼