{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\"AeroPython\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Resolución de Ecuaciones Diferenciales Ordinarias" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "_¿Te acuerdas de todos esos esquemas numéricos para integrar ecuaciones diferenciales ordinarias? Es bueno saber que existen y qué peculiaridades tiene cada uno, pero en este curso no queremos implementar esos esquemas: queremos resolver las ecuaciones. Los problemas de evolución están por todas partes en ingeniería y son de los más divertidos de programar._" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Para integrar EDOs vamos a usar la función `odeint` del paquete `integrate`, que permite integrar sistemas del tipo:\n", "\n", "$$ \\frac{d\\mathbf{y}}{dt}=\\mathbf{f}\\left(\\mathbf{y},t\\right)$$\n", "\n", "con condiciones iniciales $\\mathbf{y}(\\mathbf{0}) = \\mathbf{y_0}$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
**¡Importante!**: La función del sistema recibe como primer argumento $\\mathbf{y}$ (un array) y como segundo argumento el instante $t$ (un escalar). Esta convención va exactamente al revés que en MATLAB y si se hace al revés obtendremos errores o, lo que es peor, resultados incorrectos.
" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "from scipy.integrate import solve_ivp" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Vamos a integrar primero una EDO elemental, cuya solución ya conocemos:\n", "\n", "$$y' + y = 0$$\n", "\n", "$$f(y, t) = \\frac{dy}{dt} = -y$$" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "def f(t, y):\n", " return np.array([-y])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Condiciones iniciales:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "y0 = np.array([1])\n", "\n", "tini = 0\n", "tfin = 3" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Integramos y representamos la solución:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sol = solve_ivp(f, (tini, tfin), y0)\n", "\n", "plt.plot(sol.t, sol.y[0, :], 'o-')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Pero, ¿cómo se han seleccionado los puntos en los que se calcula la solución? El solver los ha calculado por nosotros. Si queremos tener control sobre estos puntos, podemos pasar de manera explícita el vector de tiempos:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "time = np.linspace(tini, tfin, 30)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sol_2 = solve_ivp(f, (tini, tfin), y0, t_eval=time)\n", "\n", "plt.plot(sol_2.t, sol_2.y[0, :], 'o-')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Probemos a pintar las dos soluciones anteriores, una encima de la otra:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(sol_2.t, sol_2.y[0, :], 'o-')\n", "plt.plot(sol.t, sol.y[0, :], 'o-')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Podemos observar que a pesar de que en la primera se han usado muchos menos puntos, aquellos en los que se ha calculado la solución coinciden con el segundo resultado. Esto se debe a que, en realidad, el solver siempre da los pasos que considere necesarios para calcular la solución, pero sólo guarda los que nosotros le indicamos. Esto lo podemos ver del siguiente modo:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "function evaluations in sol 1: 32\n", "function evaluations in sol 2: 32\n" ] } ], "source": [ "print(f\"function evaluations in sol 1: {sol.nfev}\")\n", "print(f\"function evaluations in sol 2: {sol_2.nfev}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "De hecho podemos usar la salida densa para obtener la solución en un punto cualquiera:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "sol_3 = solve_ivp(f, (tini, tfin), y0, dense_output=True)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0.31820121])" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sol_3.sol(1.14567)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "t = np.linspace(tini, tfin, 45)\n", "y = sol_3.sol(t)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(t, y[0, :], 'o-')" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(t, y[0, :], '^-')\n", "plt.plot(sol_2.t, sol_2.y[0, :], 'x-')\n", "plt.plot(sol.t, sol.y[0, :], 'o-')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### EDOs de orden superior" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Tendremos que acordarnos ahora de cómo reducir las ecuaciones de orden. De nuevo, vamos a probar con un ejemplo académico:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$y + y'' = 0$$\n", "\n", "$$\\mathbf{y} \\leftarrow \\pmatrix{y \\\\ y'}$$\n", "\n", "$$\\mathbf{f}(\\mathbf{y}) = \\frac{d\\mathbf{y}}{dt} = \\pmatrix{y \\\\ y'}' = \\pmatrix{y' \\\\ y''} = \\pmatrix{y' \\\\ -y}$$" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def f(t, y):\n", " return np.array([y[1], -y[0]])\n", "\n", "t0 = 0\n", "t1 = 10\n", "\n", "t = np.linspace(t0, t1)\n", "y0 = np.array([1.0, 0.0])\n", "\n", "sol = solve_ivp(f, (t0, t1), y0, t_eval=t)\n", "\n", "plt.plot(t, sol.y[0, :], label='$y$')\n", "plt.plot(t, sol.y[1, :], '--k', label='$\\dot{y}$')\n", "plt.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Para ampliar\n", "\n", "En nuestra edición anterior del curso de AeroPython puedes ver una aplicación muy interesante de lo que hemos visto hasta ahora al **salto de Felix Baumgartner**. ¡Aquí lo tienes!\n", "\n", "http://nbviewer.ipython.org/github/AeroPython/Curso_AeroPython/blob/v1.0/Notebooks/Clase6b_Finale.ipynb\n", "\n", "$$\\displaystyle m \\frac{d^2 y}{d t^2} = -m g + D$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "
\n", "####

¡Síguenos en Twitter!\n", "
\n", "###### Follow @AeroPython \n", "
\n", "###### Este notebook ha sido realizado por: Juan Luis Cano, y Álex Sáez \n", "
\n", "##### \"Licencia
Curso AeroPython por Juan Luis Cano Rodriguez y Alejandro Sáez Mollejo se distribuye bajo una Licencia Creative Commons Atribución 4.0 Internacional." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "_Las siguientes celdas contienen configuración del Notebook_\n", "\n", "_Para visualizar y utlizar los enlaces a Twitter el notebook debe ejecutarse como [seguro](http://ipython.org/ipython-doc/dev/notebook/security.html)_\n", "\n", " File > Trusted Notebook" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/html": [ "/* This template is inspired in the one used by Lorena Barba\n", "in the numerical-mooc repository: https://github.com/numerical-mooc/numerical-mooc\n", "We thank her work and hope you also enjoy the look of the notobooks with this style */\n", "\n", "\n", "\n", "El estilo se ha aplicado =)\n", "\n", "\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Esta celda da el estilo al notebook\n", "from IPython.core.display import HTML\n", "css_file = '../styles/aeropython.css'\n", "HTML(open(css_file, \"r\").read())" ] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.4" } }, "nbformat": 4, "nbformat_minor": 1 }