Logistic 混沌模型的Matlab实现

上一篇 / 下一篇  2007-10-30 10:45:51

!BX$K6Imn0% Author: Thomas Lee振动资讯iF+[r$H&a

1h(i8Q3Nf?"w7l0% E-mail: lixf1979@126.com % Corresponding: School of Mathematics, Physics and Software Engineering, Lanzhou Jiaotong University, Lanzhou 730070, China

w3kI-?+D$izQ0

%Progran Logistic bifurcation 1.m振动资讯{2{;z*ZV}

x=0.6;

Z8R*cm6S7?'Dz;v L0

u=2.6:0.001:4;振动资讯G+E1MeulmF3Lb

for j=1:300

Y:aDeV|;h0

    x=u.*(x-x.^2);

i7sY)\R]8z.o9o0

end振动资讯C'a"ng zP q*r iG

for i=1:200

a"A+vw`w'f ]j&Q&tN w0

    x=u.*(x-x.^2);

X"^.b~r!lrw ]T0

    %if i>=1900  

X SrM km0

    %plot(u,x,'k.','markersize',1);振动资讯w WP7jS$f/j#p0O

    hold on;

h2A[2?y Jj$}A0

    %end%振动资讯N(VV(k-~a p$]

end振动资讯)P^~1k$B X N/N

 

Is2CD~vN0

%Progran Logistic bifurcation 2.m振动资讯(IT.Ru|'Ix F

x=0.1;振动资讯,S.L$b%mLd MF'Vs

u=2.6:0.001:4;振动资讯fqZyK.OBy~

for j=1:300

fA|c,sF0

    x=u.*(x-x.^2);

k6k*G#I5@4D7kau0

end振动资讯3bFwD'N:I`C

for i=1:2000振动资讯Jr3P @4a$Q

    x=u.*(x-x.^2);振动资讯({1h(~{dR

  if i>=1900

x'_ q M2e%~Jb U"K0

    plot(u,x,'k.','markersize',1);

IX.WR*G/`0

    hold on;

${$XK@4r!^ J0

   end

+nh\}-h@/Pd0

end振动资讯7pV#gm9s3e

 振动资讯%X1W-i"zQ(D

 振动资讯9z K\P qC

%Progran Logistic Phasespace.m振动资讯2m(`pQ]*`

% solve and plot logistic map:振动资讯U%^7Y3S"X*T})v

% x(n+1)=r*x(n)*(1-x(n))

\Ps[Jo'A0

% number of steps:

-I3Rsrd-r+S V I T0

N=100;

hK4H;s1N2\0

% initial conditions:

L#OcY6a\#m*V&[0

x(1)=0.2;

?Ufsr J0

% parameter:振动资讯Gk5_7Fa.{*s-D

 % r=3.8;  % chaos振动资讯8ycg5G.P a[

% r=2.0;  % steady state振动资讯 Mq5qZz%M.~7{V9q,vZ

% r=3.2;   % period 2

c"R2FKylH~0

r=3.5;   % period 4?振动资讯(cB7^]:Sg

for n=1:N

&N'f&q n6i9D'^q0

  x(n+1)=r*x(n)*(1-x(n));振动资讯 J8eNmZ[/I

end

)`])e6A-D#vWq0

plot(x,'k')振动资讯J'v2F3[:G1So"`

title('logistic map')

Xg6d0^6u"r d0

xlabel('n')

T;x3l-ODzq(W0

ylabel('x(n)')振动资讯 v |Pk6bb0t?#{

figure振动资讯3@ ~lTl k1W4w

plot(x(2:N),x(1:N-1),'k.','markersize',5)

uGD6I8z T%S1I0

title('logistic map')

r#_!_Z{c0

xlabel('x(n+1)')

k(}$z(|{*r"rG3d+j,\"K0

ylabel('x(n)')

6ZJt`$r0

主要运行结果:振动资讯'cgkl%bmC*R_

%r=3.8:产生的是混沌图相振动资讯.x%lX&|&v

%r=2.0时产生的是稳定状态振动资讯q)YSKwu

%r=3.2时,产生的是二周期的振动资讯:e w8[$Nc

%r=3.5时,产生的是四周期的

6s$V;Z3AV3T!Ad-{(q2~0

 振动资讯r7| g8ON5Jn&^?

%Progran Logistic Lyapunov 1.m振动资讯,a(R;y4fny

%computes lyapunov exponent

w:}%^!q~li(v#D0

r = 4.0;振动资讯#O CVV\#R4w

%%%%% first converge to attractor振动资讯\k9HFL.v(D

x = rand;   %choose random initial data振动资讯-~G"[ W PW6? nl

for i=1:200;振动资讯4AjE+xW

   x = r*x*(1-x);     %apply logistic map振动资讯 I*]u-A:`1T

end;

ex$UO SA0

%%%%% find (1/n) Sum ln(f'(x_i))  - limit should be lyapunov exponent

$SL4BwxN0

sum = 0;

`\5u7Y8z6lE~4R|c0

for i=1:500;振动资讯Fsf"d*w)Sd$J

    x = r*x*(1-x);     %logistic map

(f+VIg C$_sD\0

    sum = sum + log(abs(r - 2*r*x));振动资讯7vlqD%\Y$EO

    sum/i;                                   %print out average振动资讯~!w$?9iO3X

    average(i) = sum/i;             %collect into vector for later plotting

!O.d[ M6B#F*Y0

end;

$X2R7Co|M|0

plot(average,'k');      %plots sucessive averages so a trend can be observed

Pui0|jg0

 

t:?9K'K;SW"S0

%Progran Logistic Lyapunov 2.m

B_0?*K+k3wh4^4y0

%computes lyapunov exponent

^0EPzJ#qy0

r =2.0:0.001: 4.0;

W&BgNb:[E0

%%%%% first converge to attractor振动资讯%c9o*jm{,n

x = 0.2;   %choose random initial data

'|"P*osnY^[fM L0

for i=1:200;

!HZ.J#}M7A];rF0

   x = r.*x.*(1-x);     %apply logistic map振动资讯yh:WMZ-n

end;振动资讯2lrLn@]O.ke

%%%%% find (1/n) Sum ln(f'(x_i))  - limit should be lyapunov exponent振动资讯'e"FbL7K2X+h

sum = 0;振动资讯B.??"tP'SH6RG@

for i=1:50000;

b+v?(sv k+W"W C*O0

    x = r.*x.*(1-x);     %logistic map振动资讯U N+J[]9E/s#\.eM

    sum = sum + log(abs(r - 2*r.*x));

E9G6}1t*@.R5F\0

    sum/i;                                   %print out average振动资讯 N'e$]JS;M

    average= sum/i;

Q6]3LyI0

    plot(r,average,'k');      %plots sucessive averages so a trend can be observed

3@(j(nJ"r0

%collect into vector for later plotting振动资讯I4M0l+z"j(Yg T~]

end;

'`(Yy0Q'[6a2D0

hold on

4l$EC.hR0

line(r,0)

(p-~ ?k5V Qq0

 振动资讯3W V6rxz4s2I

%Progran Logistic Cobweb 1.m

2{O RVA8q7b5}w:F0

function logistic_cobweb(r,N)

rX)d2l^ok0

% m-file to test iterative maps: implements cobweb construction, including

AXVWThgz0

% transients, for logistic map振动资讯9g7t-{-]4b%~

yy = 0:0.05:1; ff = r.*yy.*(1-yy);振动资讯Z"b*RB:uo f

figure(1) ; clf ; 振动资讯.EW4}3ty8K }2y

plot(yy,ff,'-',yy,yy,'--')

\(Dzv@ V0

hold on

,lk GUP ^ s P {0

x = 0.1;          % Initial value

-yA:O:{pO]L!O0

Xn = [];振动资讯8d E Fz"w:p'q

%r = 2;           % Bifurcation parameter

2hO'TaGnf m0

x1 = r*x*(1-x);振动资讯kZ6q$j7J$E _;t6\

Xn = [Xn x1];振动资讯;X$S)`$\"I/CN-yB#l

plot([x x],[0 x1],'r-',[x x1],[x1 x1],'r-')振动资讯 fUK$X;|[!?

x = x1;振动资讯 @ mA z:A,t R[-H4m-`d

for i = 2:N振动资讯F0Aj.j9G"t?2S-s

    x1 = r*x*(1-x);

7Y? RF*`)A)^0

    Xn = [Xn x1];

0hJJF*e%zRT0

    plot([x x],[x x1],'r-',[x x1],[x1 x1],'r-')振动资讯?,I UX*Rm

    x = x1;振动资讯PPJ)Hc t{

end

A)vn7o$JS ~0

hold off振动资讯Cu"_mKy&Yz

〉〉logistic_cobweb(4,200)振动资讯K9g3x{Z

 振动资讯u7~u]l/h*V

%Progran Logistic Cobweb 2.m振动资讯I2r6|!S"ty4~d*W_/^j B

%%  Renormalisation of logistic map f振动资讯"M9_-YZu&y3` dY-C

r=input('value of r:  ');振动资讯 n1`:P)gYglU

clf reset

Z;b;P\Dt0

%%  The left-hand plot shows f and f^2

#h)eg%oKs)Y[0

subplot(2,1,1)振动资讯"jYE4WY lsz

x0=0:0.025:1;

na%~j*OD0

%% y=f(x0) and z=f^2(x0)振动资讯q0w#V0A"Z:}:\Vg

y=r.*x0.*(1-x0);

)PKz/HkZ(J3r"t0

z=r.*y.*(1-y);振动资讯5AI)We^`B)G'z

%figure

+K:\q @f'v_2`0

plot(x0,y,'k')振动资讯D$M6S xjP

hold on

%d*e9C(C2s0

plot(x0,x0,'k')

A s%w&RPk0

plot(x0,z,'k', 'LineWidth', 2)

1z CM*ECP+^0

axis equal

%rj YsS3G0Q:@(x.`@S0

%% Now find where f^2(nxl)=1-(1/r)

vuoy4f[1o/M0

%% using the interval halving method振动资讯Y Z/n8i)B

nxl=1-(1/r);

9{9u#d M4\1uu8r0

g=inline('(r^2*x*(1-x)*(1-(r*x*(1-x))))-1+(1/r)','x','r');振动资讯0y y.n$Im:r

xl=1-(1/r)+0.00001; xr=1;

he*l.qWX0

d=1;

ieWJt2t4f0

while d>0.0001振动资讯pTD%Z ynO

   m=(xl+xr)/2;

?c-bT{0

   if g(xl,r)*g(m,r)<0

!w3hH!uIB0[0

      xr=m;

]"B)b7]?Y+|;b0

   else振动资讯7ByI5g(r i/? W/q

      xl=m;振动资讯NN;ce Y1J OM)z

   end

l'h)Ea:~.Or4C0

   d=(xr-xl);振动资讯5q@x1N Q D#X2_r%^

end

BU-s&_i~0

nxr=m;

"C0Udyr|0

%% Draw the little `invariant box'

0irLD1{zg,N\*d0

plot([nxr nxr],[nxr nxl],'k')振动资讯!D3R/tmq/~2d

plot([nxr nxl],[nxl nxl],'k')

$W{:YCS'Q$h"m-Z0

plot([nxl nxr],[nxr nxr],'k')振动资讯Bo)Y6P"q8Pn]W

plot([nxl nxl],[nxr nxl],'k')

+j+] Ir2_7j"C0

%xlim([0 1])振动资讯ob K8A4tS!i

%ylim([0 1])

SfLmP~vy0

%%  On the right-hand side draw an expanded version of little box振动资讯"\$uj9Hr Zof

subplot(2,1,2)

dI1Ep#c;n0

x2=linspace(nxl,nxr,100);

AyR7S4g#c }%z0

y2=r.*x2.*(1-x2); y2=r.*y2.*(1-y2);振动资讯BJr&@:G~B-[

plot(x2,y2,'k','LineWidth', 2);

2y]`F9z%Y2iI A \0

hold on

%d6w~+ta*A3v^\0

plot(x2,x2,'k');

1S#pX`X9aL&Yu0

axis equal

?M d'Eh1F[~0

%xlim([nxl nxr])振动资讯)lza8E!j-b9ej:WL)Z

%ylim([nxl nxr])振动资讯X n8PD8}1db6C

 振动资讯dv;n?p3O;z@


TAG:

liliangbiao的个人空间 引用 删除 liliangbiao   /   2008-01-15 21:49:27
原帖由lijh12于2008-01-08 15:05:12发表
不错,很不错

Thanks!
引用 删除 lijh12   /   2008-01-08 15:05:12
不错,很不错
liliangbiao的个人空间 引用 删除 liliangbiao   /   2007-11-02 16:43:35
You are welcome!
Any constructive comments, I would like!
shenyongjun的个人空间 引用 删除 shenyongjun   /   2007-11-01 12:29:21
错了,重来,应该是5分
shenyongjun的个人空间 引用 删除 shenyongjun   /   2007-11-01 12:28:44
1
长弓摄月 引用 删除 zhlong   /   2007-10-30 14:14:38
5
 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

关于作者