CursosEmpresasBlogLiveConfPrecios

Resolución del Sistema de Lorenz con Método RK4

Clase 9 de 12 • Taller de Aplicación de Modelos Numéricos

Contenido del curso

Modelos matemáticos

  • 1
    Modelos Matemáticos: Conceptos Básicos y Aplicaciones

    Modelos Matemáticos: Conceptos Básicos y Aplicaciones

    04:24 min
  • 2
    Modelado de Sistemas Dinámicos con Funciones Matemáticas y Python

    Modelado de Sistemas Dinámicos con Funciones Matemáticas y Python

    04:29 min
  • 3
    Ecuaciones Diferenciales Ordinarias: Modelos de Epidemias

    Ecuaciones Diferenciales Ordinarias: Modelos de Epidemias

    05:09 min
  • 4
    Resolución de EDOs para Modelar Epidemias con Python

    Resolución de EDOs para Modelar Epidemias con Python

    03:24 min
  • 5
    Convección y Sistemas Dinámicos: El Modelo de Lorenz

    Convección y Sistemas Dinámicos: El Modelo de Lorenz

    04:05 min

Modelos númericos

  • 6
    Método de Euler: Solución Numérica de Ecuaciones Diferenciales

    Método de Euler: Solución Numérica de Ecuaciones Diferenciales

    03:19 min
  • 7
    Solución Numérica y Exacta de Ecuaciones Diferenciales

    Solución Numérica y Exacta de Ecuaciones Diferenciales

    03:54 min

Sistemas caóticos

  • 8
    Comparación de Métodos: Runge-Kutta 4 vs Euler en Ecuaciones Diferenciales

    Comparación de Métodos: Runge-Kutta 4 vs Euler en Ecuaciones Diferenciales

    02:33 min
  • 9
    Resolución del Sistema de Lorenz con Método RK4

    Resolución del Sistema de Lorenz con Método RK4

    Viendo ahora

Modelos epidemiológicos

  • 10
    Modelo SIR: Simulación Numérica de Epidemias con RK4

    Modelo SIR: Simulación Numérica de Epidemias con RK4

    03:39 min
  • 11
    Modelos SIR y el Número Básico de Reproducción (R₀)

    Modelos SIR y el Número Básico de Reproducción (R₀)

    02:42 min
  • 12
    Modelado Epidemiológico con SIRD y Algoritmo de Evolución Diferencial

    Modelado Epidemiológico con SIRD y Algoritmo de Evolución Diferencial

    04:41 min
