声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 14365|回复: 94

[稳定性与分岔] 下面的分岔图是否正确

 关闭 [复制链接]
发表于 2007-8-12 02:59 | 显示全部楼层 |阅读模式

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

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

x
下面是一个微分方程的分岔图,但不到对不对,现把程序和相关的图提供如下,望大家能帮忙回答!谢谢!如果不对,应该如何来编写该方程的分岔程序,谢谢!分岔参数为w
按理论上来说在w=1.2的时候应该要出现混沌状态,而在w=0.9左右的时候应该是周期运动,但是图中并没有出现这些现象,希望大家帮忙解决下,谢谢了!还有最后面"分岔图"是人家论文里面提到的图形,按理说如果是本程序正确的话,出来的图形应该和这个"分岔图"是类似的!谢谢!
function ff=www(t,x,flag,w,b)
ff=zeros(4,1);
g=9800;
E=0.12;
f=0.12;
a=0.5;
b=10.8;
q=0.16;
f0=25;
u=0.136/q;
%w=2.0;
e=sqrt(x(1)^2+x(2)^2);
G=g/((2*pi*f0)^2*q);
dx(1)=x(3);
dx(2)=x(4);
dx(3)=-2*E*x(3)-x(1)-a*(x(1)^2+x(2)^2)*x(1)-b*(1-1/e)*(x(1)-f*x(2))+u*w^2*cos(w*t);
dx(4)=-2*E*x(4)-x(2)-a*(x(1)^2+x(2)^2)*x(2)-b*(1-1/e)*(f*x(1)+x(2))+u*w^2*sin(w*t)-G;
ff=[dx(1);dx(2);dx(3);dx(4)]


w=0.5:0.01:2.0;
options = odeset('RelTol',1e-6,'AbsTol',[1e-6 1e-6 1e-6 1e-6]);
for  n=1:length(w);
T=2*pi;
ts=[0:T/100:100*T];
x0=[0.001 0 0.001 0];
[t,X]=ode45('www',ts,x0,options,w(n));
figure(1)
plot(w(n),X(5000:100:10000,1),'.');
xlabel('\fontsize{18}\omega');
ylabel('\fontsize{18}x');grid
hold on
figure(2)
plot(w(n)*30/pi,X(5000:100:10000,2),'.');
xlabel('\fontsize{18}\omega');
ylabel('\fontsize{18}y');grid
hold on
end

[ 本帖最后由 chuandong418 于 2007-8-12 03:10 编辑 ]
未命名1.JPG
未命名2.JPG
分岔图.JPG
回复
分享到:

使用道具 举报

发表于 2007-8-12 08:11 | 显示全部楼层
单看程序没什么问题,你的参数取值正确吗
发表于 2007-8-12 08:46 | 显示全部楼层
你的第二个程序,里面也没有取分岔点的算法啊?没有判断究竟是不是分岔点!

从你的程序里面看,就是单纯的对一个参数,解一下方程,然后直接取点,这样是有问题的啊,得不到分岔图的!

你先试试咕噜噜在她的一个帖子里面用到的最大值法吧!
发表于 2007-8-12 08:57 | 显示全部楼层
这不就是频闪法做分岔图吗  应该对的啊   后两个图也做的挺好啊

[ 本帖最后由 mjhzhjg 于 2007-8-12 16:30 编辑 ]
发表于 2007-8-12 08:59 | 显示全部楼层
频闪法做分岔图?呵呵,以前没见过这样的!
发表于 2007-8-12 09:09 | 显示全部楼层

回复 #5 octopussheng 的帖子

他实际上就是画相图,把相图在位移和速度轴上投影,根据相图的情况来判断分叉
发表于 2007-8-12 09:15 | 显示全部楼层
for  n=1:length(w);
T=2*pi/w(n);
ts=[0:T/100:100*T];
x0=[0.001 0 0.001 0];
[t,X]=ode45('www',ts,x0,options,w(n));
figure(1)
plot(w(n),X(5000:100:10000,1),'.');
xlabel('\fontsize{18}\omega');
ylabel('\fontsize{18}x');
hold on
end
grid
发表于 2007-8-12 09:16 | 显示全部楼层
频闪要注意你的周期采样点是变化的,因为频率在改变,改好就不会错了

[ 本帖最后由 mjhzhjg 于 2007-8-12 16:42 编辑 ]
发表于 2007-8-12 09:17 | 显示全部楼层
还有以速度或者位移做分岔图应该没有太大的区别,所以只要做一个就可以了
 楼主| 发表于 2007-8-12 22:22 | 显示全部楼层
上次看了下分岔图的意义是说以横轴为分岔参数,纵坐标为poincare,但是一直不知道这个纵轴的poincare的数值怎么取在程序中,还望大家指点!谢谢了
发表于 2007-8-13 08:44 | 显示全部楼层
如果你画成平面图poincare的数值在这里实际上就是位移或者速度的数值,如果是三维图,三个坐标分别为速度、位移、参变量
发表于 2007-8-13 09:14 | 显示全部楼层

回复 #10 chuandong418 的帖子

#7 楼不是给出来了吗?

纵坐标:1、速度、位移应该差别不是很大;
            2、去掉瞬态部分,如泥程序中X(5000:100:10000,1),5000就是取去掉瞬态的;
            3、注意采样频率的变化,在#7 给出了修改的,你试一下正确否!
 楼主| 发表于 2007-8-13 20:51 | 显示全部楼层
还有感觉这种方法来编写分岔图程序是不是过于简单,看了其他人编写的分岔图程序都用了好几个循环,满复杂的,根据无水师兄的建议,我在看看,谢谢各位了!
发表于 2007-8-13 21:52 | 显示全部楼层

回复 #13 chuandong418 的帖子

你看到谁的有很多循环?
发表于 2007-8-14 08:39 | 显示全部楼层

回复 #14 无水1324 的帖子

她说的应该不是循环之类的吧,循环肯定只有一个啊,因为是单参数的分岔
说的应该是if判断语句吧
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-12-20 07:13 , Processed in 0.072545 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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