wxl789 发表于 2008-4-25 21:18

原帖由 octopussheng 于 2008-4-25 19:26 发表 http://www.chinavib.com/forum/images/common/back.gif
错误提示是什么呀?

其实是没有明确的思路。。

原来那个平面是确定的,现在想让他动起来,然后再向一个平面上去投影。。

请帮忙看看,怎么和上边那个程序配套才能让它动起来呢?

给个明确的思路就行。。
谢谢!!!

zhailiangjun 发表于 2008-4-26 16:27

回复 15楼 的帖子

plot(x(7000:100:end,1),x(7000:100:end,2),'.')
无水大哥,这个选取截面点的时候就是直接把x(1)和x(2)点直接拿过来就行吗,有没有更精确点的方法吗?

wxl789 发表于 2008-4-26 17:29

回复 77楼 的帖子

你说的更精确点的方法是什么意思呢??

上边有设置精度的地方,不知道你说的是不是这个。。。

无水1324 发表于 2008-4-27 10:11

回复 77楼 的帖子

对,周期的选点,应该是非常精确了的

zhailiangjun 发表于 2008-4-27 10:35

回复 79楼 的帖子

不是,我说的不是这个意思。是这么一个情况,比如我选取的是X1=0截面,不可能那么精确发现X1=0的情况,当发现X1(j)*X1(j+1)<0时,就认为出现了X1=0的情况。这个时候x2,x3该怎么选呐。直接写x2(i),x3(i)吗

octopussheng 发表于 2008-4-27 10:49

回复 80楼 的帖子

首先要看你的系统了吧,如果是非自治的话,就按照周期取点,其实就是很精确的了
如果是自治的话,就需要取截面了
拿你的系统来说,x1,x2,x3,取x1=0这个平面,只要一个解点(如x10,x20,x30),满足了x10=0,那么就在图上画出x20和x30就可以了!

zhailiangjun 发表于 2008-4-27 16:40

回复 81楼 的帖子

嗯,但是用ode积分得到的时间序列中,并不是很容易那么精确的发现x10=0这样的点啊。我在做计算的时候就经常会遇到。我一般选取的点都不够精确,不知道有没有什么很好的方法改进。

无水1324 发表于 2008-4-27 17:03

回复 82楼 的帖子

这时候可以近似计算,
X1(j)*X1(j+1)<0时候,假设为直线段,根据步长就可以计算出一个直线段与平面x=0的交点,取这个交点作为Poincare点,但是你可以设置一个精度要求,不满足就继续分割求解,不知道我的意思你懂了没有

wxl789 发表于 2008-4-27 17:37

个人觉得只要用一个abs(x10-c)<=e(其中c是你的平面,e是你能允许的误差),然后输出你的x2,x3就可以了。。

请各路高手继续讨论。。。。。

期待中--------------------------------

octopussheng 发表于 2008-4-27 21:42

回复 84楼 的帖子

你的想法是正确的,呵呵!

无水1324 发表于 2008-4-27 22:13

回复 84楼 的帖子

直接用是会出问题的,仔细想一下就会明白其中的道理

wxl789 发表于 2008-4-28 08:36

回复 86楼 的帖子

仔细想过了,还是不明白。请无水指教。谢过!

zhailiangjun 发表于 2008-4-28 09:00

回复 83楼 的帖子

谢谢了,无水大哥。
还是不太明白,,有没有什么程序的例子贴上来看看啊?:lol

无水1324 发表于 2008-4-28 09:11

回复 88楼 的帖子

直接用于步长、你设置的那个e有关系,加入在那点步长太大,而e太小就会出现实际有交点,而计算不出来的结果,

wxl789 发表于 2008-4-28 11:20

原帖由 无水1324 于 2008-4-28 09:11 发表 http://www.chinavib.com/forum/images/common/back.gif
直接用于步长、你设置的那个e有关系,加入在那点步长太大,而e太小就会出现实际有交点,而计算不出来的结果,

有点明白无水的意思了。
这里是不是要加个条件:e>=h(h是步长,e是允许误差)

无水,你讲的是不是这个意思??
页: 1 2 3 4 5 [6] 7 8
查看完整版本: Poincare截面的截取讨论