24小时热门版块排行榜    

查看: 997  |  回复: 3
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

liangbao

金虫 (小有名气)


[交流] 【求助】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 ]
回复此楼

» 猜你喜欢

» 抢金币啦!回帖就可以得到:

查看全部散金贴

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liangbao

金虫 (小有名气)


引用回帖:
Originally posted by xiegangmai at 2010-11-25 20:01:10:
每次循环把t,y的值覆盖掉了。
循环里把y赋给一个矩阵的一行即可。

恩,谢谢
我这样改,运行通过了
您看看,没有什么对不?
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
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 4 个回答

liangbao(金币+2):谢谢参与
liangbao(金币+10): 2010-11-25 20:38:17
每次循环把t,y的值覆盖掉了。
循环里把y赋给一个矩阵的一行即可。
2楼2010-11-25 20:01:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liangbao(金币+2):谢谢参与
没'tumor'函数,不好判断运行结果正确不正确。
4楼2010-11-26 08:34:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 328求调剂,英语六级551,有科研经历 +3 生物工程调剂 2026-03-17 7/350 2026-03-18 20:41 by Wangjingyue
[考研] 266求调剂 +5 阳阳哇塞 2026-03-14 9/450 2026-03-18 15:05 by stone_128
[考研] 材料专硕274一志愿陕西师范大学求调剂 +6 薛云鹏 2026-03-13 6/300 2026-03-18 14:14 by 脱颖而出
[考研] 0703化学调剂 +4 pupcoco 2026-03-17 7/350 2026-03-18 12:14 by djl2006
[考研] 303求调剂 +4 睿08 2026-03-17 6/300 2026-03-18 11:01 by Iveryant
[考研] 301求调剂 +4 A_JiXing 2026-03-16 4/200 2026-03-17 17:32 by ruiyingmiao
[考研] 考研化学学硕调剂,一志愿985 +4 张vvvv 2026-03-15 6/300 2026-03-17 17:15 by ruiyingmiao
[考研] 一志愿苏州大学材料工程(085601)专硕有科研经历三项国奖两个实用型专利一项省级立项 +6 大火山小火山 2026-03-16 8/400 2026-03-17 15:05 by 无懈可击111
[考研] 材料工程专硕274一志愿211求调剂 +6 薛云鹏 2026-03-15 6/300 2026-03-17 11:05 by 学员h26Tkc
[考研] 11408 一志愿西电,277分求调剂 +3 zhouzhen654 2026-03-16 3/150 2026-03-17 07:03 by laoshidan
[基金申请] 今年的国基金是打分制吗? 50+3 zhanghaozhu 2026-03-14 3/150 2026-03-16 17:07 by 北京莱茵润色
[考研] 085600材料与化工 求调剂 +13 enenenhui 2026-03-13 14/700 2026-03-16 15:19 by 了了了了。。
[考研] 285求调剂 +6 ytter 2026-03-12 6/300 2026-03-16 15:05 by njzyff
[考研] 277材料科学与工程080500求调剂 +3 自由煎饼果子 2026-03-16 3/150 2026-03-16 14:10 by 运气yunqi
[考研] 机械专硕调剂 +3 笨笨兔子 2026-03-12 3/150 2026-03-15 20:02 by 栗子粥?
[考研] 26考研一志愿中国石油大学(华东)305分求调剂 +3 嘉年新程 2026-03-15 3/150 2026-03-15 13:58 by 哈哈哈哈嘿嘿嘿
[考研] 288求调剂 +4 奇点0314 2026-03-14 4/200 2026-03-14 23:04 by JourneyLucky
[考研] 297求调剂 +4 学海漂泊 2026-03-13 4/200 2026-03-14 11:51 by 热情沙漠
[考研] [0860]321分求调剂,ab区皆可 +4 宝贵热 2026-03-13 4/200 2026-03-13 22:01 by 星空星月
[考研] 070303一志愿西北大学学硕310找调剂 +3 d如愿上岸 2026-03-13 3/150 2026-03-13 10:43 by houyaoxu
信息提示
请填处理意见