| 查看: 996 | 回复: 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 ] |
» 猜你喜欢
304求调剂
已经有6人回复
材料工程专硕调剂
已经有6人回复
一志愿天大材料与化工(085600)总分338
已经有4人回复
085700资源与环境308求调剂
已经有3人回复
求材料调剂
已经有8人回复
294求调剂材料与化工专硕
已经有5人回复
一志愿华中科技大学,080502,354分求调剂
已经有4人回复
一志愿吉林大学材料学硕321求调剂
已经有6人回复
085410人工智能专硕317求调剂(0854都可以)
已经有3人回复
330求调剂
已经有3人回复
» 抢金币啦!回帖就可以得到:
南京医科大学生殖医学与子代健康国重实验室-董飞宏课题组-学术硕士招生
+1/95
济南大学林秀娟教授招收材料类博士生
+1/87
福建师范大学招收2026年化学、材料硕士3-4名
+1/80
博士后出站经验请教
+1/78
湖北工业大学 生命科学与健康学院 课题组招收2026级食品/生物方向硕士
+1/35
澳大利亚西澳大学(UWA)张金强课题组招收全奖博士生(化工新能源方向)
+1/32
南京理工大学优青团队招聘副教授、博士后、博士、硕士生(化学、催化方向)
+1/31
招硕士调剂生
+2/26
中山大学院士团队微纳器件、脑机接口方向博士招生、博后招聘
+1/20
Call for paper: [Fermentation – IF 3.3]
+2/18
南京医科大学-膜蛋白结构与功能课题组-招收2026级博士研究生
+1/11
新加坡国立大学药学系化学生物学课题组招PhD
+1/8
新加坡国立大学药学系化学生物学课题组招PhD
+1/8
香港大学David Srolovitz教授课题组招聘「香江学者」博士后
+1/7
南京林业大学化学工程学院柏惺峰课题组招收2026年申请考核制博士2名
+1/7
华中科技大学管理学院招聘社会用工(科研助理)1名
+1/6
北京高校副校长团队招收机械类,环境类学硕和专硕
+1/4
巴塞罗那自治大学(UAB)-巴塞罗那材料研究所(ICMAB)招收博士研究生
+1/2
浙江大学高纯分离团队诚聘博士后
+1/2
085404 270求调剂,b区求导师收留接受跨专业
+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,
回复此楼