声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 15260|回复: 34

[非线性振动] 到底如何绘制poincare图?

[复制链接]
发表于 2006-5-5 20:31 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 VibInfo 于 2016-4-22 15:25 编辑

看了半天关于poincare截面图的书,可是就是不知道怎样把它画出来。
有没有人帮帮忙?
回复
分享到:

使用道具 举报

发表于 2006-5-6 15:05 | 显示全部楼层
绘制庞加莱截面图


Poincare截面

  在相空间中适当(要有利于观察系统的运动特征和变化,如截面不能与轨线相切,更不能包含轨线)选取一截面,在此截面上某一对共轭变量如x1和x.1取固定值,称此截面为Poincare截面,相空间的连续轨迹与Poincare截面的交点成为截点。通过观察Poincare截面上截点的情况可以判断是否发生混沌:当Poincare截面上有且只有一个不动点或少数离散点时,运动是周期的;当Poincare截面上是一封闭曲线时,运动是准周期的;当Poincare截面上是一些成片的具有分形结构的密集点时,运动便是混沌。

matlab计算程序如下:

文件一,其文件名为Poincare.m

function dx=Poincare(t,x);
% 单摆方程[不显含时间t的自治系统]
% 方程如下:
% dθ/dt=ω,
% dω/dt=-2*β*[dθ/dt]-ω^2*sin(θ)+F*cos(vt)
% dψ/dt=v
betaa=0.25;
F=1.093;
v=2/3;
P2=-2*betaa*x(2)-x(2).^2.*sin(x(1))+F*cos(v*t);
dx=[x(2)2;v];

文件二,其文件名为Poincare_section.m

% Poincare_section[绘制庞加莱截面图]
[t,x]=ode45(@Poincare,[0,2800],[0,1.5,0]);
x(:,2)=mod(x(:,2),2*pi)-pi;

phi0=pi*2/3; % 选择phi=2*pi/3这个截面
for k=1:round(max(x(:,3))/2/pi);
d=x(:,3)-(k-1)*2*pi-phi0;
[P,K]=sort(abs(d));
x1l=x(K(1),1);
x1r=x(K(2),1);
x2l=x(K(1),2);
x2r=x(K(2),2);
x3l=x(K(1),3);
x3r=x(K(2),3);
if abs(P(1))+abs(P(2))<3e-16;
X1(k)=x1l;
X2(k)=x2l;
else
Q=polyfit([x3l,x3r],[x1l,x1r],1);
X1(k)=polyval(Q,(k-1)*2*pi-phi0);
Q=polyfit([x3l,x3r],[x2l,x2r],1);
X2(k)=polyval(Q,(k-1)*2*pi-phi0);
end
end
plot(X1,X2,'.');
xlabel('\theta','fontsize',14);
ylabel('d\theta/dt','fontsize',14);


%%% 另外用下面一个文件也可以实现的

% Poincare_section[绘制庞加莱截面图]
betaa=0.25;
F=1.093;
v=2/3;
Poin=inline(['[x(2);',...
'-2*betaa*x(2)-x(2).^2.*sin(x(1))+F*cos(v*t);',...
'v]'],...
't','x','flag','betaa','F','v');
% Poincare_section[绘制庞加莱截面图]
[t,x]=ode45(Poin,[0,2800],[0,1.5,0],[],betaa,F,v);
x(:,2)=mod(x(:,2),2*pi)-pi;

phi0=pi*2/3; % 选择phi=2*pi/3这个截面
for k=1:round(max(x(:,3))/2/pi);
d=x(:,3)-(k-1)*2*pi-phi0;
[P,K]=sort(abs(d));
x1l=x(K(1),1);
x1r=x(K(2),1);
x2l=x(K(1),2);
x2r=x(K(2),2);
x3l=x(K(1),3);
x3r=x(K(2),3);
if abs(P(1))+abs(P(2))<3e-16;
X1(k)=x1l;
X2(k)=x2l;
else
Q=polyfit([x3l,x3r],[x1l,x1r],1);
X1(k)=polyval(Q,(k-1)*2*pi-phi0);
Q=polyfit([x3l,x3r],[x2l,x2r],1);
X2(k)=polyval(Q,(k-1)*2*pi-phi0);
end
end
plot(X1,X2,'.');
xlabel('\theta','fontsize',14);
ylabel('d\theta/dt','fontsize',14);

