stephen 发表于 2013-12-12 10:51

庞加莱影视图、相图、时程图的关系。大家看看这个图对吗

   画了这三个图,感觉相图和时程图时单周期,但庞加莱图怎么是二倍周期呢?相图、时程图、庞加莱图之间有什么关系呢?在程序中
tspan=0:0.01*T:5000*T;
options=odeset('RelTol',1e-6,'AbsTol',1e-6);
y0=;
=ode45('zhohfun1',tspan,y0,options,eta1,eta2,eta3,eta4,eta5,omega1,OMEGA2,OMEGA3,omega);

figure(2)%Poincareplot 庞加莱映射
plot(y(end-10000:100:end,1),y(end-10000:100:end,2),'k.','markersize',6);
xlabel('\itq1','FontName','Times New Roman','fontsize',15.5);
ylabel('d\itq1/\rmd\it\tau','FontName','Times New Roman','fontsize',15.5);
set(gca,'FontName','Helvetica','FontSize',12.3)

这里面tspan=0:0.01*T:5000*T; 一个周期分成100步去计算。 在plot(y(end-10000:100:end,1),y(end-10000:100:end,2),'k.','markersize',6)中隔100个取一个,应该没什么问题吧?有高手给答疑一下吧


TSINGEN2012 发表于 2014-4-28 14:45

对啊,应该是对的

ssmallbird 发表于 2014-5-12 16:59

是不是T的值设错了?

华电机械 发表于 2014-12-30 22:20

看着像单周期,为何映射图上是两点?

喜阳阳 发表于 2015-9-12 18:31

华电机械 发表于 2014-12-30 22:20
看着像单周期,为何映射图上是两点?

楼主解决这个问题了吗

Vickyvictoria 发表于 2015-9-13 09:29

仔细看你的这个相图并不是椭圆,仅是和椭圆类似的封闭轨道
个人印像中见过倍皱起分岔出现类似相图的

这个问题你只需对时域信号做一下频谱分析,看看这个信号频率和你的程序中T的关系就应该能够得到确切的结果

鱼音rao梁 发表于 2015-11-28 18:12

华电机械 发表于 2014-12-30 22:20
看着像单周期,为何映射图上是两点?

Poincare实用平面去截相图,对于周期1的解,映射图上一般有两个点。

鱼音rao梁 发表于 2015-11-28 18:15

figure(2)%Poincareplot 庞加莱映射
plot(y(end-10000:100:end,1),y(end-10000:100:end,2),'k.','markersize',6);

我可以说你这样画庞加莱映射是不对的,庞加莱映射是将原系统降一维表示出来,这个程序不对!

1713573225 发表于 2015-11-28 19:09

鱼音rao梁 发表于 2015-11-28 18:15
figure(2)%Poincareplot 庞加莱映射
plot(y(end-10000:100:end,1),y(end-10000:100:end,2),'k.','marker ...

你是怎么做的我看网上都是这样写的

鱼音rao梁 发表于 2015-11-28 20:27

1713573225 发表于 2015-11-28 19:09
你是怎么做的我看网上都是这样写的

% **************Poincare 映射图**************
%画Poincare截面
%在相空间中适当(要有利于观察系统的运动特征和变化,如截面不能与轨线相切,更不能包含轨线)选取一截面,在此截面上某一对共轭变量
% 如x1和x.1取固定值,称此截面为Poincare截面,相空间的连续轨迹与Poincare截面的交点成为截点。通过观察Poincare截面上截点的情况可以判断
%是否发生混沌:当Poincare截面上有且只有一个不动点或少数离散点时,运动是周期的;当Poincare截面上是一封闭曲线时,运动是准周期的;
% 当Poincare截面上是一些成片的具有分形结构的密集点时,运动便是混沌。
% Poincare_section[绘制庞加莱截面图]
clc;
clear all;
options=odeset('RelTol',1e-6,'AbsTol',);
t0=;
x0=;
=ode45('(求解方程)',t0,x0,options);
z0=30; % 选择z0这个截面
j=0;
X1=[];X2=[];
for k=1:length(st(:,1))-1
d1=st(k,1)-z0;
d2=st(k+1,1)-z0;

if abs(d1)<1e-5
j=j+1;
X1(j)=st(k,2);   % 这两个点不一定在Poincare平面上
X2(j)=st(k,3);
continue;
end

if sign(d1)*sign(d2)<0
j=j+1;
Q=polyfit(,,1);
X1(j)=polyval(Q,z0);
Q=polyfit(,,1);
X2(j)=polyval(Q,z0);
end
end
axes1 = axes('Parent',figure,'Position',,...
    'PlotBoxAspectRatio',,...
    'LineWidth',1.6,...
    'FontSize',44,...
    'FontName','Times New Roman');
box(axes1,'on');
hold(axes1,'all');
plot(X1,X2,'.','Color',);
xlabel('iq','fontsize',14);
ylabel('w','fontsize',14);
% 作此截面图时,其本质是当非线性系统进行角动量作用变换后,可以在环面上讨论系统的性质。
% 环面是指类似轮胎内胎的一个东西,而轨线在环面上运动,这种运动是复杂的,
% 包含绕环中心的运动(公转)和绕截面圆心的运动(类似自转);如果这些有两种频率,
% 分别为a ,b,当a/b为有理数时,它们最终会首尾结合到一起,从而形成一个圈。
% 因此,截面上只会留下一个点,这个点是轨线穿越截面时留下的;当两种频率之比(旋转数)为无理数时,
% 两轨线永不相交,这时截面上留下一个圆的痕迹,所以所拟周期的Poincare截面图是一个圆。

1713573225 发表于 2015-11-29 10:08

鱼音rao梁 发表于 2015-11-28 20:27
% **************Poincare 映射图**************
%画Poincare截面
%在相空间中适当(要有利于观察系统 ...

这个没法用我要画的是转速----位移的这个横坐标X1 纵坐标X2 不知道怎么改

Vickyvictoria 发表于 2015-12-2 14:53

鱼音rao梁 发表于 2015-11-28 18:15
figure(2)%Poincareplot 庞加莱映射
plot(y(end-10000:100:end,1),y(end-10000:100:end,2),'k.','marker ...

你这种说法太武断了,对于非自治系统而言,这是频闪法
也是常采用的一种方法之一

Vickyvictoria 发表于 2015-12-2 14:55

1713573225 发表于 2015-11-29 10:08
这个没法用我要画的是转速----位移的这个横坐标X1 纵坐标X2 不知道怎么改

庞加莱图怎么可能是转速-位移的关系图呢?
它是两个相图坐标所形成的图形
他这种庞加莱界面法你也可以参考
http://forum.vibunion.com/thread-60104-1-1.html

鱼音rao梁 发表于 2015-12-2 17:41

Vickyvictoria 发表于 2015-12-2 14:53 static/image/common/back.gif
你这种说法太武断了,对于非自治系统而言,这是频闪法
也是常采用的一种方法之一

你看看楼主的程序,这样的程序画庞加莱映射仅仅是针对特定的周期轨迹,而且这样的画法不精确。对于拟周期甚至混沌相图,是不可能 画出庞加莱映射 来的!

Vickyvictoria 发表于 2015-12-16 09:51

鱼音rao梁 发表于 2015-12-2 17:41
你看看楼主的程序,这样的程序画庞加莱映射仅仅是针对特定的周期轨迹,而且这样的画法不精确。对于拟周期 ...

闪频法确实有很大的局限性,我只是想说明这种方法是可行的
至于楼主用的对不对,那是另外一个问题
页: [1] 2
查看完整版本: 庞加莱影视图、相图、时程图的关系。大家看看这个图对吗