chunshui2003 发表于 2009-12-16 21:32

非自治系统分岔图的取点周期及取点问题

假设非自治系统存在激励项cos(omega*t)
omega=10;
那么激励周期应该为2*pi/omega;
对总体微分方程某一个变量求解其随一具体参数变化的分岔图
假设参数为I=100:200
程序 for i=1:length(I)

Period=2*pi/omega;

=ode45(@xxxxxx,,[ 1 1 1 1], I(i));

Plot(I(i),x(3000:100:end,1);

End
如果按照这样的程序写,那么输出点为x(1)在第3000,3100,3200,……,5000点随不同的I(i)的分岔图。
那么问题出现了,既然是只需要整百的点,也就是整周期的点,为什么还要在求解微分方程中对时间的步长进行处理,令其每个周期分为100个点。如果将
=ode45(@xxxxxx,,[ 1 1 1 1], I(i));
里面的周期分段改为

而画图是改为
Plot(I(i),x(30:1:end,1);
岂不是更好,可以节约计算时间的计算量。
另外,如果取点不选择整周期的点,而是其他的点,如
plot(I(i),x(3024:100:end,1);
这样对分岔图会产生什么样的影响。
请各位解答,谢谢。

chunshui2003 发表于 2009-12-17 15:14

在中午的时候我突然想明白了。
虽然取的是最后一步整周期的结果,但Runge-kutta法是迭代过程,需要步长。唉!

htwei 发表于 2010-3-3 11:07

回复 沙发 chunshui2003 的帖子

呵呵 是的 rung kutta 需要小步长

yangxiaokang 发表于 2010-3-8 09:46

有关分岔图的疑问

程序 for i=1:length(I)

Period=2*pi/omega;

=ode45(@xxxxxx,,[ 1 1 1 1], I(i));

Plot(I(i),x(3000:100:end,1);
请问x(3000:100:end,1)取的是位移还是速度?

无水1324 发表于 2010-3-10 16:22

其实你的这个方法是完全对的,如果你的系统是连续的话。详细的如果感兴趣的人比较多,我们可以开一个主题来讨论一下这个问题。

chunshui2003 发表于 2010-3-10 17:32

可能龙哥库塔法需要小步长吧

无水1324 发表于 2010-3-10 19:22

回复 6楼 chunshui2003 的帖子

你说的也对,但是其实计算的时候他还是小步长计算的

chunshui2003 发表于 2010-3-11 09:18

恩,感谢无水的回答,原理懂了其余的也就懂了。

lidaijin 发表于 2010-9-25 23:26

学习到了,受益匪浅啊
页: [1]
查看完整版本: 非自治系统分岔图的取点周期及取点问题