Introducción (planteamiento)
Obtener, para el siguiente modelo, el retrato de fase, los puntos de equilibrio y la respuesta temporal con algunas condiciones iniciales:
{˙x1=x2−cosx1˙x2=x22−u
Entrada: u=1
Método (plan de solución)
Pasos: (i) obtener el retrato de fase con la función pplane de MATLAB e indicar los puntos de equilibrio y su tipo; (ii) para algunos puntos del plano de fase dibujar la respuesta temporal; (iii) obtener numérica y analíticamente los puntos de equilibrio y clasificarlos; (iv) analizar los resultados.
Resultados (solución)
Interfaz para el cálculo del retrato de fase con la herramienta pplane de MATLAB:
Retrato de fase:
El tipo de cada uno de los tres puntos de equilibrio de la figura, obtenido con la herramienta, es: nodo estable, nodo inestable, nodo estable.
Respuestas temporales desde algunos estados iniciales, obtenidos con la herramienta, donde se observa una estabilización en (π,−1) y (−π,−1) respectivamente, sin oscilaciones, lo cual equivale a dos nodos estables (los picos se dan por las condiciones iniciales y no por valores propios complejos):
Figura 3D con las respuestas temporales (en dos de las caras del cubo) y el retrato de fase (en la otra cara del cubo):
Código para la obtención numérica de los puntos de equilibrio con MATLAB:
syms x1 x2sol = solve( [x2-cos(x1)==0, x2^2 - 1==0],[x1 x2] );[sol.x1(:) sol.x2(:)]
Para modelos de segundo orden se pueden obtener los puntos de equilibrio gráficamente utilizando el siguiente código de MATLAB (si una variable no aparece explícitamente es necesario introducirla de alguna manera, como en el ejemplo, para que las soluciones se muestren correctamente), donde la intersección corresponde a los puntos de equilibrio:
syms x1 x2eq1 = x2-cos(x1)==0;eq2 = x2^2-0.0000001*x1==1;fimplicit([eq1,eq2])ylim([-2 2])xlim([-10 10])xlabel('x1')ylabel('x2')
x220−1=0x20−cosx10=0
De la primera ecuación se tiene:
x20=±1
De la segunda ecuación:
cosx10=x20
Para cada valor de x20:
x20=1,cosx10=1,x10=0,±2π,±4π,⋯
x20=−1,cosx10=−1,x10=±π,±3π,±5π⋯
Por lo tanto, los puntos de equilibrio son los siguientes (algunos de los cuales se obtuvieron numéricamente):
⋯(−4π,1),(−2π,1),(0,1),(2π,1),(4π,1),⋯,(−3π,−1),(−π,−1),(π,−1),(3π,−1),⋯
El tipo de los puntos (π,−1), (−π,−1) y (0,1) se obtiene a partir de la linealización del modelo:
A=[∂f1∂x1∂f1∂x2∂f2∂x1∂f2∂x2]x1=π,x2=−1=[sinx1102x2]x1=π,x2=−1=[010−2]
A=[∂f1∂x1∂f1∂x2∂f2∂x1∂f2∂x2]x1=−π,x2=−1=[sinx1102x2]x1=−π,x2=−1=[010−2]
A=[∂f1∂x1∂f1∂x2∂f2∂x1∂f2∂x2]x1=0,x2=1=[sinx1102x2]x1=0,x2=1=[0102]
Los valores propios son (0,-2) en los dos primeros casos y (0,2) en el último caso, lo cual corresponde a dos nodos estables y uno inestable, tal y como se muestra en una de las figuras entregadas por la función pplane.
Discusión y verificación
En este ejemplo de un modelo no lineal se obtuvieron los puntos de equilibrio de manera analítica y numérica, con coincidencia entre ellos. Es importante resaltar que a cada valor de la entrada u=u0 le corresponden los valores de equilibrio {x10,x20}.
También se clasificaron los puntos de equilibrio, siendo todos del tipo nodo, pero algunos son estables y otros inestables. Algunas respuestas temporales muestran que, en efecto, partiendo cerca de los puntos de equilibrio estable se llega a ellos sin oscilaciones (como corresponde a un nodo). El retrato de fase muestra lo anterior y, en particular, que se llega a un punto de equilibrio determinado dependiendo de las condiciones iniciales.
Finalmente, se utilizaron funciones de MATLAB que facilitaron los cálculos.
Comentarios