| 查看: 948 | 回复: 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 ] |
» 猜你喜欢
上海工程技术大学张培磊教授团队招收博士生
已经有3人回复
上海工程技术大学【激光智能制造】课题组招收硕士
已经有5人回复
求助院士们,这个如何合成呀
已经有4人回复
临港实验室与上科大联培博士招生1名
已经有9人回复
想换工作。大多数高校都是 评职称时 认可5年内在原单位取得的成果吗?
已经有7人回复
需要合成515-64-0,50g,能接单的留言
已经有4人回复
自荐读博
已经有4人回复
写了一篇“相变储能技术在冷库中应用”的论文,论文内容以实验为主,投什么期刊合适?
已经有6人回复
带资进组求博导收留
已经有10人回复
最近几年招的学生写论文不引自己组发的文章
已经有11人回复
» 抢金币啦!回帖就可以得到:
深圳市人民医院活性天然产物研究方向诚招联合培养硕士生2-3
+1/271
虚位以待,共探前沿:热烈欢迎报考北京工业大学纳米多孔材料课题组2026级博士研究生
+1/255
湖南师范大学医工交叉科研团队招收博士研究生
+1/177
【宁德时代招聘】AI 物理学家
+1/170
加拿大卡尔加里大学 量子通信和信息方向 硕士/博士招生
+1/56
西南交通大学前沿院碳中和与物质循环利用课题组招收博士生
+1/35
【招生啦招生啦】武汉理工大学朱曼副研究员招收2026年9月入学博士/硕士研究生
+1/30
复旦大学聂志鸿团队招聘聚电解质方向博士后和科研助理
+1/25
江西师范大学化学与材料学院2026年博士研究生招生
+1/24
SCI,计算机相关可以写
+1/22
SCI,计算机相关可以写
+1/20
中科大环境系张常勇教授课题组招聘副研/博士后(一人一议)
+1/18
重庆大学前沿院,黄小洋教授课题组,招收2026年非均相催化方向学术博士2名
+1/13
2026年中科院化学所优青 程靓团队招收有机化学、生物化学背景的博士研究生
+1/13
天津大学化学系吴立朋课题组申请考核制博士招生/博后招聘
+1/12
山东大学集成电路学院招收2026年9月入学的博士研究生
+1/11
天津大学化学系吴立朋课题组申请考核制博士招生/博后招聘-有机化学,金属有机
+1/10
长春工业大学 机电工程学院 韩玲 招收申请审核制2026年秋季入学博士生
+1/4
北京师范大学与企业联合招聘博士后、全职、兼职人员
+1/1
中科院苏州医工所单细胞分析技术中心招聘公告(细胞分选、图像识别、流式应用方向)
+1/1
4楼2010-11-26 08:34:13
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







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