标题:关于微分方程分段求解
只看楼主
thuwb
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-4-10
 问题点数:0 回复次数:1 
关于微分方程分段求解

解微分方程时,如果设t0=0,tf=1000,
为什么用方法一:直接求t=t0~tf的值
与用方法二分段求解t=0~500,t=500~1000算出来的值不一样呢?
方法二种将第一时间段算出的t=500时的值作为第二时间段的初始值。

哪位大侠解释一下,谢谢!

function dy=rigid(t,y)
dy=zeros(3,1);
dy(1)=y(2)*y(3);
dy(2)=-y(1)*y(3);
dy(3)=-0.51*y(1)*y(2);

方法一:
[T,Y]=ode45(@rigid,[0:10:1000],[0 1 1]);
方法二:
[T1,Y1]=ode45(@rigid,[0:10:500],[0 1 1]);
[T2,Y2]=ode45(@rigid,[500:10:1000],[Y1(51,1) Y1(51,2) Y1(51,3)]);

搜索更多相关主题的帖子: 微分方程 求解 分段 时间段 function 
2007-04-10 11:09
abingchem
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:716
专家分:0
注 册:2004-12-30
得分:0 
这主要是由于ode45算法是采取了多个点的斜率平均值来算的,你的第二段就没有办法利用第一段的多点平均

此人已消失
2007-04-10 20:00



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-130661-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015632 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved