La ecuacin logstica es una de los ejemplos ms ricos de la matemtica. Est
definida por la iteracin
donde el valor inicial x 0 es 0 s x 0 s 1 y el parmetro 0 s r s 4. En otras palabras, dado un valor inicial 0 s x 0 s 1, generamos un nuevo valor x 1 a partir de la relacin x 1 =rx 0 (1x 0 ) y luego repetimos el proceso para generar x 2 a partir de x 1 , y as sucesivamente. Esta recurrencia viene a ser iterar la ecuacin x=f(x), donde f(x)=rx(1-x). Justamente se tiene que f : [0,1] --->|0,1|cuando el parmetro es 0 s r s 4. Los punto fijos de x=f(x) son las soluciones de la ecuacin x= r x (1-x) Resolvindola, aparecen los dos puntos fijos p 1 =0 y p 2 =(r-1)/r. Con una calculadora, o con matlab, podemos calcular fcilmente los trminos de esta iteracin. Por ejemplo, si hacemos sucesivamente con matlab
>>r=0.5; >> x=0.8; >> x=r*x*(1-x) >> x=r*x*(1-x) .... irn apareciendo los trminos correspondientes al parmetro r=0.5 empezando la iteracin en x 0 =0.8. Se observa que para este r=0.5, la rbita tiende a 0, cualquiera que sea el x 0 . Cuando r=0.7 ocurre lo mismo. Pero para r=1.5 los valores x n se acercan a 1/3. Cuando r=2, se acercan ahora a 0.5. Quizs sorprendentemente, a partir de r>3, aparece una bifurcacin, ya que por ejemplo, con r=3.2 los sucesivos trminos x n van oscilando entre 0.5130456... , 0.799456... Al aumentar r, cada uno de estos lmites se bifurca a su vez. As por ejemplo para r=3.5 aparece un ciclo de periodo 4 dado por 0.38282.., 0.82694..., 0.50088..., y 0.87500.. . Para r=3.55, las rbitas forman ahora un ciclo de periodo 8. Pero, si seguimos aumentando r, los trminos van tomando valores uno tras otro sin ningn esquema aparente, es el caos. A veces aparece un cierto orden, por ejemplo el parmetro r=3.835 da ahora periodo 3. Pero se van alternando incomprensiblemente orden y caos. En la tabla siguiente hacemos un pequeo programa de matlab que obtiene como resultado la figura de la derecha. En abscisas colocamos los valores de r, mientras que en ordenadas colocamos los puntos x n que aparecen en la sucesin una vez que se ha estabilizado, no colocando en la grfica los 100 primeros trminos. En este diagrama, llamado de Feigenbaum, se observa que de manera conjunta todo el proceso. Para 0<r<3 los iterados se acercan a un valor lmite, tal como esperbamos. Luego empiezan las bifurcaciones y el caos, junto con ciertas ventanas de intervalos con periodicidad.
function x=feigenbaum(x0,mu, N0,N) %ejemplo: feigenbaum(0.2,[1:0.05:4],100,2 00); %x0=0.2; valor inicial %mu=1:0.1:4; parmetro de f(x)=mu*x*(1-x) %N0=100; N=200; M=length(mu); x=zeros(N+1,M); for m=1:M x(1,m)=logmap(x0,mu(m),N0 ); for n=1:N x(n+1,m)=mu(m)*x(n,m)*(1 -x(n,m)); end end plot(mu,x,'m','markersize',3); title('Biburcacion de Feigenbaum'); xlabel('mu'); ylabel('x(n)'); function x=logmap(x0,mu,N) if N==0 x=mu*x0*(1-x0); else aux=logmap(x0,mu,N-1); x=mu*aux*(1-aux); end
Qu est sucediendo en realidad? Veamos, sabemos que si o es un punto fijo de x=g(x), entonces x n =g(x n ) converge hacia alpha cuando es |g'(o)|<1, ya que por el Teorema del Valor Medio x n+1 o =g(x n )-g(o) ~ g'(o) (x n o) En nuestro caso, para el segundo punto fijo de f(x)=r x(1-x),
sabemos que la sucesin se acercar a p 2 , a partir de un cierto valor inicial, siempre que sea |f ' ( p 2 )| < 1. Para qu valores de r se cumple esta condicin y por tanto obtenemos la convergencia?. Al ser f(x)=rx(1-x)=rx-rx 2 , se tiene f '(x)=r-2rx Luego f ' ( p 2 )=r-2r(r-1)/r=-r+2, siendo |f ' ( p 2 )| < 1 justo cuando |-r+2| < 1, esto es 1<r<3 que es lo observado anteriormente.
Para el estudio de estas iteraciones es conveniente representarlas en un grfico. Si la ecuacin a iterar es x=f(x), empezamos con un x 0
cualquiera sobre el eje de abscisas, su imagen x 1 =f(x 0 ) estar sobre la curva y=f(x). Debemos colocar ahora x 1 sobre el eje de las x para evaluar ahora x 2 =f(x 1 ). Para ello trazamos una horizontal desde f(x 1 ) hasta tocar la diagonal y=x, este punto de corte tendr justamente como abscisa x 1 , con lo que vamos otra vez sobre la grfica y=f(x) para evaluar f(x 1 ), y as sucesivamente. Si hay convergencia, la poligonal obtenida se acercar al punto de corte de y=f(x) con y=x.
Con parmetro r=3.3, iteramos a partir de x 0 =0.1 . Vemos que aunque al principio la lnea de iteracin se acerca al punto fijo p 2 , al ser este inestable (valor absoluto de la derivada mayor que uno), las lneas se alejan del punto fijo, pero se acumulan cerca de dos valores, alternativamente.
Explicacin de periodo doble de la grfica de la iteracin de la izquierda. En realidad los puntos de periodo dos son puntos fijos de g(x)=f(f(x)). Tal como se ve en la figura estos punto son donde la grfica de g(x) corta y=x. Los puntos de periodo doble aparecen cuando g(x)=x para g(x)=f(f(x)). Al ser f(x)=kx(1-x) resulta
Luego la ecuacin g(x)=x da lugar, despues de simplificar, a la ecuacin de cuarto orden
Ecuacin que parece complicada, pero como sabemos que los puntos fijos de la iteracin f(x)=x son tambin puntos fijos de esta ltima, resulta que x=0, x=(k-1)/k son races de esta ecuacin. La solucin x=0 nos permite simplificar, dividiendo por x, a una de tercer orden
y dividiendo esta ltima por x-(r-1)/r resulta
Dividiendo por - r 3
ecuacin cuadrtica cuyas soluciones son
Que son los puntos de periodo doble en funcin del parmetro r. Obsrvese que el integrando en las expresiones es positivo justo cuando r>3. En los diagramas de abajo se estudia el periodo triple cuando r=3.835. En la figura de la izquierda se tiene la grfica de g(x)=f 3 (x) cuando r=3.8. En la figura de la derecha se ha aumentado r hasta r=3.835, la diagonal y=x toca ahora la grfica de g(x) en seis puntos, tres estables (en azul) y tres inestables (en negro).
x = [ ] ; x ( 1 ) = 0.2; i=1 ; while i < 100 x ( i + 1 ) = 4 * x ( i ) * ( 1 - x ( i ) ) ; i = i + 1 ; plot (x,i); end x = [0 1] ; x ( 1 ) = 0.2; i=1 ;r=1.5; while i < 100 x ( i + 1 ) =x(i) + r * x ( i ) * ( 1 - x ( i ) ) ; i = i + 1 ; end plot (x)