El sistema de Lorenz es un sistema de ecuacones diferenciales ordinarias (Ecuaciones de Lorenz) estudiadas por Edward Lorenz. Es notable para obtener soluciones caóticas para ciertos valores de parámetros y condiciones iniciales. En particular, el atractor de Lorenz es un conjunto de soluciones del sistema de Lorenz en el cual, cuando se grafica, asemeja a una mariposa, o un número 8 dependiendo el ángulo de vista.
Descripción
Edward Lorenz desarrolló un modelo matemático simplificado para convección atmosférica. EL modelo es un sistema de tres ecuaciones diferenciales ordinarias, que se conocen como ecuaciones de Lorenz:
Python (http://mensch.org/vplot/lorenz/lorenz.py):
#!/usr/bin/python #Valores usados por las formulas tstop=100 dt=.02 a=5. b=15. c=1. #Abrimos un archivo para escribir los valores pfile=open('lorenz.dat','w') pfile.write("#Lorenz attractor written by lorenz.py \n") pfile.write("#a=%6.2f b=%6.2f c=%6.2f \n" % (a,b,c)) t=0 x=1 y=0 z=0 while t<tstop: t=t+dt #Ecuaciones de Lorenz dxdt=a*y-a*x dydt=b*x-y-z*x dzdt=x*y-c*z x=x+dxdt*dt y=y+dydt*dt z=z+dzdt*dt pfile.write("%f %f %f %f\n" % (t,x,y,z)) pfile.close() print "file lorenz.dat was written"
Octave - (http://en.wikipedia.org/wiki/Lorenz_system)
Gráficas# Prevent Octave from thinking that this is a function file: 1; % Lorenz equations solved by ODE Solve %% x' = sigma*(y-x) %% y' = x*(rho - z) - y %% z' = x*y - beta*z function dx = lorenzatt(X) rho = 28; sigma = 10; beta = 8/3; dx = zeros(3,1); dx(1) = sigma*(X(2) - X(1)); dx(2) = X(1)*(rho - X(3)) - X(2); dx(3) = X(1)*X(2) - beta*X(3); return end % Using LSODE to solve the ODE system. lsode_options("absolute tolerance",1e-3) lsode_options("relative tolerance",1e-4) t = linspace(0,25,1e3); X0 = [0,1,1.05]; [X,T,MSG]=lsode(@lorenzatt,X0,t); T MSG plot3(X(:,1),X(:,2),X(:,3)) view(45,45)
Utilizando el código de python: = 5 = 15 = 1
Utlizando el código de Octave = 10, = 28, = 8/3
De aquí van +1 en ambos reporte y programa de la tarea 3 de extras.
ResponderEliminar