Solución Numérica del Sistema de Ecuaciones de Lorenz Mediante la Función ODE45 de MatLab®

4
1 Resumen—Se presenta el sistema de ecuaciones de Lorenz que representa un sistema caótico para ciertas condiciones según se escoja los valores de los coeficientes del arreglo de igualdades. Para la solución se ha desarrollando un código en MATLAB haciendo uso de la función ODE45. Los códigos de MATLAB son claros y permiten al lector apreciar la implementación de los mismos. Palabras Clave—Lorenz, ODE45, MatLab®. I. NOMENCLATURA Definición de caos: El caos es un comportamiento aperiódico a tiempos largos en un sistema determinista que exhibe sensibilidad respecto a condiciones iniciales. II. INTRODUCCIÓN AS ecuaciones de Lorenz (1917 – 2008) son un modelo simplificado del movimiento convectivo en las capas superiores de la atmósfera, en el cual tres ecuaciones diferenciales no lineales acopladas describen la evolución de tres variables. Con la aparición de ordenadores de alta velocidad, se pudieron realizar algunas intuiciones sobre cómo eran los sistemas no lineales. Las primeras gráficas sobre el comportamiento de estos sistemas se visualizaron mediante los métodos numéricos. Lorenz trató, mediante la utilización de ordenadores, apreciar el comportamiento de sus ecuaciones, las que esperaba que predijeran el tiempo en la atmósfera, obtuvo una figura a la que ahora se le conoce como atractor de Lorenz. Luego de un estudio detenido y pruebas con diferentes parámetros, tanto las condiciones iniciales, como constantes del sistema, llegó a la conclusión de que las simulaciones eran muy diferentes para condiciones iniciales muy próximas. Estas ecuaciones son: = −( − ) (1) = − − (2) F. I. Saldaña y W. J. Dután, estudiantes de la Maestria en Planificación y Gestión Energética en la Universidad de Cuenca, actualmente prestan sus servicios en la Empresa Eléctrica Azogues.. W. N. Bernal, estudiante de la Maestria en Planificación y Gestión Energética en la Universidad de Cuenca, desarrolla proyectos de Ingeniería Industrial. = − + (3) donde, σ (sigma) se le conoce como el número de Prandtl (número adimensional proporcional al cociente entre la difusividad de momento y la difusividad térmica); (ro) se le conoce como el número de Rayleigh (número adimensional asociado con la transferencia de calor en el interior de un fluido); (beta) no tiene nombre y representa la razón entre la longitud y altura del sistema para contener un gas. III. PROPIEDADES DEL SISTEMA DE ECUACIONES DE LORENZ El sistema propuesto por Lorenz tiene varias particularidades, entre estas tenemos: La no linealidad, esto se produce por la aparición de los términos xz y xy, en las ecuaciones. Simetría, si x(t), y(t), z(t) son solución; entonces, - x(t), -y(t), -z(t), también lo son, esto indica que cualquier solución es simétrica. Puntos Fijos, el punto (0, 0, 0) es fijo para todos los valores posibles de los parámetros. Para >1, hay un par de puntos fijos simétricos C±, con coordenadas x+ = y+ = ± ( − 1) , z+ = -1. Representan rollos convectivos girando a derecha o izquierda. Cuando 1+, C+ y C- colisionan con el origen en una bifurcación. Estabilidad en el origen, al linealizar las ecuaciones para x y y están acopladas y la ecuación para z representa un decaimiento exponencial a 0. Estabilidad en C+ y C-. Si >1, se puede calcular que ambos son linealmente estables si 1< < = (+ +3)/( - -1). Esto también requiere que el denominador sea positivo. En este punto ocurre una bifurcación. La bifurcación es subscrita. Los ciclos límite son inestables y existen sólo para < . (H por Hopf). A medida que , el ciclo se encoge alrededor del punto fijo. Solución Numérica del Sistema de Ecuaciones de Lorenz Mediante la Función ODE45 de MatLab® F. I. Saldaña, W. J. Dután y W. N. Bernal, Estudiantes de Maestría, Universidad Estatal de Cuenca L

description

Se presenta el sistema de ecuaciones de Lorenz que representa un sistema caótico para ciertas condiciones según se escoja los valores de los coeficientes del arreglo de igualdades. Para la solución se ha desarrollando un código en MATLAB haciendo uso de la función ODE45. Los códigos de MATLAB son claros y permiten al lector apreciar la implementación de los mismos.

Transcript of Solución Numérica del Sistema de Ecuaciones de Lorenz Mediante la Función ODE45 de MatLab®

