24小时热门版块排行榜    

查看: 1100  |  回复: 2

花神之息

铜虫 (小有名气)

[求助] 求大神---MATLAB-ode23tb-微分方程组--运行失败

有一个包含117个方程的常微分方程组。
用MATLAB   ode23tb求解。
问题是这样的:第一次我把tspan设为[0 12*60]  (为方便描述,单位为分钟,12为小时数)。得到运算结果[T0 Y0]    (设s为计算步数,size(T0)=[s 1] size(Y0)=[s 117])

现在,我要把这12个小时分成几个时间段,在每个时间段上要改变一个初始值(想象一下在不同时间段给小鼠注射不同药物,然后观察体内某些物质浓度变化)。
我是这样做的,如果是分成两段,第一段运行,初始值y0,tspan=[0 6*60];
第二段运行时,取第一段Y0中最后一个行向量YL,并改动其中某一项,然后作为初始值y1,在运行下6个小时。这时候运行就失败了(不收敛)!并且只取YL不作改动,运行也失败!
请问这是什么情况?
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

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

花神之息

铜虫 (小有名气)

%------ first dose--------
[T0 Y0]=ode23tb(@model,[0 6*60],y0);
y01=Y0(length(Y0),;
y01(1)=y01(1)+0.3;% 0.3-> value of the 2nd dose
tt=T0(1:length(T0)-1);
yy=Y0(1:length(Y0)-1);
% ------second dose --------
[T1 Y1]=ode23tb(@model,[0 6*60],y01);
T1=T1+6*60;
T=[tt;T1];
Y=[yy;Y1];
figure(1)
plot(T/60,Y(:,50));% 50-> system output
2楼2013-07-11 10:47:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

花神之息

铜虫 (小有名气)

Warning: Failure at t=4.519183e+001.  Unable to meet integration
tolerances without reducing the step size below the smallest value
allowed (1.605536e-013) at time t.
3楼2013-07-11 10:50:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 花神之息 的主题更新
信息提示
请填处理意见