Artículos

7.2: Visualización del espacio de fase - Matemáticas


Un espacio de fase de un modelo de tiempo continuo, una vez que se discretiza 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, Pythonmatplotlibtiene una función especializada llamadastreamplot, que está diseñado precisamente para dibujar espacios de fase de modelos de tiempo continuo. Funciona solo para visualizaciones de espacio de fase bidimensional, pero su salida es bastante ordenada y sofisticada. Así es como puede utilizar esta función:

LastreamplotLa función toma cuatro argumentos. Los dos primeros (xvaluesyyvalores) son discretizadosX-yy-valores en un espacio de fase, cada uno de los cuales se da como una matriz bidimensional. La función meshgrid genera talesformaciónS para este propósito. El 0.1 en un rango determina la resolución del espacio. Los dos últimos argumentos (xdotyydot) describe los valores de (dx / dt ) y (dy / dt ) en cada punto. Cada uno dexdotyydottambién debe darse como una matriz bidimensional, pero comoxvaluesyyvaloresya están en la estructura de la matriz, puede 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, elstreamplotLa función ajusta automáticamente la densidad de las curvas de muestra que se dibujarán para que la estructura del espacio de fase sea fácilmente visible a simple vista. También agrega puntas de flecha a las curvas para que podamos entender en qué dirección fluye el estado del sistema.

Una característica interesante 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 generalmente sea 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, tal 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 las líneas nulas en un espacio de fase. Una línea nula es un conjunto de puntos donde al menos una de las derivadas de tiempo de las variables de estado se vuelve cero. Estas nulas sirven

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

como "paredes" 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 línea nula), por lo que solo muestrear un punto en cada región le brinda 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, encuentre las líneas nulas. Este es un sistema bidimensional con dos, por lo que debe haber dos conjuntos de líneas nulas; 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, o y = frac {a} {b}. etiqueta {(7.18)} ]

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

[y = 0, o x = frac {c} {d}. etiqueta {(7.19)} ]

Nuevamente, estas dos líneas constituyen otro conjunto de líneas nulas 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 líneas nulas.

En todas partes del primer conjunto de líneas nulas, ( frac {dx} {dt} ) es cero, es decir, no hay movimiento "horizontal" en el estado del sistema. Esto significa que todas las trayectorias locales en y cerca de esas líneas nulas deben fluir verticalmente. De manera similar, en todas partes del segundo conjunto de líneas nulas, ( frac {dy} {dt} ) es cero, por lo tanto no hay movimiento “vertical” y todas las trayectorias locales fluyen horizontalmente. Estos hechos se pueden indicar en el espacio de fase agregando pequeños segmentos de línea en cada línea nula (figura 7.2.3).

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 ("hacia el noreste") ]

[ cdot frac {dx} {dt} <0, frac {dy} {dt}> (hacia "Noroeste") ]

[ cdot frac {dx} {dt}> 0, frac {dy} {dt} <0 (hacia "Sudeste") ]

[ cdot frac {dx} {dt} <, frac {dy} {dt} <0 (hacia el "suroeste") ]

Dentro de cualquier región, una trayectoria nunca cambia entre estas cuatro categorías, porque si lo hiciera, tal punto de cambio ya tendría que haber aparecido como parte de las líneas nulas. Por lo tanto, muestrear solo un punto de cada región es suficiente para saber en qué dirección fluyen las trayectorias. Por ejemplo, puede elegir ((2c / d, 2a / b) ) como un punto de muestra en la región superior derecha. Conecta 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)} ]

Por lo tanto, puede decir que las trayectorias fluyen hacia el “Noroeste” en esa región. Si repite la misma prueba para las otras tres regiones, obtiene un esquema del espacio de fase del modelo que se muestra en la figura 7.2.4, que muestra un comportamiento cíclico causado por la interacción entre la presa ( (x )) y poblaciones de depredadores ( (y )).

Figura ( PageIndex {4} ): Dibujar un espacio de fase (3): Agregar direcciones de trayectorias en cada región.

Este tipo de reconstrucción manual de la estructura del espacio de fase no puede decirle la forma exacta de una trayectoria en particular, que normalmente se obtiene mediante 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 gira 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 alejándose 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 las líneas nulas y las direcciones de las trayectorias proporcionan información sobre la estructura subyacente del espacio de fases, que a veces no es clara en un espacio de fases 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} )

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

[ 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} )

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

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


Ver el vídeo: Clase de 8 Visualización espacial (Septiembre 2021).