Page 1: Solución Numérica del Sistema de Ecuaciones de Lorenz Mediante la Función ODE45 de MatLab®

1

Resumen—Se presenta el sistema de ecuaciones de Lorenz que

representa un sistema caótico para ciertas condiciones según se escoja los valores de los coeficientes del arreglo de igualdades. Para la solución se ha desarrollando un código en MATLAB haciendo uso de la función ODE45. Los códigos de MATLAB son claros y permiten al lector apreciar la implementación de los mismos.

Palabras Clave—Lorenz, ODE45, MatLab®.

I. NOMENCLATURA

Definición de caos: El caos es un comportamiento aperiódico a tiempos largos en un sistema determinista que exhibe sensibilidad respecto a condiciones iniciales.

II. INTRODUCCIÓN

AS ecuaciones de Lorenz (1917 – 2008) son un modelo simplificado del movimiento convectivo en las capas

superiores de la atmósfera, en el cual tres ecuaciones diferenciales no lineales acopladas describen la evolución de tres variables.

Con la aparición de ordenadores de alta velocidad, se pudieron realizar algunas intuiciones sobre cómo eran los sistemas no lineales. Las primeras gráficas sobre el comportamiento de estos sistemas se visualizaron mediante los métodos numéricos. Lorenz trató, mediante la utilización de ordenadores, apreciar el comportamiento de sus ecuaciones, las que esperaba que predijeran el tiempo en la atmósfera, obtuvo una figura a la que ahora se le conoce como atractor de Lorenz. Luego de un estudio detenido y pruebas con diferentes parámetros, tanto las condiciones iniciales, como constantes del sistema, llegó a la conclusión de que las simulaciones eran muy diferentes para condiciones iniciales muy próximas. Estas ecuaciones son:

����= −�(� − ) (1)

����= �� − − � (2)

F. I. Saldaña y W. J. Dután, estudiantes de la Maestria en Planificación y

Gestión Energética en la Universidad de Cuenca, actualmente prestan sus servicios en la Empresa Eléctrica Azogues..

W. N. Bernal, estudiante de la Maestria en Planificación y Gestión Energética en la Universidad de Cuenca, desarrolla proyectos de Ingeniería Industrial.

����= −� + � (3)

donde, σ (sigma) se le conoce como el número de Prandtl (número adimensional proporcional al cociente entre la difusividad de momento y la difusividad térmica); � (ro) se le conoce como el número de Rayleigh (número adimensional asociado con la transferencia de calor en el interior de un fluido); � (beta) no tiene nombre y representa la razón entre la longitud y altura del sistema para contener un gas.

III. PROPIEDADES DEL SISTEMA DE ECUACIONES DE LORENZ

El sistema propuesto por Lorenz tiene varias particularidades, entre estas tenemos:

• La no linealidad, esto se produce por la aparición de

los términos xz y xy, en las ecuaciones. • Simetría, si x(t), y(t), z(t) son solución; entonces, -

x(t), -y(t), -z(t), también lo son, esto indica que cualquier solución es simétrica.

• Puntos Fijos, el punto (0, 0, 0) es fijo para todos los valores posibles de los parámetros.

• Para �>1, hay un par de puntos fijos simétricos C±,

con coordenadas x+ = y+ = ±��(� − 1), z+ = �-1.

Representan rollos convectivos girando a derecha o izquierda.

• Cuando �→1+, C+ y C- colisionan con el origen en una bifurcación.

• Estabilidad en el origen, al linealizar las ecuaciones para x y y están acopladas y la ecuación para z representa un decaimiento exponencial a 0.

• Estabilidad en C+ y C-. Si �>1, se puede calcular que ambos son linealmente estables si 1<�< ��= �(�+ � + 3)/(�-�-1). Esto también requiere que el denominador sea positivo. En este punto ocurre una bifurcación.

• La bifurcación es subscrita. Los ciclos límite son inestables y existen sólo para � < ��. (H por Hopf).

• A medida que � → ������, el ciclo se encoge alrededor del punto fijo.

Solución Numérica del Sistema de Ecuaciones de Lorenz Mediante la Función ODE45 de

MatLab® F. I. Saldaña, W. J. Dután y W. N. Bernal, Estudiantes de Maestría, Universidad Estatal de Cuenca

L

Page 2: Solución Numérica del Sistema de Ecuaciones de Lorenz Mediante la Función ODE45 de MatLab®

2

• En la bifurcación el punto fijo absorbe el ciclo y

cambia a una silla.

• Para �> �� no hay atractores cercanos, así que deben saltar hacia atractores lejanos.

