Poincare映射(Poincare截面)定义
参考:王树禾:微分方程模型与混沌
陈予恕:非线性动力学中的现代分析方法
肖达川:线性与非线性电路
高金锋:非线性电路与混沌
温邦椿:非线性振动理论中的解析方法及工程应用
吕金虎:混沌时间序列分析及其应用
刘延柱:非线性振动
个人认为下面定义是比较准确的:
庞加莱于1881年引入的首次返回映射,是研究闭轨迹即周期运动的稳定性及其分岔的几何方法。它可以将微分方程描述的非线性系统转化为用差分方程描述的映射。 自治系统Poincare映射的计算方法
以Chen系统为例,根据前面给出的庞加莱映射定义,计算其映射。(非个人原创。)
function dx=Chen(t,x);
% Chen方程[不显含时间t的自治系统]
% dx=Chen(t,[x;y;z;a;b;c])
% t-时间变了,x,y,z-为自变量,a,b,c-为如下方程所示的参数
% eg: dx=Chen(0,[1;1;1;35;3;28])
%
% 方程如下:
% dx/dt=a*(y-x)
% dy/dt=(c-a)*x+c*y-x*z
% dz/dt=x*y-b*z
%
% Example(函数图象):
% [T,Y]=ode45('Chen',[0,50],[1;1;1;35;3;28]);
% plot3(Y(:,1),Y(:,2),Y(:,3));
%
dx(1,1)=x(4)*(x(2)-x(1));
dx(2,1)=(x(6)-x(4))*x(1)+x(6)*x(2)-x(1)*x(3);
dx(3,1)=x(1)*x(2)-x(5)*x(3);
dx(4,1)=0;
dx(5,1)=0;
dx(6,1)=0;
function CHEN_Poincare_section_X
Z=[];
[T,Y]=ode45('Chen',[0,5000],[1;1;1;35;3;28]);
for k=1:length(Y)
if abs(Y(k,1))<1e-2
Z=[Z Y(k,2)+i*Y(k,3)];
end
end
plot(Z,'.','markersize',2)
title('Chen 系统的 Poincare 映像 x=0')
xlabel('y'),ylabel('z')
非自治系统Poincare映射的计算方法
以Duffing系统为例,根据前面给出的庞加莱映射定义,计算其映射(非原创)
function dx=duffing(t,X)
global F wd;
r=0.25;
x=X(1);
y=X(2);
psi=X(3);
dx=zeros(3,1);
dx(1)=y;
dx(2)=-r*y+1/2*x*(1-x^2)+F*sin(psi);
dx(3)=wd;
function duffing_poincare
global F wd;
wd=1;
F=0.28;
x0=[0;0.0001;0];
tspan=[0:0.1*2*pi:100000*pi];
[t,y]=ode45('duffing',tspan,x0);
m=[];
n=[];
for i=1000:50000
m(i,1)=y(10*i,1);
n(i,1)=y(10*i,2);
end
plot(m,n,'k.','markersize',2);
|