[ 本帖最后由 yejet 于 2006-7-8 09:10 编辑 ]

点评

赞成: 5.0
赞成: 5
  发表于 2014-3-27 18:15

评分

1

查看全部评分

 楼主| 发表于 2006-5-7 14:20 | 显示全部楼层
本帖最后由 VibInfo 于 2016-4-22 15:25 编辑

谢谢,但还有一个问题^_^
我发觉我概念不清楚:一个1自由度的振动系统相图可以用x和x'的关系描述,但是一个2自由度的振动系统它的相空间应该是3维的吧,这样才能用poincare截面截取变成2维图,但是,相空间的3维是哪3维呢?
哪位大师指导一下?
发表于 2006-5-8 16:15 | 显示全部楼层

回复:(toes)到底如何绘制poincare图?

 楼主| 发表于 2006-5-8 17:13 | 显示全部楼层
本帖最后由 VibInfo 于 2016-4-22 15:25 编辑

好像帖子上回答得不是很直接。。。
看来还是要自己揣摩揣摩。
发表于 2006-5-8 18:34 | 显示全部楼层

回复:(toes)到底如何绘制poincare图?

 楼主| 发表于 2006-5-9 14:32 | 显示全部楼层

回复:(toes)到底如何绘制poincare图?

本帖最后由 VibInfo 于 2016-4-22 15:26 编辑

呵呵,谢谢,看了这个帖子明白一些了。
我的是非自治系统,但有2个激励频率,应该取二者周期的最小公倍数来应用频闪法。这样理解应该对吧?
 楼主| 发表于 2006-5-9 17:34 | 显示全部楼层

回复:(toes)到底如何绘制poincare图?

我画出来的图,汗。。。难道一直是混沌?
有谁指点一下?
注:2个峰值是2个临界转速。

[ 本帖最后由 yejet 于 2006-7-8 09:14 编辑 ]
20065917282193951.jpg
发表于 2006-5-17 19:10 | 显示全部楼层
本帖最后由 VibInfo 于 2016-4-22 15:26 编辑

不错,混沌和分叉,在不同的频率有几个不同的幅值或者是有n个不同的幅值,这样能判定是分叉或混沌吗
发表于 2006-5-17 20:47 | 显示全部楼层

回复:(toes)到底如何绘制poincare图?

本帖最后由 VibInfo 于 2016-4-22 15:26 编辑

  请帮我分析一下我的图
发表于 2006-5-17 20:53 | 显示全部楼层

回复:(toes)到底如何绘制poincare图?



[ 本帖最后由 yejet 于 2006-7-8 09:16 编辑 ]
200651720525350883.jpg
 楼主| 发表于 2006-5-18 13:46 | 显示全部楼层
本帖最后由 VibInfo 于 2016-4-22 15:26 编辑

  qond:

  你的图比我的好多了。

  幸福啊

  应该要结合poincare图来判断。

  感觉开始是混沌,然后做周期3运动,然后再混沌或概周期,然后周期4,再周期2,最后是周期1??呵呵,我也不是很清楚。

  0.05~0.1可以做细一点

  能不能给个qq号,讨论一下?
发表于 2006-5-18 19:41 | 显示全部楼层

回复:(toes)到底如何绘制poincare图?

我的QQ,411948326,共同探讨,希望等得到你的帮助。谢谢
发表于 2006-8-14 15:03 | 显示全部楼层
" phi0=pi*2/3; % 选择phi=2*pi/3这个截面 "请问这个截面是根据什么选择的???
发表于 2006-8-26 01:42 | 显示全部楼层
原帖由 sczhang 于 2006-8-14 15:03 发表
" phi0=pi*2/3; % 选择phi=2*pi/3这个截面 "请问这个截面是根据什么选择的???


随便选哪个截面都一样的
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-4-25 04:03 , Processed in 0.077304 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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