为何无法得到 lorenz 的分岔图
本帖最后由 ChaChing 于 2010-8-31 00:56 编辑我用论坛的程序
clear all; global r
t0=;%积分时间
y0=;
%bifurcation
for r=1:0.05:30 %r的变化精度
=ode45('Lorenz',t0,y0);
=getmax(y);
plot(r,Xmax,'b','markersize',1); hold on
clear Xmax
end
xlabel('r'); ylabel('Xmax')
子程序1:
function dy = Lorenz(t,y)
global r
dy=zeros(3,1); dy(1)=-10*(y(1)-y(2));
dy(2)=-y(1)*y(3)+r*y(1)-y(2); dy(3)=y(1)*y(2)-8*y(3)/3;
子程序2
function = getmax(y)
a=length(y); j=1;
//for i=(a-1)/2:a
b=(y(i,1)-y(i-2,1))/2; c=(y(i,1)+y(i-2,1))/2-y(i-1,1);
if y(i-2,1)<=y(i-1,1)&y(i-1,1)>=y(i,1)&c==0
Xmax(j)=y(i-1,1); j=j+1;
elseif y(i-2,1)<=y(i-1,1)&y(i-1,1)>=y(i,1)
Xmax(j)=y(i-1,1)-b^2/(4*c); j=j+1;
end
end
怎么得不到分岔图,都是直线,请各位好心的高手具体写一下lorenz的分岔图.
[ 本帖最后由 eight 于 2008-4-1 20:14 编辑 ]
回复 xiangwei27 的帖子
这个程序好像缺少一个end,具体得到什么图像我还没运行出来呢,比较慢
页:
[1]