LOS ATRACTORES EXTRAÑOS
Autor: Diego Alonso Tabares
[email protected]
E.T.S.I. Aeronáuticos, Universidad Politécnica de Madrid
Para la asignatura de libre elección: Fractales en la red
Mayo 2002
Aquí encontraréis los atractores extraños (también se les llama caóticos) más conocidos y una breve descripción de cada uno de ellos. Esta página está hecha con MAPLE 7 así que si os la bajáis podréis cambiar los parámetros, las iteraciones (mientras lo genera tarda su tiempo), jugar y mover las animaciones en 3D en tiempo real.... Si tenéis alguna sugerencia, duda, corrección o lo que sea escribidme al correo de arriba. Espero que os guste.
ATRACTOR DE LORENZ
Conviene señalar que las condiciones necesarias para que exista caos en un sistema de ecuaciones diferenciales autónomo son: deben haber al menos tres ecuaciones diferenciales y al menos tres variables y al menos alguna no linealidad.
El modelo atmosférico que utilizó Lorenz consiste en una atmósfera bidimensional rectangular, cuyo extremo inferior está a una temperatura mayor que el superior. De esta manera el aire caliente subirá y el aire frío bajará creándose corrientes que harán un intercambio de calor por convección.
Las ecuaciones que describen este proceso son:
dx/dt = s(y-x)
dy/dt = rx - y - xz
dz/dt = xy - bz
En donde las variables, que únicamente dependen del tiempo son:
"x" representa el flujo convectivo
"y" es la distribución de temperaturas horizontal
"z" es la distribución de temperaturas vertical
Además tenemos de los tres parámetros que intervienen en las ecuaciones:
"s" cociente entre la viscosidad y la conductividad térmica
"r" la diferencia de temperaturas entre la capas inferior y superior
"b" el cociente entre la altura y el ancho de nuestro rectángulo
>
restart;with(DEtools): with(plots):
Warning, the name changecoords has been redefined
> s:=10: r:=28 :b:=8/3 :
>
Lorenzeq := [ diff(x(t),t) = s*(y(t)-x(t)),
diff(y(t),t) = r*x(t) - y(t) -x(t)*z(t),
diff(z(t),t) = x(t)*y(t) - b*z(t) ]:
>
display(
[seq(
DEplot3d(Lorenzeq, {x(t),y(t),z(t)}, t=0..i/2,
[[x(0)=10, y(0)=10, z(0)=10]],
x =-20..20, y=-25..25,z=0..50,
stepsize=0.02, linecolour= sin(t*Pi/3),
thickness=1, orientation = [-110,71]),
i=1..40)
],
insequence=true);
>
ci1:=DEplot(Lorenzeq,[x(t),y(t),z(t)],t=0..10,[[x(0)=10,y(0)=10,z(0)=10]],scene=[t,z(t)],stepsize=0.05,thickness=1,linecolor=red):
>
ci2:=DEplot(Lorenzeq,[x(t),y(t),z(t)],t=0..10,[[x(0)=10,y(0)=1, z(0)=10.01]],scene=[t,z(t)],stepsize=0.05,thickness=1,linecolor=blue):
>
display({ci1,ci2});
ATRACTOR DE RöSSLER
dx/dt = -y – z
dy/dt = x + ay
dz/dt = b + xz – cz
x(t), y(t), z(t) son las variables espaciales, función del tiempo (variable independiente); a, b, c son parámetros de la reacción, para que se presente el caso de atractor caótico debe ser c>5.
>
restart; with(DEtools): with(plots):
Warning, the name changecoords has been redefined
>
Rosslereq := [ diff(x(t),t) = -y(t)-z(t),
diff(y(t),t) = x(t) +a*y(t),
diff(z(t),t) = b-c*z(t)+x(t)*z(t)]:
> a:=0.2: b:=0.4: c:=7:
> DEplot3d(Rosslereq, {x(t),y(t),z(t)}, t=0..300, [[x(0)=1, y(0)=1,z(0)= 1]],stepsize=.1, x = -15..15, y=-12..12,z= -5..25, linecolour=sin(t*Pi/3),thickness = 1, orientation = [-40,80], title=`Atractor de Rössler`);
>
display(
[seq(
DEplot3d(Rosslereq, {x(t),y(t),z(t)}, t=0..4*i,
[[x(0)=1, y(0)=1, z(0)=1]],
x =-15..15, y=-15..15,z=-5..25,
stepsize=0.1, linecolour= sin(t*Pi/3),
thickness=1, orientation = [-110,71]),
i=1..50) ],insequence=true);
>
ATRACTOR DE CHUA
>
restart;with(DEtools): with(plots):
Warning, the name changecoords has been redefined
> edo1:=diff(x(t),t)=a*(y(t)-x(t)-g(x));
> edo2:=diff(y(t),t)=x(t)-y(t)+z(t);
> edo3:=diff(z(t),t)=-b*y(t);
>
a:=15.6:b:=25.58:c:=-5/7:d:=-8/7:
> g:=x->(c*x(t)+0.5*(d-c)*(abs(x(t)+1)-abs(x(t)-1))):
> plot(g(x),x=-3..3,title=`Curva del Diodo Chua`);
> Chuaeq:=[edo1,edo2,edo3]:
>
display(
[seq(
DEplot3d(Chuaeq, {x(t),y(t),z(t)}, t=0..4*i,
[[x(0)=1.6, y(0)=0, z(0)=-1.6]],
stepsize=0.01, linecolour= sin(t*Pi/3),
thickness=1, orientation = [-110,71]),
i=1..30) ],insequence=true);
>
ATRACTOR DE DUFFING
La ecuación diferencial del oscilador de Duffing es:
x"(t) = x(t)* (k - x(t)^2) - s*x'(t) + A*cos(wt)
En la que x(t) representa la coordenada x del extremo inferior de la barra, quedando totalmente definido al ser su movimiento longitudinal. Si transformamos la ecuación del oscilador en un sistema de primer orden queda:
dx/dt = y(t)
dy/dt = x (k-x^2) +A cos(wt) - sy
Tenemos cuatro parámetros:
w : frecuencia de la pulsación del extremo superior
A : amplitud del movimiento armónico del extremo superior
k : rigidez de la barra
s : parámetro relacionado con la atracción magnética de la barra
> restart;with(DEtools): with(plots):
Warning, the name changecoords has been redefined
> A:=0.4 :s:=0.25 :w:=1: k:=1:
>
DuffingEq := [ diff(x(t),t) = y(t),
diff(y(t),t) = x(t)*(k-x(t)^2)+A*cos(w*t)-s*y(t)]:
> dibuatrac := proc(n)
> local j,imagen;
> global lore;
> for j from 1 to n do
> lore[j]:=DEplot(DuffingEq, {x(t),y(t)}, t=0..2*j, [[x(0)=-1, y(0)=-0.5]],stepsize=.05, x= -2..2, y=-2..2, linecolour=sin(t*Pi/3),thickness = 1, title=`Atractor de Duffing`);
>
display(lore[j]);
> end do;
> imagen:=j->
> display(lore[j]):
> display(seq(imagen(j),j=1..n),insequence=true);
> end proc:
> dibuatrac(50);
>