声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2246|回复: 11

[分形与混沌] 求教ode45求解lorenz方程

[复制链接]
发表于 2009-10-17 13:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
用ode45求解lorenz方程,只是将时间设为Tspan=[0  5],算了半天都没算出来,是什么原因?
记得以前算还挺快的,现在为何变慢?我的代码如下:

[t,y]=ode45(@lorenz,[0 5],[15.34;13.68;37.91]);

function dy=lorenz(t,y0)
%a=10,b=8/3;c=28;
%dx/dt=a(y-z),
%dy/dt=cz-xz-y,
%dz/dt=xy-bz
a=10;b=8/3;c=28;

dy=zeros(3,1);
dy(1,1)=a*(y0(2)-y0(3));
dy(2,1)=c*y0(3)-y0(1)*y0(3)-y0(2);
dy(3,1)=y0(1)*y0(2)-b*y0(3);


[ 本帖最后由 jlliang 于 2009-10-17 13:52 编辑 ]
回复
分享到:

使用道具 举报

发表于 2009-10-18 21:17 | 显示全部楼层

回复 楼主 jlliang 的帖子

测试了一下,确实比较奇怪!
怎么会出现这种问题呢
 楼主| 发表于 2009-10-19 17:04 | 显示全部楼层

问题找到了

方程找到了,不好意思
方程应该是
%a=10,b=8/3;c=28;
%dx/dt=a(y-x),
%dy/dt=cx-xz-y,
%dz/dt=xy-bz
发表于 2009-10-20 08:31 | 显示全部楼层
楼主可以试试分析分析,为什么方程仅仅变了一个量,计算速度就差这么多,与大家共享哈。
发表于 2009-10-21 09:38 | 显示全部楼层

回复 板凳 jlliang 的帖子

确实,可以从这个角度考虑一下。
 楼主| 发表于 2009-10-24 09:47 | 显示全部楼层

回复 5楼 无水1324 的帖子

我觉得与方程的特性有关,ode45不适合刚性问题,且ode45是用变步长的的-4阶R-K法,绝对误差为e-3,相对误差为e-6(默认值),数值解无法满足精度要求,便步长消耗了时间。这是个人想法,需要验证。

评分

1

查看全部评分

发表于 2009-10-26 09:39 | 显示全部楼层
其实ode45也不一定就是变步长,它的计算步长也可以设定为定步长计算的。
 楼主| 发表于 2009-10-29 00:17 | 显示全部楼层
ode45的定步长应该是这样设置的吧[0:0.01:100],  步长是t=0.01吧,如果是这样的,我有点疑问,计算出的是该点处的数值解,但这样的步长会满足它的默认精度吗,如果不满足,该点处的解又是怎么得到的呢?是减少步长使其满足精度,并能求出t=0.01处的数值解,还是..........?
实际中,在我们设定精度条件下,仍能求出指定时刻的数值解,这样的话,定步长t=?
发表于 2009-11-1 20:29 | 显示全部楼层
在ode45计算的时候,精度仍是可以设置的,如果不满足,会有警告信息。
如果不满足的话,只有减少时间步长了。

你最后一句话说的意思我不大明白,请解释一下。
 楼主| 发表于 2009-11-2 12:29 | 显示全部楼层
比如设定精度options=odeset('Reltol',1e-10,'Abstol',1e-10),Tspan=[0:0.1:100]
我要的是指定时刻 t=n*0.1时刻的数值解,那么定步长是h=0.1,还是满足精度下的步长(有两种情况h=0.1,一种比0.1小),如果是比0.1小,那么我们是不能设定定步长计算的
这样就不是真正的定步长计算了
发表于 2009-11-2 14:20 | 显示全部楼层
没计算过;学习了!!!!!!!!!!!!!!!!
发表于 2009-11-3 21:08 | 显示全部楼层

回复 10楼 jlliang 的帖子

如果真实步长比0.1小,那么计算就不能满足其仿真误差要求,那么只有降低步长,才能满足计算要求了。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-20 14:54 , Processed in 0.065938 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表