急求:用matlab来画出Lorenz的关于参数r的分叉图程序
<STRONG>急求:用matlab来画出Lorenz的关于参数r的分叉图程序<BR>老板要求做出来,很着急<BR>谢谢各位大虾了</STRONG> <P>clear all<BR>global r<BR>t0=;%积分时间<BR>y0=;</P><P>%bifurcation<BR>for r=20:0.05:30 %r的变化精度<BR>=ode45('Lorenz',t0,y0);<BR>=getmax(y);</P>
<P>plot(r,Xmax,'b','markersize',1)<BR>hold on<BR>clear Xmax<BR>end<BR>xlabel('r')<BR>ylabel('Xmax')<BR><BR><BR>function = getmax(y)<BR>a=length(y);<BR>j=1;<BR>for i=(a-1)/2:a<BR> <BR> b=(y(i,1)-y(i-2,1))/2;<BR> c=(y(i,1)+y(i-2,1))/2-y(i-1,1);<BR> <BR> if y(i-2,1)<=y(i-1,1)&y(i-1,1)>=y(i,1)&c==0<BR> Xmax(j)=y(i-1,1);<BR> j=j+1;<BR> elseif y(i-2,1)<=y(i-1,1)&y(i-1,1)>=y(i,1)<BR> Xmax(j)=y(i-1,1)-b^2/(4*c);<BR> j=j+1;<BR> end<BR>end<BR><BR>function dy = Lorenz(t,y)<BR>global r<BR>dy=zeros(3,1);<BR>dy(1)=-10*(y(1)-y(2));<BR>dy(2)=-y(1)*y(3)+r*y(1)-y(2);<BR>dy(3)=y(1)*y(2)-8*y(3)/3;<BR><BR><BR>仅供参考!要想图漂亮一点,可以把积分时间和r的变化精度增大,但是计算时间会变长。</P> ??? Undefined function or variable 'getmax'.怎么回出现这样的错误那 getmax和 Lorenz是两个函数,要另外写两个M文件。 谢谢 二楼的朋友
页:
[1]