庞加莱截面程序问题
用下边的程序做庞加莱截面,为什么频率为20时候,得出的截面正确,选用频率为35时候就不是一个点了。这是什么原因??close all
t=0:0.001:5;
sig=5*sin(2*pi*20*t);
y=5*cos(2*pi*20*t);
x=zeros(length(t),3);
x(:,1)=y';x(:,2)=sig';x(:,3)=t';
T=1/20;T0=T*2/3; % 选择截面
kmax=round(max(x(:,3))/T);
X1=zeros(kmax);X2=zeros(kmax);
for k=1:kmax;
d=x(:,3)-(k-1)*T-T0;
=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(,,1);
X1(k)=polyval(Q,(k-1)*T-T0);
Q=polyfit(,,1);
X2(k)=polyval(Q,(k-1)*T-T0);
end
end
figure;
plot(X1,X2,'.');
grid on
xlabel('x','fontsize',14);
ylabel('dx/dt','fontsize',14); 说明你的系统在35的时候就是单周期运动了
回复 楼主 的帖子
不同参数,系统的响应可能有差别的回复 2楼 的帖子
这个肯定是单周期了,就只是一个正弦函数而已。sig=5*sin(2*pi*20*t);
y=5*cos(2*pi*20*t);
x=zeros(length(t),3);
x(:,1)=y';x(:,2)=sig';x(:,3)=t';
T=1/20;T0=T*2/3; % 选择截面
这样的时候截面就是一个点,可是当正弦的频率变成下边的时候就不是一个点了。
sig=5*sin(2*pi*35*t);
y=5*cos(2*pi*35*t);
x=zeros(length(t),3);
x(:,1)=y';x(:,2)=sig';x(:,3)=t';
T=1/35;T0=T*2/3; % 选择截面
这是为什么呢 ? 你改变了激励参数,出现这种情况也是可能的啊
建议你在15~40之间做一下分岔图看看!
页:
[1]