Saltar al contenido principal
LibreTexts Español

7.2: Visualización del espacio de fase

  • Page ID
    115643
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    Un espacio de fase de un modelo de tiempo continuo, una vez discretizado el tiempo, se puede visualizar exactamente de la misma manera que en el Capítulo 5, utilizando los Códigos 5.1 o 5.2. Esto está perfectamente bien. Mientras tanto, matplotlib de Python tiene una función especializada llamada streamplot, que está diseñada precisamente para dibujar espacios de fase de modelos de tiempo continuo. Funciona solo para visualizaciones bidimensionales de espacios de fase, pero su salida es bastante ordenada y sofisticada. Así es como puedes usar esta función:

    c 7.1.png

    Código 7.1 pt 2.png

    La función streamplot toma cuatro argumentos. Los dos primeros (xvalues e yvalues) son discretizados x -e y -valores en un espacio de fase, cada uno de los cuales se da como una matriz bidimensional. La función meshgrid genera tales matrices para este propósito. El 0.1 en arange determina la resolución del espacio. Los dos últimos argumentos (xdot e ydot) describen los valores de\(dx/dt\) y\(dy/dt\) sobre cada punto. Cada uno de xdot e ydot también se debe dar como una matriz bidimensional, pero dado que xvalues e yvalues ya están en la estructura de matriz, se pueden realizar operaciones aritméticas directamente sobre ellos, como se muestra en el código anterior. En este caso, el modelo que se visualiza son las siguientes ecuaciones simples depredador-presa:

    \[\frac{dx}{dt} =x-xy \label{(7.10)} \]

    \[\dfrac{dy}{dt} =-y +xy \label{(7.11)} \]

    El resultado se muestra en la Fig. 7.2.1. Como puede ver, la función streamplot ajusta automáticamente la densidad de las curvas de muestra a dibujar para que la estructura del espacio de fase sea fácilmente visible para el ojo. También agrega puntas de flecha a las curvas para que podamos entender en qué dirección está fluyendo el estado del sistema.

    Una buena característica del espacio de fase de un modelo de tiempo continuo es que, dado que el modelo se describe en ecuaciones diferenciales continuas, sus trayectorias en el espacio de fase son todas suaves sin saltos abruptos o intersecciones entre sí. Esto hace que su estructura de espacio de fase sea generalmente más visible y comprensible que las de los modelos de tiempo discreto.

    Ejercicio\(\PageIndex{1}\)

    Dibuja un espacio de fase de la siguiente ecuación diferencial (movimiento de un péndulo simple) en Python:

    \[\frac{d^{2}\theta}{dt^{2}} =-\frac{g}{L}\sin\theta\label{(7.12)} \]

    Además, dicha suavidad de los modelos de tiempo continuo nos permite visualizar y examinar analíticamente la estructura de su espacio de fase. Un punto de partida típico para hacerlo es encontrar los nullclines en un espacio de fase. Una nullclina es un conjunto de puntos donde al menos una de las derivadas de tiempo de las variables de estado se convierte en cero. Estas nullclinas sirven

    Fig. 7.1.PNG
    Figura\(\PageIndex{1}\): Espacio de fase dibujado con Código 7.1.

    como “muros” que separan el espacio de fase en múltiples regiones contiguas. Dentro de cada región, los signos de las derivadas del tiempo nunca cambian (si lo hicieran, quedarían atrapados en una nullclina), por lo que solo muestrear un punto en cada región te da una imagen aproximada de cómo se ve el espacio de fase. Aprendamos cómo funciona este proceso analítico con el siguiente modelo Lotka-Volterra:

    \[\frac{dx}{dt} =ax -bxy \label{(7.13)} \]

    \[\frac{dy}{dt} =-cy +dxy\label{(7.14)} \]

    \[x \geq0, y\geq0, a>0, b>0, c>0, d>0 \label{(7.15)} \]

    Primero, encuentra los nullclines. Este es un sistema bidimensional con dos, por lo que debe haber dos conjuntos de nullclines; un conjunto se deriva de\(\frac{dx}{dt} = 0\), y otro conjunto se deriva de\(\frac{dy}{dt} = 0\). Se pueden obtener resolviendo cada una de las siguientes ecuaciones:

    \[0=ax -bxy \label{(7.16)} \]

    \[0=-cy+dxy \label{(7.17)} \]

    La primera ecuación da

    \[x=0, or \ y =\frac{a}{b}. \label{(7.18)} \]

    Estas son dos líneas rectas, que constituyen un conjunto de nullclines para\ frac {dx} {dt} = 0\) (es decir, podrías llamar a cada línea una sola nullcline). Mientras tanto, el segundo da

    \[y=0, or \ x =\frac{c}{d}. \label{(7.19)} \]

    Nuevamente, estas dos líneas constituyen otro conjunto de nullclines para\(\frac{dy}{dt} = 0\). Estos resultados se pueden visualizar manualmente como se muestra en la Fig. 7.2.2. Existen puntos de equilibrio donde se cruzan los dos conjuntos de nullclines.

    Higo 7.2.PNG
    Figura\(\PageIndex{2}\): Dibujo de un espacio de fase (1): Adición de nullclines.

    En todas partes en el primer conjunto de nullclines,\(\frac{dx}{dt}\) es cero, es decir, no hay movimiento “horizontal” en el estado del sistema. Esto significa que todas las trayectorias locales sobre y cerca de esas nullclinas deben estar flotando verticalmente. De igual manera, en todas partes del segundo conjunto de nullclines,\(\frac{dy}{dt}\) es cero, por lo tanto no hay movimiento “vertical” y todas las trayectorias locales fluyen horizontalmente. Estos hechos pueden indicarse en el espacio de fase añadiendo pequeños segmentos de línea en cada nullclina (Fig. 7.2.3).

    Fig. 7.3.PNG
    Figura\(\PageIndex{3}\): Dibujo de un espacio de fase (2): Agregar direcciones a las nullclinas.

    Ahora el espacio de fase se divide en cuatro regiones. Se garantiza que las trayectorias en cada una de esas regiones fluyen solo en una de las siguientes cuatro categorías direccionales:

    \[\cdot \frac{dx}{dt} >0, \frac{dy}{dt} >0("to Northeast") \nonumber \]

    \[\cdot\frac{dx}{dt} <0, \frac{dy}{dt} > (to"Northwest") \nonumber \]

    \[\cdot\frac{dx}{dt} >0, \frac{dy}{dt} <0 (to "Southeast") \nonumber \]

    \[\cdot\frac{dx}{dt} <, \frac{dy}{dt} <0(to"Southwest") \nonumber \]

    Dentro de cualquier región, una trayectoria nunca cambia entre estas cuatro categorías, porque si lo hiciera, tal punto de conmutación tendría que haber aparecido ya como parte de los nullclines. Por lo tanto, el muestreo de un solo punto de cada región es suficiente para saber en qué dirección están flotando las trayectorias. Por ejemplo, puede elegir\((2c/d,2a/b)\) como punto de muestra en la región superior derecha. Enchufa esta coordenada en las ecuaciones del modelo para obtener

    \[\frac{dx}{dt}|_{(x,y) =(\frac{2c}{d}, \frac{2a}{b})}=a\frac{2c}{d}-b\frac{2c}{d}\frac{2a}{b} =-\frac{2ac}{d} <0,\label{(7.20)} \]

    \[\frac{dy}{dt}|_{(x,y)= (\frac{2c}{d},\frac{2a}{b})}=-c\frac{2a}{b} +d\frac{2c}{d}\frac{2a}{b}=\frac{2ac}{b}>-.\label{(7.21)} \]

    Fig. 7.4.PNG
    Figura\(\PageIndex{4}\): Dibujo de un espacio de fase (3): Sumando direcciones de trayectorias en cada región.

    Este tipo de reconstrucción manual de la estructura del espacio de fase no puede indicarle la forma exacta de una trayectoria en particular, que normalmente se obtienen a través de simulación numérica. Por ejemplo, en el espacio de fase dibujado manualmente arriba, todo lo que sabemos es que el comportamiento del sistema probablemente esté rotando alrededor del punto de equilibrio en\((x,y)\) =\((c/d,a/b)\), pero no podemos decir si las trayectorias son órbitas cerradas, espirales hacia el punto de equilibrio, o espirales lejos del punto de equilibrio, hasta que simulemos numéricamente el comportamiento del sistema.

    Dicho esto, todavía hay mérito en este trabajo analítico. En primer lugar, los cálculos analíticos de nullclinas y direcciones de trayectorias proporcionan información sobre la estructura subyacente del espacio de fase, lo que a veces no está claro en un espacio de fase visualizado numéricamente. En segundo lugar, el trabajo analítico puede permitirle construir un espacio de fase sin especificar valores de parámetros detallados (como hicimos en el ejemplo anterior), cuyo resultado es más general con una aplicabilidad más amplia a sistemas del mundo real que una visualización de espacio de fase con valores de parámetros específicos.

    Ejercicio\(\PageIndex{1}\)

    Dibujar un esquema del espacio de fase del siguiente modelo SIR (la variable\(R\) se omite aquí) estudiando nullclines y estimando las direcciones de trayectorias dentro de cada región separadas por esas nullclinas.

    \[\frac{dS}{dt} =-aSI \label{(7.22)} \]

    \[\frac{dI}{dt} =aSI-bI\label{(7.23)} \]

    \[S\geq 0, I\geq 0, a>0, b>0\label{(7.24)} \]

    Ejercicio\(\PageIndex{2}\)

    Dibujar un esquema del espacio de fase de la siguiente ecuación estudiando nullclines y estimando las direcciones de trayectorias dentro de cada región separadas por esas nullclinas.

    \[\frac{d^{2}x}{dt^{2}}-x\frac{dx}{dt}+x^{2} =0 \label{(7.25)} \]


    This page titled 7.2: Visualización del espacio de fase is shared under a CC BY-NC-SA 3.0 license and was authored, remixed, and/or curated by Hiroki Sayama (OpenSUNY) via source content that was edited to the style and standards of the LibreTexts platform; a detailed edit history is available upon request.