下面的分岔图是否正确
下面是一个微分方程的分岔图,但不到对不对,现把程序和相关的图提供如下,望大家能帮忙回答!谢谢!如果不对,应该如何来编写该方程的分岔程序,谢谢!分岔参数为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=
w=0.5:0.01:2.0;
options = odeset('RelTol',1e-6,'AbsTol',);
forn=1:length(w);
T=2*pi;
ts=;
x0=;
=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 编辑 ] 单看程序没什么问题,你的参数取值正确吗 你的第二个程序,里面也没有取分岔点的算法啊?没有判断究竟是不是分岔点!
从你的程序里面看,就是单纯的对一个参数,解一下方程,然后直接取点,这样是有问题的啊,得不到分岔图的!
你先试试咕噜噜在她的一个帖子里面用到的最大值法吧! 这不就是频闪法做分岔图吗应该对的啊 后两个图也做的挺好啊
[ 本帖最后由 mjhzhjg 于 2007-8-12 16:30 编辑 ] 频闪法做分岔图?呵呵,以前没见过这样的!
回复 #5 octopussheng 的帖子
他实际上就是画相图,把相图在位移和速度轴上投影,根据相图的情况来判断分叉 forn=1:length(w);T=2*pi/w(n);
ts=;
x0=;
=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 频闪要注意你的周期采样点是变化的,因为频率在改变,改好就不会错了
[ 本帖最后由 mjhzhjg 于 2007-8-12 16:42 编辑 ] 还有以速度或者位移做分岔图应该没有太大的区别,所以只要做一个就可以了 上次看了下分岔图的意义是说以横轴为分岔参数,纵坐标为poincare,但是一直不知道这个纵轴的poincare的数值怎么取在程序中,还望大家指点!谢谢了 如果你画成平面图poincare的数值在这里实际上就是位移或者速度的数值,如果是三维图,三个坐标分别为速度、位移、参变量
回复 #10 chuandong418 的帖子
#7 楼不是给出来了吗?纵坐标:1、速度、位移应该差别不是很大;
2、去掉瞬态部分,如泥程序中X(5000:100:10000,1),5000就是取去掉瞬态的;
3、注意采样频率的变化,在#7 给出了修改的,你试一下正确否! 还有感觉这种方法来编写分岔图程序是不是过于简单,看了其他人编写的分岔图程序都用了好几个循环,满复杂的,根据无水师兄的建议,我在看看,谢谢各位了!
回复 #13 chuandong418 的帖子
你看到谁的有很多循环?回复 #14 无水1324 的帖子
她说的应该不是循环之类的吧,循环肯定只有一个啊,因为是单参数的分岔说的应该是if判断语句吧