非自治系统的庞加莱及分岔
关于庞加莱、分岔的算法及程序论坛上有很多疑问,对于数值算法的程序,关于庞加莱各位前辈提供了截面法、频闪法等,分岔又有‘最大值法’、‘庞加莱截面法’、‘频闪法法’等,看过一些讨论这些方法各有优劣,对于非自治系统,那种比较精确?我用频闪法做非自治系统的庞加莱映射时,很难得到周期解得庞加莱图,往往出来的都是类似混沌的一些点,而不是周期数的点
分岔请大家帮忙分析一下,给出参数为0.2的相图和庞加莱图
回复 楼主 ypp207 的帖子
楼主的庞加莱截面图去掉瞬态了吗?从你的相图上看,我感觉应该是1个点才对回复 沙发 hsfy919 的帖子
已去掉瞬态,选用频闪法绘图,一直得不到周期解情况下的庞加莱图回复 板凳 ypp207 的帖子
你的庞加莱截面和相图就对不上啊,庞加莱截面显示,在横轴约等于(1.031,0.055)时能截到点,但你的相图并没有取到这个点,不妨把程序贴上了,也许大家能给你分析分析哈 微分方程function df=jianxi(t,x,flag,fm,fa,c,e,w,b)
fx=fenduan(x,b);
df=;
function fx=fenduan(x,b)
if x(1)>b
fx=x(1)-b;
elseif x(1)<-b
fx=x(1)+b;
else fx=0;
end
poincare程序
clear;
clc;
close all;
fm=0.05;fa=0.1;c=0.02;w=1;e=0.1;b=0;
tt=2*pi/w;
=ode45('jianxi',,,[],fm,fa,c,e,w,b);
plot(x(9000:100:end,1),x(9000:100:end,2),'k.','markersize',10); 瞬态去除的还是不够多,另外tt/100这个步长是不是变小一点 tt/500 虽然计算时间长点,但是应该会比较好的
回复 6楼 无水1324 的帖子
同意无水的看法,把步长缩小到tt/1000 ,再消除足够的瞬态就好了 你的程序并没有说明哪个是变量我根据你给的程序,我做的图如下
从频谱图中能够看出,存在倍频分量 庞加莱截面显示为二周期,右边的一些点集放大后可以看到在精度允许的范围内可以看成一点 抱歉,频谱图太大,好像不能上传,但能很清楚的看到倍频的存在 呵呵,,谢谢各位的指点,我是一下
回复 9楼 hsfy919 的帖子
我现在消去前100个周期的瞬态(这个是不是除去的太多了),步长取小,得到的单周期庞加来也不是一个点(是不是存在倍频分量的原因),可以看出你的图在0.184左右是不是还有一个点。。频闪做的分岔和poincare一致(取点,步长)比较好点把。。还有最近看议论文,发现相图和poincare坐标都对不上。:@L
回复 12楼 ypp207 的帖子
我不知道你看的什么书,关于相图和庞加莱截面的问题,我求证过胡海岩老师,他说庞加莱截面确实是相图上的点,你看的文章是不是画的轨迹图啊回复 12楼 ypp207 的帖子
另外你的系统的庞加莱截面就是两个点啊,在我给你的图上,其横坐标0.1084和0.10865 呵呵,再次感谢各位,关于非自治系统用频闪法做poincare映射是没问题的,关键是要找到系统的固有频率,而我这个系统,比如齿轮系统,系统周期没有找到,我选用的只是外激励的频率,它和齿轮的固有频率耦合,这样就不好确定他的周期,这样选周期是有问题的。这是向老师求证的。不知各位有什么想法,无水师兄说一下吧
页:
[1]
2