Tomar examen

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads

      Recordemos ahora que el sistema de Lorenz está dado por el siguiente conjunto de ecuaciones:

      CleanShot 2020-07-22 at 20.52.05.png

      Aquí las variables (X₁, X₂, X₃) son proporcionales a (ω, Ta Tb), respectivamente y cada celda de convección que se forma tiene una velocidad característica de rotación ω y una variación en temperatura horizontal y vertical Ta y Tb, respectivamente. Recordemos que el sistema de Lorenz es una simplificación de modelado de un fenómeno que llamamos convección, el cual es el responsable de muchas cosas en nuestra vida diaria como el clima y el agua hirviendo en el fogón de nuestra cocina y ahora en esta clase resolveremos estas ecuaciones usando RK4. El código que escribimos en la clase anterior para implementar un paso del algoritmo RK4 también sirve para resolver un sistema de EDOs, en ese caso tanto y como y₀ serán estructuras tipo array() donde cada elemento corresponde a una de las variables (X₁, X₂, X₃).

      image14.png
      image15.png

      Ahora, vamos a implementar una clase que contiene métodos para construir el sistema de EDOs de Lorenz y el uso de RK4 para obtener la solución numérica del mismo. Esta clase contiene lo siguiente:

      1. Un constructor donde definimos el tiempo inicial y final de la simulación, la condición inicial y los parámetros de las ecuaciones de Lorenz, así mismo se define el número de pasos a ejecutar lo cual a su vez determina el intervalo de tiempo 𝚫t.
      2. Un método set_params() que guarda los parámetros del modelo como atributos de la clase.
      3. Un método func() que define las derivadas que determinan el sistema de EDOs, esto es la version en varias ecuaciones de la definición de f(t, y) que hicimos en clases previas
      def f(t, y): return y
      1. Finalmente, un método run_solver() que ejecuta el algoritmo RK4 paso a paso para calcular la solución numérica
      image21.png

      Una vez definida esta clase es posible ejecutar la solución numérica unas pocas líneas, pero antes de hacerlo es importante notar que aquí el valor de los parámetros es crucial para determinar el tipo de comportamiento que el sistema tendrá, colocaremos dos ejemplos particulares:

      image19.png
      image13.png

      La única diferencia entre ambas soluciones es que el valor del parámetro σ cambia de 5 (a la izquierda) a 10 (a la derecha). En ambos casos graficamos la velocidad de rotación de la celda de convección, y a partir de eso vemos que:

      1. En el caso de la izquierda, la velocidad de rotación de la celda convectiva se estabiliza en un valor constante después de un tiempo, lo que indica que la celda mantendrá un comportamiento estable durante tiempos largos.
      2. En el caso de la derecha, la velocidad de rotación se vuelve errática y no logra estabilizarse, mostrando una evolución en el tiempo que no parece seguir un patrón bien definido y a este comportamiento lo denominamos convección turbulenta. En este caso las variables que describen el comportamiento de las celdas de convección muestran constantemente fluctuaciones erráticas.

      Pero es importante resaltar que ambos casos consideran la misma condición inicial. Y la conclusión de esto es que el sistema puede mostrar un comportamiento regular para ciertas condiciones físicas particulares y para otras puede mostrar un comportamiento turbulento, que es lo que usualmente sucede en la vida real. Incluso, otro aspecto importante de este sistema dinámico es que presenta una propiedad interesante denominada Caos. ¿Qué es el Caos?, bueno para entender esto vamos a comparar dos simulaciones que tengan los mismos parámetros pero cuyas condiciones iniciales sean diferentes tan solo por una valor muy pequeño:

      image16.png

      Del gráfico resultante vemos que una pequeña variación en la condición inicial conduce a comportamientos totalmente diferentes y a esta característica de un sistema dinámico la denominamos Caos. En general, el caos es un término que hace referencia a que una pequeña modificación de un sistema implica consecuencias muy grandes. A menudo encontramos referencias de esto en la cultura pop, como aquellas películas del Efecto Mariposa. Si no las has visto y aún no crees estar seguro de lo que significa el caos, recomiendo que las veas para que tengas más conciencia del significado de caos.

      Así pues, cuando hay caos presente en un sistema dinámico es extremadamente difícil hacer predicciones de este, porque en la vida real los datos se obtienen a partir de instrumentos que tienen una precisión finita, así que medir con precisión absoluta una condición inicial para la formación de un huracán (por ejemplo) es imposible, y esto ya representa una limitación para poder hacer predicciones del clima en general.

      En nuestras próximas clases entraremos a la sección final de nuestro curso donde veremos como podemos usar métodos numéricos para modelar de manera más acertada la propagación de epidemias como el SARS-COV-2, por ahora cerramos esta clase con el notebook definitivo de lo que acabamos de hacer en este link.

      Comentarios

        Edson Luis Pérez Castillo

        Edson Luis Pérez Castillo

        student•
        hace 4 años

        En la comparativa del sistema al variar las condiciones iniciales hay un pequeño error: la segunda gráfica corresponde a uno de los valores de temperatura (x2) en lugar del valor de la velocidad de rotación (x1). La gráfica correcta sería la siguiente:

        descarga.png

        Si bien son bastante similares, corresponden a variables diferentes del sistema, es por ello que comento el error de graficado.

          Eduardo Monzón

          Eduardo Monzón

          student•
          hace 3 años

          Gracias por la corrección.

        Giancarlo Arturo Cespedes Mas

        Giancarlo Arturo Cespedes Mas

        student•
        hace 4 años

        Recomiendo mucho repasar métodos numéricos para llegar a este punto sin tantas complicaciones. De momento soy el único comentario de esta clase.