| 查看: 1125 | 回复: 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 ] |
» 猜你喜欢
基础研究怎么拉横向,学校到款任务越来越多,难以完成 拉横向,都有哪些途径啊
已经有6人回复
HXDI做水性聚氨酯乳液,是不是特别容易出渣
已经有3人回复
小木虫看见有人已经知道结果了
已经有19人回复
2026年国自然面上资助率
已经有8人回复
系统今天又提示维护了,估计离放榜不远了
已经有15人回复
微信指数没变化,科研之友没阅读
已经有17人回复
申请2027年材料/化学类博士
已经有5人回复
你们的时间戳变了吗
已经有4人回复
今年的WR进展到哪一步了?
已经有9人回复
产物和副产物价值比较
已经有5人回复
» 抢金币啦!回帖就可以得到:
求助2013年-2011年,武汉哪所学校的实验室合成过单价3万/克(或毫升)的剧毒成品?
+5/3240
诚征女友
+1/259
坐标北京,92男,诚征结婚对象
+1/175
西湖大学物理学、光学、电子信息方向博士生招生(长期有效)
+5/105
山东第一医科大学医工交叉团队2025年招收纳米医学、药物化学等领域副教授、博士后
+1/73
上海 东华大学 刘栋良 招 2027 学术型博士(化学专业)
+1/72
Postdoctoral fellow in Medicinal Chemistry, McGill University
+1/71
西安交通大学补亚忠课题组招聘2027年博士生
+1/27
深圳大学 招收2027级推免研究生 (金属材料/ 3D打印/ 氢能等方向)
+1/24
诚征女友( 西安 )
+1/22
招生宣讲会倒计时!7月29日20:00,不见不散!
+1/10
浙江大学医学院附属妇产科医院张霈婧课题组招科研助理——生物信息方向
+2/6
新西兰坎特伯雷大学招博士后
+1/6
西安交通大学补亚忠课题组招收申请考核制博士生
+2/6
准现货/原装全新超微整机8x NVIDIA HGX A100 80G
+1/4
中山大学孙逸仙纪念医院潘越教授团队招聘博士后(40万年薪)和科研助理
+1/3
宁波诺丁汉大学新能源与环境材料技术研究中心招收2027年春季入学博士生
+1/3
大家有research gate的账号吗?有偿借用
+1/2
北京师范大学珠海校区 李朝强团队招多名硕士博士
+1/2
这些Scopus收录的英文国际期刊正在征稿(快速审稿)2026年底前免APC!
+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,
回复此楼