Fig. 1. Diagrama de bifurcación

IV. MÉTODO DE SOLUCIÓN

Para solucionar el sistema de Lorenz se ha utilizado MATLAB, el cual cuenta con gran variedad de funciones para resolver ecuaciones diferenciales, entre estas la función ODE45, que utiliza el método de Runge-Kutta.

Se implementó una función en MATLAB la cual resuelve el sistema de ecuaciones de Lorenz y permite obtener dos resultados, en el primer caso se obtiene como resultado la gráfica X vs Y , y en un segundo caso se tienen las gráficas X vs t, Y vs t, Z vs t, (ver Anexo).

Las entradas del código de MATLAB se especifican en las

líneas 15 a 27. Se requieren: • El intervalo de tiempo ti y tf, • Las condiciones iniciales para x,y y z • Los coeficintes de la ecuación (�, �, �)

Se debe indicar que al ser el sistema de ecuaciones fijo ya no es necesario ingresar las ecuaciones, éstas están definidas en una subfunción.

Según sea el caso que se escoge se procede a la solución a través de la función ODE45, como se indica en el código, línea 33.

El resultado de solucionar este sistema se muestra en las líneas 34 para el primer caso y 60 a 62 para el segundo, los resultados se presentan de forma gráfica.

El código de la función implementado Lorenz.m se detalla en el Anexo.

A. Aplicación

El código implementado se prueba mediante la aplicación al siguiente problema:

Se analiza el sistema de ecuaciones con los siguientes valores: Intervalo de tiempo de ti=0 y tf=30, las condiciones iniciales para t = 0 se tienen Xo = -8, Yo = 8, Zo =27 y los coeficientes de las ecuaciones se han tomado: � = 10, � = 27, � = 8/3.

Utilizando el programa y escogiendo el primer caso, el resultado es:

Fig. 2. Grafica de X vs. Y.

Con los mismos parámetros ingresados nuevamente y

escogiendo el segundo caso, se obtiene la variación de las tres variables con respecto al tiempo.

Fig. 3. Graficas de X, Y y Z en función del tiempo.

Adicionalmente a los valores escogidos de los parámetros

de la ecuación, se ha calculado para la variación de cada uno con valores que cumplan las condiciones � < 10 y � > 10; � < 27 y � > 27; � < 8/3 y � > 8/3.

Fig. 4. Graficas de X vs.Y con � = 0.5 y � = 27, � = 8/3.

Page 3: Solución Numérica del Sistema de Ecuaciones de Lorenz Mediante la Función ODE45 de MatLab®

3

Fig. 5. Grafica X vs. Y con � = 30 y � = 27, � = 8/3.

Fig. 6. Grafica X vs. Y con � = 5 y � = 10, � = 8/3.

Fig. 7. . Grafica X vs. Y con � = 80 y � = 10, � = 8/3.

Fig. 8. . Grafica X vs. Y con � = 0 y � = 10, � = 27.

Fig. 9. . Grafica X vs. Y con � = 5 y � = 10, � = 27.

Fig. 10. Graficas de X, Y y Z en función del tiempo con � = 5.

.

Fig. 11. Graficas de X, Y y Z en función del tiempo con � = 80.

B. Análisis de Resultados

El método de solución de ODE45 pertenece a un grupo llamado métodos de un solo paso, ya que la información en un solo punto de la curva de solución es suficiente para computar el siguiente punto.

Cuando se varia el parámetro σ el resultado que se obtiene son envolventes alrededor de un punto, al variar � se producen envolventes alrededor de dos puntos en los cuales cada vez más se van estrechando y con cambios pequeños de �, la relación de x con respecto a y varia grandemente.

Al dar valores para σ = 10, ρ =28; � =8/3 y condiciones iniciales (-8,8,27) las gráficas muestran una movimiento

Page 4: Solución Numérica del Sistema de Ecuaciones de Lorenz Mediante la Función ODE45 de MatLab®

4

aperiódico. Cuando la trayectoria es vista en un espacio tridimensional, se asemeja a las alas de una mariposa. A este tipo de conjuntos se le conoce como Atractor Extraño, es el conjunto límite de volúmenes cero que atrae todas las trayectorias. Es un objeto fractal, formado por un número infinito de superficies.

El sistema exhibe sensibilidad a las condiciones iniciales. Pequeñas incertidumbres se amplifican rápidamente. Al comparar una solución x(t) con otra, se encuentra que las trayectorias se separan exponencialmente rápido.

Se muestra que el atractor es un conjunto al cual todas las trayectorias cercanas convergen y es invariable a cualquier trayectoria para todo t.

