声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1850|回复: 5

[稳定性与分岔] 请看看这个poincare图怎么回事?

[复制链接]
发表于 2012-7-16 16:40 | 显示全部楼层 |阅读模式

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

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

x
我刚接触非线性不久,想把刘延柱的《非线性振动》中的p255页对应的duffing方程的分岔图,相图和pioncare图画出来。当激振力f为0.28时应为P-4运动,但我画出来的确是这样的
untitled.jpg
回复
分享到:

使用道具 举报

 楼主| 发表于 2012-7-16 16:41 | 显示全部楼层
回复 1 # wangu 的帖子

对应的程序
function dx=duffing(t,X)
global w f;
c=0.3;
x=X(1);
y=X(2);
psi=X(3);
dx=zeros(3,1);
dx(1)=y;
dx(2)=-c*y+x-x^3+f*cos(psi);
dx(3)=w;


主程序
function duffing_poincare_f
clear;
global f w;
w=1.2;
T=2*pi/w;
x0=[0,0.001,0];
f=0.28;
[t,x]=ode45('duffing',[0:T/10:10000*T],x0) ;
plot(x(7000:10:end,1),x(7000:10:end,2),'k.','markersize',2);
xlabel('x');ylabel('xdot');title('poincare');
 楼主| 发表于 2012-7-17 20:33 | 显示全部楼层
回复 1 # wangu 的帖子

先问一下,我的程序对不?
发表于 2012-7-19 16:15 | 显示全部楼层
本帖最后由 gghhjj 于 2012-7-19 16:16 编辑

看不懂你的程序,我简单的写了一个
function df=dafen(t,x,force)
df=[x(2);force*cos(1.2*t)-x(1)^3+x(1)-0.3*x(2)];


clc;
clear;
force=0.28;
options=odeset('RelTol',1e-7);
[t,x]=ode45(@dafen,[0:0.01:500],[0,0],options,force);
plot(x(10000:end,1),x(10000:end,2))

 楼主| 发表于 2012-7-19 19:30 | 显示全部楼层
回复 4 # gghhjj 的帖子

谢谢,大概明白点了,跟频闪法的分岔图程序类似,但是有个问题,这个时间的积分区间是自己随便选的吗?[0:0.01:500]
发表于 2012-7-20 10:07 | 显示全部楼层
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-5-13 02:00 , Processed in 0.131632 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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