Diferencia entre revisiones de «Atractor de Lorenz»

Contenido eliminado Contenido añadido
Kegelschnitt (discusión · contribs.)
mSin resumen de edición
Kegelschnitt (discusión · contribs.)
Sin resumen de edición
Línea 1:
[[Archivo:Lorenz attractor yb.svg|thumb|300px|El atractor de Lorenz, con valores r = 28, σ = 10, b = 8/3]]
[[Archivo:LorenzAttractor.png|300px|thumb|Proyección de un atractor de Lorenz tridimensional]]
El '''atractor de Lorenz''' es un concepto introducido por [[Edward Lorenz]] en [[1963]];. esSe trata de un [[sistema dinámico]] determinista tridimensional no lineal derivado de las ecuaciones simplificadas de rollos de [[convección]] que se producen en las ecuaciones dinámicas de la [[atmósfera terrestre]].
 
Para ciertos valores de los parámetros ''a'', ''b'', ''c'', el sistema exhibe un comportamiento [[Teoría del caos|caótico]] y muestra lo que actualmente se llama un [[atractor extraño]]; esto fue probado por [[Warwick Tucker]] en [[2002]]<ref>{{harvtxt|Tucker|2002}}</ref>. El atractor extraño en este caso es un [[fractal]] de [[dimensión de Hausdorff]] entre 2 y 3. Grassberger (1983) ha estimado la dimensión de Hausdorff en {{esd|2,06 ± 0,01}} y la [[dimensión de correlación]] en {{esd|2,05 ± 0,01}}.
Línea 18:
 
La forma de mariposa del atractor de Lorenz puede haber inspirado el nombre del [[efecto mariposa]] en la [[teoría del caos]].
 
== Análisis ==
 
===Simulación en MATLAB===
<source lang="matlab">
% Resolver para el intervalo de tiempo [0,100] con condiciones iniciales [1,1,1]
% ''f'' es un conjunto de ecuaciones diferenciales
% ''a'' es un arreglo que contiene variables x, y, z
% ''t'' es la variable de tiempo
 
sigma = 10;
beta = 8/3;
rho = 28;
f = @(t,a) [-sigma*a(1) + sigma*a(2); rho*a(1) - a(2) - a(1)*a(3); -beta*a(3) + a(1)*a(2)];
[t,a] = ode45(f,[0 100],[1 1 1]); % Solución de EDO de Runge-Kutta de 4.º/5.º orden
plot3(a(:,1),a(:,2),a(:,3))
</source>
 
=== Simulación en Python ===
<source lang="numpy">
import numpy as np
import matplotlib.pyplot as plt
from scipy.integrate import odeint
from mpl_toolkits.mplot3d import Axes3D
 
rho = 28.0
sigma = 10.0
beta = 8.0 / 3.0
 
def f(state, t):
x, y, z = state # Desempaqueta el vector de estado
return sigma * (y - x), x * (rho - z) - y, x * y - beta * z # Derivadas
 
state0 = [1.0, 1.0, 1.0]
t = np.arange(0.0, 40.0, 0.01)
 
states = odeint(f, state0, t)
 
fig = plt.figure()
ax = fig.gca(projection='3d')
ax.plot(states[:, 0], states[:, 1], states[:, 2])
plt.show()
</source>
 
== Véase también ==