El sistema de Lorenz es una forma de analizar la dinámica de un atractor extraño.

Sin la ayuda de soluciones numéricas y visualización mediante computador, no se tendría un entendimiento adecuado del sistema modelado por las ecuaciones de Lorenz.

La rutina ODE45 de MATLAB soluciona sistemas de EDOs usando el método de Runge-Kutta de cuarto orden.

V. BIBLIOGRAFÍA [1] E. H. Ziegler, Nonlinear System Identification, Rochester Institute of

Technology, 1994. [2] J. C. Robinsonh, An Introduction to Ordinary Differential Equations,

Cambridge University Press, 2004. [3] E. S. Wilson, Aspectos Cualitativos de las Ecuaciones de Lorenz y

Sistema Sincronizado, Tesis de Maestria, Universidad Autónoma de Iztapalapa, 1996.

[4] G. M. Mungia, Sistema Tipo Lorenz Inc., Universidad de Sonora, 2006.

VI. ANEXO

Se presenta el código de la función Lorenz.m.

function Lorenz(tipo) %Menù para escoger los casos solicitados switch tipo case (1) Lorenz1; %Resuelve las ecuaciones diferenciales y devuelve un gràfica de X vs. Y case (2); Lorenz2; %Resuelve las ecuaciones diferenciales y devuelve un gràfica de X,Y y Z vs t otherwise error('Función no definida'); end function Lorenz1 global u v q w e a b c; %definir los intervalos de anàlisis y constantes disp('Programa para resolver el sistema de ecu. dif . de Lorenz'); disp(' '); disp('Ingrese el Intervalo de tiempo'); u=input('Ingrese el lìmite inferior:'); v=input('Ingrese el lìmite superior:'); disp(' '); disp('Ingrese las Condiciones iniciales para t=0'); q=input('Ingrese el valor de X0:'); w=input('Ingrese el valor de Y0:'); e=input('Ingrese el valor de Z0:'); disp(' '); disp('Ingrese los Coeficientes de la ecu. de Lorenz'); a=input('Ingrese el valor de sigma:');

b=input('Ingrese el valor de rho:'); c=input('Ingrese el valor de beta:'); int=[u v]; %Intervalo de tiempo para el anàlisis de las ecu. cond=[q w e]; %Condiciones iniciales options = odeset('RelTol',1e-4,'AbsTol',[1e-4 1e-4 1e-5]); [t,y] = ode45(@p2,int,cond,options); plot(y(:,1),y(:,2));xlabel('x','FontSize',12);ylabe l('y','FontSize',12);title('x vs. y','FontSize',14); text(5,-15,'Atractor de Lorenz','EdgeColor','red','FontSize',13); function Lorenz2 global u v q w e a b c; %definir los intervalos de anàlisis y constantes disp('Programa para resolver el sistema de ecu. dif . de Lorenz'); disp(' '); disp('Ingrese el Intervalo de tiempo'); u=input('Ingrese el lìmite inferior:'); v=input('Ingrese el lìmite superior:'); disp(' '); disp('Ingrese las Condiciones iniciales para t=0'); q=input('Ingrese el valor de X0:'); w=input('Ingrese el valor de Y0:'); e=input('Ingrese el valor de Z0:'); disp(' '); disp('Ingrese los Coeficientes de la ecu. de Lorenz'); a=input('Ingrese el valor de sigma:'); b=input('Ingrese el valor de rho:'); c=input('Ingrese el valor de beta:'); int=[u v]; %Intervalo de tiempo para el anàlisis de las ecu. cond=[q w e]; %Condiciones iniciales options = odeset('RelTol',1e-4,'AbsTol',[1e-4 1e-4 1e-5]); [t,y] = ode45(@p2,int,cond,options); subplot(3,1,1); plot(t,y(:,1),'r','Linewidth',0.1);xlabel('t');ylab el('x');title('Variable t vs. x','FontSize',12); subplot(3,1,2); plot(t,y(:,2),'g-','Linewidth',0.1);xlabel('t');ylabel('y');title('V ariable t vs. y','FontSize',12); subplot(3,1,3); plot(t,y(:,3),'b','Linewidth',0.1);xlabel('t');ylab el('z');title('Variable t vs. z','FontSize',12); function dy = p2(t,y) global a b c dy = zeros(3,1); % a column vector dy(1) = -a*y(1)+a*y(2); dy(2) = b*y(1)-y(2)-y(1)*y(3); [5] dy(3) = -c*y(3)+y(1)*y(2);