Saltar al contenido principal
LibreTexts Español

5.2:5.2 Visualización del espacio de fase de modelos de tiempo discreto de estado continuo

  • Page ID
    115791
  • \( \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}}\)

    Una vez que encuentre dónde están los puntos de equilibrio del sistema, el siguiente paso natural del análisis sería dibujar la imagen completa de su espacio de fase (si el sistema es bidimensional o tridimensional).

    Para sistemas discretos de tiempo con variables de estado continuo (es decir, variables de estado que toman valores reales), dibujar un espacio de fase se puede hacer muy fácilmente usando simulaciones sencillas por computadora, tal como hicimos en la Fig. 4.4.2. Sin embargo, para revelar una estructura a gran escala del espacio de fases, probablemente necesitará dibujar muchos resultados de simulación a partir de diferentes estados iniciales. Esto se puede lograr modificando la función de inicialización para que pueda recibir valores iniciales específicos para variables de estado, y luego puede poner el código de simulación en bucles for que barren los valores de los parámetros para un rango dado. Por ejemplo:

    Código 5.1.png

    Código 5.1 pt2.png

    Código 5.1 pt3.png
    Las partes revisadas del ejemplo anterior están marcadas con ###. Aquí, se utilizó la función arange para variar los valores x e y iniciales\([−2,2]\) a lo largo del intervalo 0.5. Para cada estado inicial, se realiza una simulación durante 30 pasos, y luego el resultado se traza en azul (la opción 'b' de la gráfica). La salida de este código es la Fig. 5.2.1, que muestra claramente que el espacio de fase de este sistema está hecho de muchas trayectorias concéntricas alrededor del origen.

    Fig. 5.1.PNG
    Figura\(\PageIndex{1}\): Espacio de fase dibujado usando Código 5.1.
    Ejercicio\(\PageIndex{1}\)

    Dibuje un espacio de fase del siguiente modelo de ecuación de diferencia bidimensional en Python:

    \[x_{t} = x_{t-1} +0.1(x_{t-1} -x_{t-1}y_{t-1})\label{(5.11)} \]

    \[y_{t} =y_{t-1} +0.1(y_{t-1} -x_{t-1}y_{t-1})\label{(5.12)} \]

    \[(x>0, x>0)\label{(5.13)} \]

    Los sistemas tridimensionales también se pueden visualizar de manera similar. Por ejemplo, intentemos visualizar el siguiente modelo de ecuación de diferencia tridimensional:

    \[x_{t} =0.5x+y\label{(5.14)} \]

    \[y_{t} =-0.5x +y\label{(5.15)} \]

    \[z_{t} = -x-y+z\label{(5.16)} \]

    El trazado en 3-D requiere un componente matplotlib adicional llamado Axes3D. Un código de muestra se da en el Código 5.2. Tenga en cuenta la nueva línea Axes3D de importación al principio, así como las dos líneas adicionales antes de los bucles for. Este código produce el resultado mostrado en la Fig. 5.2.2.

    Código 5.2.png

    Código 5.2 pt.png

    Tenga en cuenta que generalmente no es una buena idea dibujar muchas trayectorias en un espacio de fase 3-D, porque la visualización se volvería muy concurrida y difícil de ver. Dibujar un pequeño número de trayectorias características es más útil.

    En general, debes tener en cuenta que la visualización del espacio de fase de los modelos de tiempo discreto puede no siempre dar imágenes que sean fácilmente visibles para el ojo humano. Esto se debe a que el estado de un sistema de tiempo discreto puede saltar en el espacio de fase, y así las trayectorias pueden cruzarse entre sí (esto no sucederá para los modelos de tiempo continuo). Aquí hay un ejemplo. Sustitúyase el contenido de la función de actualización del Código 5.1 por lo siguiente:

    código 5.3.png
    Como resultado, se obtiene la Fig. 5.2.3. Si bien esto puede ser estéticamente agradable, no ayuda mucho a nuestra comprensión del sistema porque hay demasiadas trayectorias superpuestas en el diagrama. En este sentido, la visualización sencilla del espacio de fase puede no ser siempre útil para analizar sistemas dinámicos de tiempo discreto. En las siguientes secciones, discutiremos algunas posibles soluciones para este problema.

    Fig. 5.2.PNG
    Figura\(\PageIndex{2}\): Espacio de fase tridimensional dibujado con Código 5.2. Si está dibujando esto desde un entorno interactivo, como Anaconda Spyder o Enthought Canopy, puede rotar la gráfica 3D de forma interactiva haciendo clic y arrastrando.
    Figura\(\PageIndex{3}\): Espacio de fase dibujado con Código 5.3.

    This page titled 5.2:5.2 Visualización del espacio de fase de modelos de tiempo discreto de estado continuo 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.