{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\"AeroPython\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Clase 4b: Ecuaciones no lineales y EDOs" ] }, { "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": { "collapsed": false }, "outputs": [], "source": [ "import numpy as np" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Ecuaciones no lineales" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Visto cómo resolver sistemas de ecuaciones lineales, tal vez sea incluso más atractivo resolver ecuaciones no lineales. Para ello, importaremos el paquete `optimize` de SciPy:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from scipy import optimize" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "La ayuda de este paquete es bastante larga (puedes consultarla también en http://docs.scipy.org/doc/scipy/reference/tutorial/optimize.html). El paquete `optimize` incluye multitud de métodos para **optimización**, **ajuste de curvas** y **búsqueda de raíces**. Vamos a centrarnos ahora en la búsqueda de raíces de funciones escalares. Para más información puedes leer http://pybonacci.org/2012/10/25/como-resolver-ecuaciones-algebraicas-en-python-con-scipy/" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
**Nota**: La función `root` se utiliza para hallar soluciones de *sistemas* de ecuaciones no lineales así que obviamente también funciona para ecuaciones escalares. No obstante, vamos a utilizar las funciones `brentq` y `newton` para que el método utilizado quede más claro.
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Hay básicamente dos tipos de algoritmos para hallar raíces de ecuaciones no lineales:\n", "\n", "* Aquellos que operan en un intervalo $[a, b]$ tal que $f(a) \\cdot f(b) < 0$. Más lentos, convergencia asegurada.\n", "* Aquellos que operan dando una condición inicial $x_0$ más o menos cerca de la solución. Más rápidos, convergencia condicionada.\n", "\n", "De los primeros vamos a usar la función `brentq` (aunque podríamos usar `bisect`) y de los segundos vamos a usar `newton` (que en realidad engloba los métodos de Newton y de la secante)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Ejemplo**:\n", "\n", "$\\ln{x} = \\sin{x} \\Rightarrow F(x) \\equiv \\ln{x} - \\sin{x} = 0$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Lo primero que tengo que hacer es definir la ecuación, que matemáticamente será una función $F(x)$ que quiero igualar a cero." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def F(x):\n", " return np.log(x) - np.sin(x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Para hacernos una idea de las posibles soluciones siempre podemos representar gráficamente esa función:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "-c:2: RuntimeWarning: divide by zero encountered in log\n", "-c:3: RuntimeWarning: divide by zero encountered in log\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": [ "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\n", "Xjg4xkXp7pgAAAAASUVORK5CYII=\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = np.linspace(0, 10, num=100)\n", "plt.plot(x, F(x), 'k', lw=2, label=\"$F(x)$\")\n", "plt.plot(x, np.log(x), label=\"$\\log{x}$\")\n", "plt.plot(x, np.sin(x), label=\"$\\sin{x}$\")\n", "plt.plot(x, np.zeros_like(x), 'k--')\n", "plt.legend(loc=4)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Y utilizando por ejemplo el método de Brent en el intervalo $[0, 3]$:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "2.219107148913746" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "optimize.brentq(F, 0, 3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
¿No habíamos dicho que en Python no se puede dividir por cero? Observa esto:
" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "ename": "ZeroDivisionError", "evalue": "division by zero", "output_type": "error", "traceback": [ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[1;31mZeroDivisionError\u001b[0m Traceback (most recent call last)", "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[1;36m1\u001b[0m \u001b[1;33m/\u001b[0m \u001b[1;36m0\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[1;31mZeroDivisionError\u001b[0m: division by zero" ] } ], "source": [ "1 / 0" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "-c:1: RuntimeWarning: divide by zero encountered in true_divide\n" ] }, { "data": { "text/plain": [ "array([ inf])" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "1 / np.array([0])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
Si manejamos arrays de NumPy las operaciones siguen las reglas dadas en el estándar de punto flotante (IEEE 754). Las divisiones por cero resultan en infinito, 0 / 0 es NaN, etc. Podemos controlar si queremos warnings o errores con la función `np.seterr`.
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Ejercicio" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Obtener por ambos métodos (`newton` y `brentq`) una solución a la ecuación $\\tan{x} = x$ distinta de $x = 0$. Visualizar el resultado." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Argumentos extra" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Nuestras funciones siempre tienen que tomar como primer argumento la incógnita, el valor que la hace cero. Si queremos incluir más, tendremos que usar el argumento `args` de la funciones de búsqueda de raíces. Este patrón se usa también en otras partes de SciPy, como ya veremos." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Vamos a resolver ahora una ecuación que depende de un parámetro:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\\sqrt{x} + \\log{x} = C$$." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def G(x, C):\n", " return C - np.sqrt(x) - np.log(x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Nuestra incógnita sigue siendo $x$**, así que debe ir en primer lugar. El resto de parámetros van a continuación, y sus valores se especifican a la hora de resolver la ecuación usando `args`:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "1.8773216666875554" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "optimize.newton(G, 2.0, args=(2,))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Flujo compresible" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Esta es la relación isentrópica entre el número de Mach $M(x)$ en un conducto de área $A(x)$:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$ \\frac{A(x)}{A^*} = \\frac{1}{M(x)} \\left( \\frac{2}{1 + \\gamma} \\left( 1 + \\frac{\\gamma - 1}{2} M(x)^2 \\right) \\right)^{\\frac{\\gamma + 1}{2 (\\gamma - 1)}}$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Para un conducto convergente:\n", "\n", "$$ \\frac{A(x)}{A^*} = 3 - 2 x \\quad x \\in [0, 1]$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Hallar el número de Mach en la sección $x = 0.9$." ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": [ "iVBORw0KGgoAAAANSUhEUgAAAX4AAAEACAYAAAC08h1NAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\n", "AAALEgAACxIB0t1+/AAAFmdJREFUeJzt3VlsXNd9x/Hff/YhZVmRJVMWSZGURFKbZcuSZTlJEbZN\n", "C8UPTpMuabokTYvGDeCiDwWapUWtPnTJQ4EgCGAIzgI/xQHaIlUTN6nbRq1RJEaUxI6bWKjVxoDs\n", "pEKzOE1jbRT/fThnOCOapIZzyTvDOd8PMNBcziXn+Jr8nXPPNubuAgCko9DtAgAA8kXwA0BiCH4A\n", "SAzBDwCJIfgBIDEEPwAkJnPwm9nHzeyCmT27zDkfNrPnzewZMzuU9T0BAJ1bjRb/JyQdX+pFM7tP\n", "0m53n5T0bkkPr8J7AgA6lDn43f1JST9Y5pT7JT0az31K0iYzG8r6vgCAzuTRxz8s6XzL8YuSRnJ4\n", "XwDAIvIa3LUFx+wTAQBdUsrhPV6SNNpyPBK/dh0zozIAgA64+8LG9bLyaPGfkvQOSTKzY5JedvcL\n", "i53or3xDPvuyfG5O7p7s46GHHup6GXrlwbXgWnAtln90InOL38w+KekNkraY2XlJD0kqS5K7n3T3\n", "x83sPjM7J+nHkt615A87e0zyS5IKUukWqbxdqoxLtUmpMiZVRqTySPi3uFmyFVVyAACtQvC7+9vb\n", "OOfBtn7Y3I+az69+OzxeOROOrS5ZOf7Ay5Jfi5XDbVJ1XKpOhkqiMiJVRkMFUdpC5QAAC+TRx786\n", "/GJ4tJq9EB4Xnw7HVpOsEs9vVA6bF9w5jIeKoVFBFG/pucphZmam20XoGVyLJq5FE9ciG+u0j2i1\n", "mZn7mTzeaLHKIXYrVSfCnUN1PN41jMbKYVPPVQ4AIElmJl/h4G56wd+O+W4lD5WDFLqNysOxcpiW\n", "qmMLKocNXS0ygDQR/LmxlsphTpq7KBUqUunWUAlUd8Uxh1g5VHZIleHmGAUArBKCv6cUpUI9/KvZ\n", "UDkUN0qlbeFuoToVKojKjvgYlUpb6VICsCIE/3pj1fCQWsYbtkiV7fGuYTqON+xo3j0U6l0tMoDe\n", "QvD3HZMKA5KVQqUwdzEEf3lbqAiqU1Jtd6wU4p1D6VbuGoCEEPwpskqYqSRJfkXy2XjXMBLuGmp7\n", "woB0466hPBLGIwD0BYIfi4h3DSrpurGG8napMiHVpmO30li8cxiTijd1u9AA2kTwozPzaxu8ZYbS\n", "UKgEanuk2lSzUqiOs10G0EMIfqyN67qTLkvyOHV1LFQKjUHo6nj4WmmIigHICcGPLinF2UbWHGco\n", "N9Y0TLWMM4yHyqE0JFleHwUB9DeCHz2qGMcZCnHa6qxU3hoGnKvTCyqGCWYmAStA8GOdalQM8Y5B\n", "18Jitsp47EqKFUPj0YMb6wHdQvCjT7V2JTX2ThoK3Ua1vS13DI2KgVlJSAfBjzTNDz43ZiVV426r\n", "O6XagbAdd3VCquwM3UusY0AfIfiBxVg9TledleYuhW22KyNhDUNtn1TdHSqJ6gQzkrDuEPzAihXi\n", "+EIxdiNdi91IE1Jtv1TfG+4UGhUDeyWhxxD8wGqb30jPpblXwuculEfDoHP9QPzgnlgxcLeALiD4\n", "gVyZVBiUrCjNXZY0F7fd3hkqhdqeuB3GrrCwjbEFrAGCH+glVot3C3Fn1dJr4mrnvXHQeXezYmAm\n", "EjpE8APrRqk5XtDYbrsyGgac6wdDF1Jtdxh4Zm8kLIPgB/pCoWWl8yVJxbjN9lSoFOrTcSbSblY5\n", "g+AH+p+1zEK6Isml8nBYq1A/GLqRqrvD3UJpG5VCAgh+IHWFQUml5i6q5e2h22jgjji2MBmOuVPo\n", "GwQ/gCXYgvUKirunTi+oFKbCIDTWDYIfQAfitNTGmIKVm7OP6nfGMYWpONA82O3CYgGCH8Aqa+yc\n", "qvixnTfFdQq3xzGFRqUwLlmpqyVNFcEPID/zm+NdCwvYykNxPOGQVN8fK4VpqbSF8YQ1RPAD6A3z\n", "g8yXwsrmylhYzVw/FD/HOU5JZTVzZgQ/gB5Xil1Hc3E189Y4FfUuaeD2uGPqnnCXgLYQ/ADWr/m7\n", "hIthgHl+LOFQ2CW1tjfcOVix2yXtKQQ/gD5UkQpxLMGvxAVr+6TBI82ts6uT8Zz0EPwAElKIdwmK\n", "3Ua3hK6igbtjt1G8S+jzDfAIfgCQpMIGSYX4GQo3hc9PGDgcZhzV9oUKoU8WqhH8ALAcGwjrDfxi\n", "GGSuTkoDd4VHfX/oOlpnFQLBDwCdsHoYUL6uQjgSK4QDUn2fVLy526VcFMEPAKvpujuEm1rGEA41\n", "K4TGyuZuFZHgB4AcFAYlFcMYQumW0E00cE/Y8K5+e1ibYOVcikLwA0DXWBxUdmnuUvjwnPqd0uAx\n", "aeBgqBDKw6u+fQXBDwA9pxw+WtOvhtCvTkmDR6XBu+NGd/sz7XpK8APAetEYP5jvLrpd2vC6OH5w\n", "UKqMt3V3QPADwLpWjOMHs5LPhbGCgbtjd9GdYUC5UL/uOwh+AOhHrXcH5W2hEhh8vbThXtnGNxD8\n", "AJCGsqRZ2RFfcfAX1qhEAIA1dbXj7yT4ASAxmYPfzI6b2Vkze97M3rvI6zNm9kMz+1p8/FHW9wQA\n", "dC7TpyObWVHSRyS9UdJLkr5sZqfc/bkFp/6Lu9+f5b0AAKsja4v/qKRz7v6Cu1+V9JikNy9yHp+0\n", "DAA9ImvwD0s633L8YvxaK5f0WjN7xsweN7N9Gd8TAJBBpq4ehVC/ka9KGnX3V8zsTZI+LWlqsRNP\n", "nGw+nzkszRzJWDoA6DOnz0inv9I46mw6fqZ5/GZ2TNIJdz8ej98vac7dP7jM93xL0mF3//6CrzOP\n", "HwBWxLoyj/+MpEkzGzeziqS3STp1XbHMhszChhNmdlShsvn+q38UACAPmbp63H3WzB6U9HlJRUkf\n", "c/fnzOyB+PpJSb8g6T1mNivpFUm/nLHMAIAM2LIBANat7nT1AADWGYIfABJD8ANAYgh+AEgMwQ8A\n", "iSH4ASAxBD8AJIbgB4DEEPwAkBiCHwASQ/ADQGIIfgBIDMEPAIkh+AEgMQQ/ACSG4AeAxBD8AJAY\n", "gh8AEkPwA0BiCH4ASAzBDwCJIfgBIDEEPwAkhuAHgMQQ/ACQGIIfABJD8ANAYgh+AEgMwQ8AiSH4\n", "ASAxBD8AJIbgB4DEEPwAkBiCHwASQ/ADQGIIfgBIDMEPAIkh+AEgMQQ/ACSG4AeAxBD8AJAYgh8A\n", "EkPwA0BiCH4ASAzBDwCJIfgBIDEEPwAkJnPwm9lxMztrZs+b2XuXOOfD8fVnzOxQ1vcEAHQuU/Cb\n", "WVHSRyQdl7RP0tvNbO+Cc+6TtNvdJyW9W9LDWd4TAJBN1hb/UUnn3P0Fd78q6TFJb15wzv2SHpUk\n", "d39K0iYzG8r4vgCADmUN/mFJ51uOX4xfu9E5IxnfFwDQoVLG7/c2z7N2vu/EyebzmcPSzJHOCgUA\n", "/er0Gen0VxpH7Ubw9bIG/0uSRluORxVa9MudMxK/9ionHshYGgDoczNHWhvFpj95ZOXhn7Wr54yk\n", "STMbN7OKpLdJOrXgnFOS3iFJZnZM0svufiHj+wIAOpSpxe/us2b2oKTPSypK+pi7P2dmD8TXT7r7\n", "42Z2n5mdk/RjSe/KXGoAQMfMvbM+otVmZu5nul0KAFhPTHbE5e4Lx1GXxcpdAEgMwQ8AiSH4ASAx\n", "BD8AJIbgB4DEEPwAkBiCHwASQ/ADQGIIfgBIDMEPAIkh+AEgMQQ/ACSG4AeAxBD8AJAYgh8AEkPw\n", "A0BiCH4ASAzBDwCJIfgBIDEEPwAkhuAHgMQQ/ACQGIIfABJD8ANAYgh+AEgMwQ8AiSH4ASAxBD8A\n", "JIbgB4DEEPwAkBiCHwASQ/ADQGIIfgBIDMEPAIkh+AEgMQQ/ACSG4AeAxBD8AJAYgh8AEkPwA0Bi\n", "CH4ASAzBDwCJIfgBIDEEPwAkhuAHgMQQ/ACQGIIfABJT6vQbzWyzpE9JGpP0gqRfcveXFznvBUn/\n", "K+mapKvufrTT9wQAZJelxf8+SU+4+5Skf4rHi3FJM+5+iNAHgO7LEvz3S3o0Pn9U0s8tc65leB8A\n", "wCrKEvxD7n4hPr8gaWiJ81zSP5rZGTP77QzvBwBYBcv28ZvZE5K2LfLSH7YeuLubmS/xY17n7t8x\n", "s62SnjCzs+7+5GInnjjZfD5zWJo5slzpACA9p89Ip7/SOFoqdpdn7h1+o9lZhb77/zaz2yR9wd33\n", "3OB7HpL0f+7+l4u85n6mo6IAQKJMdsTl7ivqTs/S1XNK0jvj83dK+vSrimQ2YGY3xeeDkn5W0rMZ\n", "3hMAkFGW4P8LST9jZv8h6afiscxsu5l9Np6zTdKTZva0pKckfcbd/yFLgQEA2XTc1bPa6OoBgJXK\n", "v6sHALAOEfwAkBiCHwDWC6tJhY2SlaXSkLTprR39mI736gEArBWTChskueSXpcqENHhEGrxXGjgk\n", "1W+Xihub564QwQ8A3WTV8PBLUmFQqu2TNtwrDRyR6gel2qRkqxvVBD8A5KIQgl1zkl8JrfiBw9Lg\n", "PdLAwRDypVtyKQnBDwCrrTAgqSTNvRLCvH5AGjwmDdwZAr66S7Ji14pH8ANAp6wmFarS3MXwvDYV\n", "umgGG900+6TiYLdL+SoEPwDcUDm04v2KJJeqO0M3zcDd0sDtUm2/VN7a7UK2jeAHgHml2E0zK/ms\n", "VBkL3TMDR0N3Tf2AVB6WbH1/xAjBDyBBjYC/JvlVqbIjdM0MHJXq+8OjMiZZfy51IvgB9C+rSFYP\n", "4a5rUmU8zKAZOBLCvbY3fK1PA34pBD+A9c/qIeT9cgjxyoQ0cIdUPyzV94VHeXTdd9GsFoIfwPpR\n", "GJRUDNMkixuk6m6pfmdYzVrbE1rxpVsJ+Bsg+AH0mGJzodPcRak8JFWnpcHDYfZMfW8I+eLN3S7o\n", "ukXwA+gOq0uFijR3ORxXxkKLfeCuMP+9vleq7AznYFUR/ADWUDHOnlFcxbo5ds/cEfrga3vCozRE\n", "90yOCH4A2TX63v2ypEJsve+Lrfc9Um06BH6h1u2SQgQ/gHZZNWxLoNnQPVMekqqTcf+ZAzHcp6TS\n", "VlrvPY7gB9CisbDJ48yZTWF7gvqBEPDVqbAfTWXHqm8VjPzwfw5ITqPf3UK4Fwak6lgcUL0ztNxr\n", "U2EHSbpm+hLBD/Slxt7vJvnF0E1T2RFCfT7cJ0O/+/wnOSEVBD+wbi0W7qNhzvvAHbHPPYZ7aVO3\n", "C4seQvADPa2xmEmxW6Yewr02HaZENmbLEO5YAYIf6DarxNkyjQHVjbFbZk8M99hqr+6Sijd1u7To\n", "AwQ/kIfGKlWfleYuSaUtUnUi7A5Z298S7hOhVQ+sIYIfWBWFOFOmEBcxSSrfFlep7g+t9+qucFwZ\n", "ZSokuorfPqBdVg2P+S6Zm+Jg6lSY597ojqnuYhETehrBD8yLrXYrxo3DrkmlbbFLprFp2EQMd7pk\n", "sH4R/EhL4wM7dC1s+Vu8WaqMxHnt+5v97NWdbByGvkXwo8+Umy1xvyipJJW3x20H9sftBiZCuFfG\n", "pUK1m4UFuoLgxzrTst2AX1HojhkKId7Y4re6U6qOh4BnbjvwKgQ/ekxjdkwxBLtfCVMfG4uWavtC\n", "sFfGQ6udj9kDVozgR84srES1ouRXwyBqabNUHglz2RvB3uiKKd8WzgWwagh+rLLWFvvVMKf9umCP\n", "89kr46E7prydOe1AzviLwwoV4+Bpoyvmagj2ymiYEVPbG1vrEy3BTosd6CUEPxaoNPdg98uS5kI/\n", "emVH2OmxNh0HTsfCo7xdskI3CwxghQj+1FhdsrLC6tOLYf+Y0lAI8cYHcDRCvTIWBlYZPAX6CsHf\n", "V1pWnvpsc4FS+bbQ9VLbI9V2tQT7DnZ7BBJE8K8n83vFqKUbZqtUHpVqu8MHcFTHQ6BXxqTKcGzd\n", "A0ATwd8zFrbWL4XWeGlbCPPqZAj3+VDfIRU30w0DYMUI/rzM7xEzJ/klSYXQWq+Mxk2/psMHXld2\n", "hK+Vh9lOAMCaIPhXg1ViF4zFuetX4tz12+JWAtNxiuOO8CiPhr53WusAuoDgv6FSnN5YlHQ1dsFs\n", "bJkJMxkXJI02W+ulIaY4AuhZiQd/y2IkxX71Qj2G+mjzQ6yrO8LK08ooA6YA1r0+Dv6WrQMae68X\n", "6rFffST2q0/GVvpIS796rdsFB4A11XHwm9kvSjohaY+ku939q0ucd1zShxQS+KPu/sFO37OptaW+\n", "RKhXdoWWemU0ttZH+MQkAFC2Fv+zkt4i6eRSJ5hZUdJHJL1R0kuSvmxmp9z9uWWLVKhLKqjZ/TIo\n", "lW8NAV7d2fzA6spwGCitDPdVqJ8+fVozMzPdLkZP4Fo0cS2auBbZdBz87n5Wkmz5mSlHJZ1z9xfi\n", "uY9JerOkxYN/y+/EvdZHQwu9PBJmxiQ2rZFf6iauRRPXoolrkc1a9/EPSzrfcvyipHuWPHvs4TUu\n", "DgBg2eA3syckbVvkpQ+4+9+18fO9o1IBANaMuWfLZjP7gqTfX2xw18yOSTrh7sfj8fslzS02wGtm\n", "VBIA0AF3X9Fq0NXq6lnqTc9ImjSzcUnflvQ2SW9f7MSVFhwA0JmOl5ea2VvM7LykY5I+a2Z/H7++\n", "3cw+K0nuPivpQUmfl/RNSZ9afkYPAGCtZe7qAQCsL7luKGNmx83srJk9b2bvXeKcD8fXnzGzQ3mW\n", "L083uhZm9qvxGnzdzP7NzA52o5x5aOf3Ip53t5nNmtlb8yxfntr8G5kxs6+Z2b+b2emci5ibNv5G\n", "tpjZ58zs6XgtfqMLxVxzZvZxM7tgZs8uc87KctPdc3koLLM9J2lcUlnS05L2LjjnPkmPx+f3SPpS\n", "XuXL89HmtbhX0s3x+fGUr0XLef8s6TOSfr7b5e7i78UmSd+QNBKPt3S73F28Fick/XnjOkj6nqRS\n", "t8u+BtfiJyQdkvTsEq+vODfzbPHPL+Zy96uSGou5Wt0v6VFJcvenJG0ys6Ecy5iXG14Ld/+iu/8w\n", "Hj4laSTnMualnd8LSfpdSX8l6X/yLFzO2rkWvyLpr939RUly9+/mXMa8tHMtviNpY3y+UdL3PIwr\n", "9hV3f1LSD5Y5ZcW5mWfwL7aYa7iNc/ox8Nq5Fq1+S9Lja1qi7rnhtTCzYYU/+sYKv34dmGrn92JS\n", "0mYz+4KZnTGzX8+tdPlq51o8Imm/mX1b0jOSfi+nsvWaFedmnrtztvvHunBaZz/+kbf932RmPynp\n", "NyW9bu2K01XtXIsPSXqfu7uFPUL6depvO9eiLOkuST8taUDSF83sS+7+/JqWLH/tXIsPSHra3WfM\n", "bJekJ8zsDnf/0RqXrRetKDfzDP6XJI22HI8q1EzLnTMSv9Zv2rkWigO6j0g67u7L3eqtZ+1ci8OS\n", "Hov7Qm2R9CYzu+rup/IpYm7auRbnJX3X3S9Kumhm/yrpDkn9FvztXIvXSvpTSXL3/zSzb0maVlg/\n", "lJIV52aeXT3zi7nMrKKwmGvhH+4pSe+Q5lf9vuzuF3IsY15ueC3MbIekv5H0a+5+rgtlzMsNr4W7\n", "73T3CXefUOjnf08fhr7U3t/I30p6vZkVzWxAYTDvmzmXMw/tXIuzCjv/KvZpT0v6r1xL2RtWnJu5\n", "tfjdfdbMGou5ipI+5u7PmdkD8fWT7v64md1nZuck/VjSu/IqX57auRaS/ljSayQ9HFu6V939aLfK\n", "vFbavBZJaPNv5KyZfU7S1yXNSXrE3fsu+Nv8vfgzSZ8ws2cUGrF/4O7f71qh14iZfVLSGyRtiYtm\n", "H1Lo8us4N1nABQCJ4RPBASAxBD8AJIbgB4DEEPwAkBiCHwASQ/ADQGIIfgBIDMEPAIn5f/qGAQ7x\n", "BpCnAAAAAElFTkSuQmCC\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def A(x):\n", " return 3 - 2 * x\n", "\n", "x = np.linspace(0, 1)\n", "area = A(x)\n", "r = np.sqrt(area / np.pi)\n", "plt.fill_between(x, r, -r, color=\"#ffcc00\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "¿Cuál es la función $F$ ahora? Hay dos opciones: definir una función $F_{0.9}(M)$ que me da el número de Mach en la sección $0.9$ o una función $F(M; x)$ con la que puedo hallar el número de Mach en cualquier sección. *Bonus points* si haces la segunda opción :)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Para resolver la ecuación utiliza el método de Brent (bisección). ¿En qué intervalo se encontrará la solución? ¡Si no te haces una idea es tan fácil como pintar la función $F$!" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def F(M, x, g):\n", " return A(x) - (1 / M) * ((2 / (1 + g)) * (1 + (g - 1) / 2 * M ** 2)) ** ((g + 1) / (2 * (g - 1))) " ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.5902487609888621" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "optimize.brentq(F, 0.01, 1, args=(0.9, 1.4))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Ecuación de Kepler" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Representar la ecuación de Kepler\n", "\n", "$$M = E - e \\sin E$$\n", "\n", "que relaciona dos parámetros geométricos de las órbitas elípticas, la anomalía media $M$ y la anomalía excéntrica $E$.\n", "\n", "![Anomalías excéntrica y media](http://upload.wikimedia.org/wikipedia/commons/thumb/f/f8/Kepler%27s-equation-scheme.png/250px-Kepler%27s-equation-scheme.png)\n", "\n", "para los siguientes valores de excentricidad:\n", "\n", "* Tierra: $0.0167$\n", "* Plutón: $0.249$\n", "* Cometa Holmes: $0.432$\n", "* 28P/Neujmin: $0.775$\n", "* Cometa Halley: $0.967$\n", "\n", "Para reproducir esta gráfica:" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from IPython.display import HTML\n", "HTML('')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Para ello utilizaremos el método de Newton (secante).\n", "\n", "1- Define la función correspondiente a la ecuación de Kepler, que no solo es una ecuación implícita sino que además depende de un parámetro. ¿Cuál es la incógnita?" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def F(E, e, M):\n", " return M - E + e * np.sin(E)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "2- Como primer paso, resuélvela para la excentricidad terrerestre y anomalía media $M = 0.3$. ¿Qué valor escogerías como condición inicial?" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.30501513714875778" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "optimize.newton(F, 0.3, args=(0.0167, 0.3))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "3- Como siguiente paso, crea un dominio (`linspace`) de anomalías medias entre $0$ y $2 \\pi$ y resuelve la ecuación de Kepler con excentricidad terrestre para todos esos valores. Fíjate que necesitarás un array donde almacenar las soluciones. Representa la curva resultante." ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": [ "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\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "N = 500\n", "\n", "M = np.linspace(0, 2 * np.pi, N)\n", "sol = np.zeros_like(M)\n", "\n", "for ii in range(N):\n", " sol[ii] = optimize.newton(F, sol[ii - 1], args=(0.249, M[ii]))\n", "\n", "plt.plot(M, sol)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "4- Como último paso, solo tienes que meter parte del código que ya has escrito en un bucle que cambie el valor de la excentricidad 5 veces. Es aconsejable que tengas todo ese código en una única celda (esta de aquí abajo)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Vamos a introducir aquí un truco muy útil en Python:" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": [ "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\n", "lAQEBFiVeemll+Sjjz7KOI6NjZVy5crJhQsXMnTfu3dvRnubNm1k2rRpGcfvv/++jBw5UkRE3njj\n", "Dfnss88y9d+0aVPZuXOniBS9o9cUDCdOGE5+8eLcyV+NvSreP3jLO5vese1MN24UcXMT+fPP29Jv\n", "XUSEuO3eLRuuXbMpd2P3Ddldc7eE/mz7y6AkYMvRl54gUy7wVb4F0k8X6ZLna5RSrFu3jq5du2ac\n", "W7hwIfPmzcs4XrRoEV999RXBwcGAUQw8MjLSZr85lQf08PDgwQcfZNWqVfTr14/Nmzcze/bsbP00\n", "atSIWbNmMW7cOE6ePMljjz3GzJkzs1WicnFxwcHBgbCwMJo0aWJRp7CwMNq2bZtxXLlyZVxdXbl8\n", "+TKenp5A9pKD5scVK1bk6tWrgJHLf9GiRZl0Tk5OJjQ01Ob7oim5nDwJjz4K06fD88/nLB8WE0b3\n", "xd3p27Qvk7pOsr7WtXgxfPABrF8PHTvmW7+5oaF8HhzMhvvuo31V6xWfwhaEEfRhEHcvvpvqj1kv\n", "LlIasCtHnx8HXZiI2SLihQsXeO2119i+fTsdO3ZEKUWrVq1yXGjMqTwgwIsvvshPP/1EcnIyDzzw\n", "gFW5QYMGMWjQIGJiYnj99df56KOPWLRoUSYZR0dHOnbsyKpVq+jcubPFfjw8PDK+rADi4uKIjIzM\n", "VNvWFub/yJ6enowePZpPrTyqXtQL3KW1tmpOFJVdJ05Ajx4wY4ZRrS8nLkZfpNuibgxrOYzRD4+2\n", "Lvjll/D117B9OzRvDuTdplQRPgkK4reICHZ6e9PY0dGinKQKgR8FErkuEu+d3lRuZr1MYEFTWJ+T\n", "XowtIuLi4lBK4ebmhslkYv78+Zw4cSLH63IqDwjw1FNPceTIEb755huGWlnxOnPmDNu3bycxMZEK\n", "FSpQsWLFjLq2WZk2bRoLFixgxowZGb84/Pz8GDRoEGB8YcyfPx8/Pz8SExP59NNP6dChQ8Zs3hLm\n", "X2jyb5iOV199lR9++IGDBw8iIsTFxbFhw4aMouM1a9YkMDAwx/dJU/ycOGHM5HPr5AOjAum8oDMj\n", "2o6w7uRF4MMPYd482LMnw8nnldiUFPqfOMGBmzc50KaNVSefEp3C8T7HiT0WS+sDrYvUyRcm2tEX\n", "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\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "M = np.linspace(0, 2 * np.pi, N)\n", "sol = np.zeros_like(M)\n", "\n", "plt.figure(figsize=(6, 6))\n", "\n", "for ee in 0.0167, 0.249, 0.432, 0.775, 0.967:\n", " # Para cada valor de excentricidad sobreescribimos el array sol\n", " for ii in range(N):\n", " sol[ii] = optimize.newton(F, sol[ii - 1], args=(ee, M[ii]))\n", " plt.plot(M, sol)\n", "\n", "plt.xlim(0, 2 * np.pi)\n", "plt.ylim(0, 2 * np.pi)\n", "plt.xlabel(\"$M$\", fontsize=15)\n", "plt.ylabel(\"$E$\", fontsize=15)\n", "plt.gca().set_aspect(1)\n", "plt.grid(True)\n", "plt.legend([\"Earth\", \"Pluto\", \"Comet Holmes\", \"28P/Neujmin\", \"Halley's Comet\"], loc=2)\n", "plt.title(\"Kepler's equation solutions\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Ecuaciones diferenciales ordinarias" ] }, { "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": 19, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from scipy.integrate import odeint" ] }, { "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": 20, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def f(y, t):\n", " return -y" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Condiciones iniciales:" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": false }, "outputs": [], "source": [ "y0 = 1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Vector de tiempos donde realizamos la integración:" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": false }, "outputs": [], "source": [ "t = np.linspace(0, 3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Integramos y representamos la solución:" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": [ "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\n", "EZEY+n+a08D97TlJ6AAAAABJRU5ErkJggg==\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sol = odeint(f, y0, t)\n", "plt.plot(t, sol)" ] }, { "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": 24, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": [ "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\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def f(y, t):\n", " return np.array([y[1], -y[0]])\n", "\n", "t = np.linspace(0, 10)\n", "y0 = np.array([1.0, 0.0])\n", "\n", "sol = odeint(f, y0, t)\n", "\n", "plt.plot(t, sol[:, 0], label='$y$')\n", "plt.plot(t, sol[:, 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": [ "Si te ha gustado esta clase:\n", "\n", "Tweet\n", "\n", "\n", "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "####

¡Síguenos en Twitter!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "###### Follow @Pybonacci Follow @Alex__S12 Follow @newlawrence " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### \"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": [ "##### " ] }, { "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": 2, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "Follow @Pybonacci\n", "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%%html\n", "Follow @Pybonacci\n", "" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "El estilo se ha aplicado =)\n", "\n", "\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Esta celda da el estilo al notebook\n", "from IPython.core.display import HTML\n", "css_file = '../static/styles/style.css'\n", "HTML(open(css_file, \"r\").read())" ] } ], "metadata": { "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.4.3" } }, "nbformat": 4, "nbformat_minor": 0 }