声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 5322|回复: 18

[非线性振动] 帮帮忙!poincare截面怎么画

[复制链接]
发表于 2006-6-12 15:00 | 显示全部楼层 |阅读模式

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

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

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

  我有一个作业需要画
dx/dt=2sinx(t)+cosy(t)
dy/dt=sinx(t)+2cosz(t)
dz/dt=siny(t)+cosx(t)
的poincare截面
我不知道怎么画
请哪位高人指导一下小弟?
我如何不在相空间上怎么画这个图 呢?
谢谢了!
回复
分享到:

使用道具 举报

发表于 2006-6-12 16:51 | 显示全部楼层
 楼主| 发表于 2006-6-14 16:33 | 显示全部楼层

回复:(loneboard)帮帮忙!poincare截面怎么画

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

能否说得仔细些呢?我看了一下,但是没有我想要的信息!谢谢了!
发表于 2006-7-7 23:06 | 显示全部楼层
每积分一个周期取一个状态点,画出来就是

评分

1

查看全部评分

发表于 2006-7-8 08:38 | 显示全部楼层
你先要用数值积分将x y z dx dy dz解出来啊。
选一个变化的参数,哦?你的这个方程没有其他可以变化的参数。
那你直接一个周期取一次x dx,就可以绘制出截面图。
对y dy z dz可以同样处理。

不在相空间怎么画?我不知道。

评分

1

查看全部评分

发表于 2006-7-14 16:47 | 显示全部楼层
同意楼上,选择一合适的数值积分算法,求得稳定解的n个周期的解,每周期固定位置取一点的x,da/dt.画出这取得的n个点即可。其余类似处理
发表于 2006-7-16 18:45 | 显示全部楼层
基本同意楼上所说的,你要选一个超平面作为旁卡莱截面,在每个周期中某一条件下取点,比如x+y =5等,或满足一定关系时,取此时的点即可画出。
发表于 2006-8-26 02:23 | 显示全部楼层
这个方程是不是给的有问题?
发表于 2006-8-27 09:25 | 显示全部楼层
A1 =[  -0.0203743249659;   0.26158763436375;  -0.022284395856;  -0.2014178741564;  -0.00068457794783;
       -0.00050684379605;   0.28353447917191;  -0.72737657128988;   0.00021731980456;   0.00006894057121;
         0.00032983223188;   0.00023902584210;  -0.10191507307456;  -0.71206352583494;  -0.00001185524968;
      -0.00000248878839;  -0.00001247184548;  -0.00000725465232];
   
A1 =[  -0.0203743249659;   0.26158763436375; -0.022284395856;  -0.2014178741564;  -0.20068457794783;
     -0.00050684379605;   0.28353447917191;  -0.72737657128988;   0.00021731980456;   0.00006894057121;
   0.00032983223188;   0.00023902584210;  -0.10191507307456;  -0.71206352583494;  -0.00001185524968;
     -0.00000248878839;  -0.00001247184548;  -0.00000725465232];
x1= A1(1)*cos(tt)+A1(2)*sin(tt)+A1(3)*cos(2*tt)+A1(4)*sin(2*tt)+A1(5)*cos(3*tt)+A1(6)*sin(3*tt);
dx1= -A1(1)*sin(tt)+A1(2)*cos(tt)-2*A1(3)*sin(2*tt)+2*A1(4)*cos(2*tt)-3*A1(5)*sin(3*tt)+3*A1(6)*cos(3*tt) ;

x2=A1(7)*cos(tt)+A1(8)*sin(tt)+A1(9)*cos(2*tt)+A1(10)*sin(2*tt)+A1(11)*cos(3*tt)+A1(12)*sin(3*tt);
dx2=-A1(7)*sin(tt)+A1(8)*cos(tt)-2*A1(9)*sin(2*tt)+2*A1(10)*cos(2*tt)-3*A1(11)*sin(3*tt)+3*A1(12)*cos(3*tt);

x3=A1(13)*cos(tt)+A1(14)*sin(tt)+A1(15)*cos(2*tt)+A1(16)*sin(2*tt)+A1(17)*cos(3*tt)+A1(18)*sin(3*tt);
dx3=-A1(13)*sin(tt)+A1(14)*cos(tt)-2*A1(15)*sin(2*tt)+2*A1(16)*cos(2*tt)-3*A1(17)*sin(3*tt)+3*A1(18)*cos(3*tt);

我已解出x1,x2,x3及其导数值,怎么用上面的方法画出来的poincare图都是一样的点数呢?即A1的值变了,相图明显是混沌的了,poincare图还是和线性时一样的点数。
发表于 2006-9-13 18:42 | 显示全部楼层
我也不是很理解!
发表于 2006-9-14 00:30 | 显示全部楼层
你给的这个方程不用计算很显然就是周期性函数,其庞加莱映射当然是1个点了

不知道你的相图怎么会是浑沌?

评分

1

查看全部评分

发表于 2006-9-14 08:49 | 显示全部楼层
相图是不重合的缠绕曲线。
发表于 2006-9-14 11:39 | 显示全部楼层
原帖由 siyanger 于 2006-9-14 08:49 发表
相图是不重合的缠绕曲线。


程序,程序;
代码,代码。
发表于 2006-9-14 13:28 | 显示全部楼层
原帖由 gghhjj 于 2006-8-25 13:23 发表
这个方程是不是给的有问题?


是不是ABC流的方程?好像有问题,第一个方程应该是“sinz(t)”不是“sinx(t)”

ABC流的方程应该是

dx/dt=A*sinz(t)+C*cosy(t)
dy/dt=B*sinx(t)+A*cosz(t)
dz/dt=C*siny(t)+B*cosx(t)
发表于 2006-9-15 01:04 | 显示全部楼层
坐相图的时候把步长取小点,大的时候出现你说的现象是由于计算误差造成的

根据你的方程做出来的相图如下
1.GIF

评分

2

查看全部评分

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-5-6 19:57 , Processed in 0.071573 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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