{ "metadata": { "name": "", "signature": "sha256:3a1cb4e82e4fbd4378242fc3c92becef8023553d24acf5682cb489b6181c4390" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\"AeroPython\"" ] }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Clase 6a: Interpolaci\u00f3n y ajuste" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "_La \u00faltimas tareas importantes que vamos a ver c\u00f3mo hacer con SciPy van a ser **interpolar** y **ajustar** una serie de puntos. Son tareas diferentes que aprovecharemos en circunstancias distintas, pero ambas muy \u00fatiles. Esta clase est\u00e1 basada en el art\u00edculo http://pybonacci.org/2013/08/15/ajuste-e-interpolacion-unidimensionales-basicos-en-python-con-scipy/ _" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Dos problemas diferentes\n", "\n", "Supongamos que tenemos una serie de puntos que representan los datos de un cierto experimento. Como ejemplo, vamos a cargar los datos de la polar de un avi\u00f3n que est\u00e1n en el archivo `polar.dat`." ] }, { "cell_type": "code", "collapsed": false, "input": [ "import numpy as np\n", "\n", "%matplotlib inline\n", "import matplotlib.pyplot as plt" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [ "#!cat polar.dat Linux / Mac OS X\n", "!type ../static/polar.dat" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "# Polar data for a certain airplane\r\n", "# 1st line: C_L\r\n", "# 2rd line: C_D\r\n", "\r\n", "-0.9100 -0.7200 -0.4800 -0.2700 -0.0600 0.1600 0.3100 0.4700 0.6000 0.8200 1.0200 1.2000 1.2400 1.1500 1.0000 0.8000\r\n", " 0.0538 0.0438 0.0316 0.0245 0.0228 0.0232 0.0262 0.0301 0.0348 0.0461 0.0608 0.0771 0.0814 0.0900 0.0950 0.1000\r\n" ] } ], "prompt_number": 2 }, { "cell_type": "markdown", "metadata": {}, "source": [ "La primera l\u00ednea son los datos de $C_L$ y la segunda los datos de $C_D$. Recordamos que hab\u00eda que usar la funci\u00f3n `np.loadtxt`, y en este caso no hay que especificar ning\u00fan argumento extra m\u00e1s porque ya por defecto detecta que los comentarios empiezan por `#`." ] }, { "cell_type": "code", "collapsed": false, "input": [ "datos = np.loadtxt(\"../static/polar.dat\")\n", "C_L = datos[0]\n", "C_D = datos[1]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 2 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Vamos a representar esos datos con cruces azules (pista: usar `mew=2`, \"marker edge width 2\", para que las cruces se vean mejor):" ] }, { "cell_type": "code", "collapsed": false, "input": [ "plt.plot(C_D, C_L, 'x', mew=2, label=\"Datos reales\")\n", "plt.xlabel(\"$C_D$\")\n", "plt.ylabel(\"$C_L$\")\n", "plt.legend()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 3, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAZUAAAEUCAYAAADjt6tGAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAG5ZJREFUeJzt3X+QVPWZ7/HPA4gJMDIDzAwLDAxo1kgwKy6XINEwJN6E\nsGqyKruQhbKyyW6SK9Fb11oxuYliYpUrVVumIkMkiVp6ETG4WbOCXDG5NHHjOsDiD0bU4A+UH8oM\nCCIqUYbn/nFODzNDN/Qw3+4+3fN+VU3Rffr0mWd6hvnMt7/nPF9zdwEAEEKfYhcAACgfhAoAIBhC\nBQAQDKECAAiGUAEABEOoAACCSVSomNndZrbHzLZkebzBzN4xs6fjjx8UukYAQHb9il1AF/dIukPS\nfSfYZ727X1agegAA3ZCokYq7PyFp/0l2s0LUAgDovkSFSg5c0lQze9bMHjWz8cUuCABwTNLe/jqZ\nzZLq3P19M/uypIcl/XmRawIAxEoqVNz93Q6315jZEjMb4u5vd9zPzGhoBgCnwN17NMVQUm9/mVmt\nmVl8e7Ik6xooae6eqI+bbrqp6DWUSl3URE29oa4k1hRCokYqZvaApGmShpnZDkk3STpNktx9qaQr\nJX3HzI5Iel/S7GLVCgA4XqJCxd3nnOTxRkmNBSoHANBNJfX2VylraGgodgkZJbEuasoNNeUuiXUl\nsaYQLNT7aEliZl6OXxcA5JOZyXs4UZ+ot78AJEt8XgzKUL7+8CZUAJwQo/7yk88/FphTAQAEQ6gA\nAIIhVAAAwRAqAJBgqVRKdXV1xS4jZ4QKgJJUX1+vAQMG6IwzzlBVVZU++9nPaunSpTmfWLB9+3b1\n6dNHR48ezXOlvQuhAqBbGhullpZj91taom2FPoaZadWqVTp48KDeeOMN3XDDDbrtttv0jW98o1vH\nyffZbUeOHMnr8ZOGUAGQs8ZGaf58afr0KAhaWqLb8+fnHgohjtFVRUWFLr30Uj344IO699579fzz\nz0uSVq9erYkTJ2rw4MEaPXq0br755vbnfO5zn5MkVVZWqqKiQk1NTXJ33XLLLaqvr1dtba2uuuoq\nHTx4UJJ0+PBhzZ07V8OGDVNVVZUmT56slo7J2EF9fb0WLVqkT3/606qoqNDRo0f11FNPaerUqaqq\nqtJ5552n9evXt+9/zz33aPz48TrjjDN05pln6uc//3nWr3X37t264oorVFNTo3HjxumOO+5of2zD\nhg2aNGmSBg8erOHDh+u66647tRe0J4rdFTNPnTYdQM91/b+0Z4/7+PHuknt1dfQhRdv27MntmCGO\n4e5eX1/vv/vd747bPnr0aL/zzjvd3T2VSnlzc7O7uz/33HNeW1vrDz/8sLu7b9++3c3M29ra2p97\n1113+VlnneWvvfaaHzp0yC+//HKfN2+eu7vfeeedfumll/oHH3zgR48e9c2bN/vBgwcz1jZmzBif\nOHGi79y50w8fPuw7d+70oUOH+po1a9zd/fHHH/ehQ4f63r173d199erV/uqrr7q7+/r1633AgAG+\nefNmd3dft26djxo1yt3d29ra/Pzzz/cf//jH/tFHH/mrr77q48aN88cee8zd3adMmeLLli1zd/f3\n3nvPn3rqqYz1ZfsdGW/v0e9fRioAclZTI61bJ1VXS62t0Ud1dbStpqZwxziRESNG6O23oxUxpk2b\npk996lOSpHPPPVezZ89uHyF4hre97r//fl133XWqr6/XwIEDdeutt2rFihVqa2tT//79tW/fPm3b\ntk1mpokTJ6qioiJjDWama665RiNHjtTpp5+uZcuWaebMmZoxY4Yk6eKLL9akSZO0evVqSdLMmTM1\nduxYSdEI6otf/KKeeOKJ4467ceNG7d27Vz/4wQ/Ur18/jR07Vt/85je1YsUKSVL//v21bds27d27\nVwMGDNBnPvOZnryUp4RQAVBWdu3apSFDhkiSmpqaNH36dNXU1KiyslJLly7Vvn37sj73zTff1Jgx\nY9rvjx49WkeOHFFLS4vmzZunL33pS5o9e7ZGjhypBQsWnHC+pOMZW6+//rpWrlypqqqq9o8//OEP\neuuttyRJa9as0ZQpUzR06FBVVVXp0UcfzVjn66+/rt27d3c6zq233tr+Ntxdd92lP/7xjzrnnHM0\nefLk9tAqJEIFQM7S8x/p0UV6tJGeHynUMbLZuHGjdu3apQsvvFCS9LWvfU1f/epXtXPnTh04cEDf\n/va328/2ytSqZMSIEdq+fXv7/TfeeEP9+vVTbW2t+vXrpxtvvFHPP/+8nnzySa1atUr33Xdf1lo6\nHn/06NGaN2+e9u/f3/7x7rvv6vrrr9ef/vQnXXHFFbr++uvV0tKi/fv3a+bMmRlHUnV1dRo7dmyn\n4xw8eFCrVq2SJJ111llavny5WltbtWDBAl155ZX64IMPTum1PFWECoCcrVwpbd0qjR8vNTdHH+PH\n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\n3f2RHA7BRAkAJFhiJurTzGydpOsyTdSb2RRJC919Rnz/e5KOdp2sN7NkfVEAUCJ6OlGf1N5f2b6o\nTZI+YWb1knZL+ltJc7ru1NMXBQBwahIzp2Jmf21mOyRNkbTazNbE20eY2WpJcvcjkuZLekzSVkkP\nuvsLxaoZANBZ4t7+AgCUrsSMVHJlZjPM7EUz22ZmC7Ls89P48WfNbGK8rc7M1pnZ82bWbGbXJKCm\nj5lZk5k9Y2ZbzezWYtfU4bG+Zva0meVyAkXeazKz7Wb2XFzThlA1Bair0sweMrMX4u/hlGLWZGZn\nx69R+uOdUD/rPXydvhf/39tiZsvN7PQE1HRtXE+zmV0bop5cajKzT5rZf5rZYTO7rrtfT5HqutvM\n9pjZlpN+IncvmQ9FV9G/LKle0mmSnpF0Tpd9Zkp6NL79GUlPxbeHSzovvj1I0ktdn1vomuL7A+J/\n+0l6StKFxa4p3va/JN0v6d+L/b2L778maUiSfqbi+/dK+vsO38PBxa6pwz59JL0pqa6YNcXPeVXS\n6fH9ByVdVeSaJii64Ppj8XEel3RmgWqqljRJ0i2KTkrK+bnFqCt+7CJJEyVtOdnnKrWRSi4XP16m\n6D+63L1JUqWZ1br7W+7+TLz9kKQXJI0oZk3x/ffjffor+sa/XeyazGyUov+Mv1T2kyYKWlMsHydg\nnHJdZjZY0kXufnf82BF3f6eYNXXZ52JJr7j7DvVcT2o6KOkjSQPMrJ+kAZJ2FbGm4ZLOkdTk7ofd\nvU3SekmXF6Imd291902KXpPufj3FqEvu/oSk/bl8olILlVwufsy0z6iOO1h09thESU3Fril+m+kZ\nSXskrXP3rUWsKb3P7ZL+SdLRALWEqskl/dbMNpnZPySgrlGSxkpqNbN7zGyzmf3CzAYUuaaOZkta\nHqCentQ00t3flvQvkt5QdNbmAXf/bRFrGqFolHKRmQ2Jv2d/peNfv3zVlI/nFvPYnZRaqOR6VkHX\nv2jbn2dmgyQ9JOnaeMRS1Jrcvc3dz1P0A/05M2soYk1mZpdIanH3pzM8Xoya0i5094mSvizpajO7\nKExZPfr+9ZN0vqQl7n6+pPck3VDkmqIHzPpLulRSqH7Np/z9M7MzJf1PRW+9jJA0yMz+rpg1ufuL\nkm6TtFbSGklPK8wfUT058ymfZ00V7IysUguVXZLqOtyvU5S4J9pnVLxNZnaapH+VtMzdH05CTWnx\n2yarFb2nWcyapkq6zMxek/SApM+b2X1Frknuvjv+t1XSvykazofQk7p2Strp7hvj7Q8pCpli1pT2\nZUn/Fb9eIfSkpkmSnnT3fR5dFvBrRT9nxaxJ7n63u09y92mSDiiaZy1ETfl4bjGP3VmISaBCfSj6\ny/AVRX/x9NfJJ+am6NjEnEm6T9LtCappmKTK+PbHFXVo/kIxa+qyzzRJjyTgdRogqSK+PVDSHyR9\nsdh1xfd/L+nP49sLJd1W7JribSsUYDI80PfvPEnN8c+4KZrjuLrYr5Okmvjf0YrmWM8oRE0d9l2o\nzhP1OT+3kHV12F6vHCbqg/zAFfJD0V9gLyk6k+F78bZvSfpWh30Wx48/K+n8eNuFioa3zyga6j4t\naUaRazpX0ua4puck/VOxX6cux5imQGd/9fB1Ghe/Rs8o+uX0vST8TMXb/0LSxnj7rxXg7K8ANQ2U\ntFdxECfkdbpe0vOK5jLulXRaAmr6fVzTM5KmF+p1UnQm6g5J7yia/H5D0qBsz01IXQ8omg/7U7zP\n17N9Hi5+BAAEU2pzKgCABCNUAADBECoAgGAIFQBAMIQKACAYQgUAEAyhAgAIhlABAAST1DXqgbJg\nZn8m6X9IalV0pfJBRe1A7i1qYUCeECpAnpjZOElLJf2tR+3fZWaNitq5AGWJt7+A/Fkm6Z/TgRJ7\nWtKmItUD5B29v4A8MLOpkpa6+7ldtg/yMOv4AInESAXIjwskpbpuJFBQ7ggVID/aJL3fcYOZfczM\nPh/fPtvMVplZg5ldE8+/ACWPUAHyY42kKWZmUrROs6S/0bHRy8cULYCWkvQLRetaACWPs7+APHD3\nl+Izvf7FzLYqGrU84u7pddAvkvT/4tsjFa1vD5Q8JuqBIjCzn7n7d+LbCyQtd/cdRS4L6DFGKkCB\nmdmnJNWZ2YWSRkhKESgoF4xUAADBMFEPAAiGUAEABEOoAACCIVQAAMEQKgCAYAgVAEAwhAoAIBhC\nBQAQDKECAAjm/wNfzqv/EOh++QAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 3 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Vemos la forma cl\u00e1sica de la polar de un avi\u00f3n. Hallando *el \u00edndice* del m\u00e1ximo valor de $C_L$ podemos descartar los datos fuera de la regi\u00f3n de entrada en p\u00e9rdida, y para eso necesitamos la funci\u00f3n `np.argmax`:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "idx_stall = np.argmax(C_L)\n", "idx_stall" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 4, "text": [ "12" ] } ], "prompt_number": 4 }, { "cell_type": "code", "collapsed": false, "input": [ "C_L[idx_stall]" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 5, "text": [ "1.24" ] } ], "prompt_number": 5 }, { "cell_type": "code", "collapsed": false, "input": [ "plt.plot(C_D[:idx_stall + 1], C_L[:idx_stall + 1], 'x', mew=2, label=\"Datos reales\")\n", "plt.plot(C_D[idx_stall + 1:], C_L[idx_stall + 1:], 'o', mfc='none', label=\"Fuera del modelo\")\n", "plt.xlabel(\"$C_D$\")\n", "plt.ylabel(\"$C_L$\")\n", "plt.legend(loc=4)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 6, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nxbRnnhkJg9iJIFdemVwwNPb1icyMmTNnsnXrVr744gtuuOEG7rnnHi655JIGbSfVe2N79+5N6fab\nO4WKSBa78MLISR8rVkSufTr++H0nglx4YepfX5fc3FxGjhzJs88+y5NPPskHH3wAwKxZs+jbty/t\n2rWjZ8+e3HbbbfHXDB48GID27duTm5vLokWLcHcmTpxIUVERnTt35pe//CVbt24FYOfOnYwZM4ZO\nnTqRl5dHv379qKio9fweioqKuPfeeznxxBPJzc2lqqqKt956iwEDBpCXl8fJJ5/MggUL4us//vjj\n9OnTh8MPP5wjjzySP/3pT3V+reXl5VxwwQUUFBTQu3dvHnzwwfhzb7/9Nqeeeirt2rWjS5cuXHvt\ntQf/oWYLd29yt8iXJdK01PVzvWGDe36+O0Ru+fmRZclq7OtjioqK/LXXXttvec+ePf3hhx92d/ey\nsjJfvny5u7u///773rlzZ3/hhRfc3X316tVuZl5ZWRl/7aOPPupHHXWUf/bZZ759+3Y///zzfezY\nse7u/vDDD/vIkSP9u+++86qqKl+yZIlv3bq11tp69erlffv29bVr1/rOnTt97dq13rFjR589e7a7\nu8+bN887duzoX331lbu7z5o1y1etWuXu7gsWLPDWrVv7kiVL3N19/vz53qNHD3d3r6ys9FNOOcXv\nuOMO37Nnj69atcp79+7tc+bMcXf3/v37+7Rp09zd/dtvv/W33nqr4R9sCtT1sxRd3qjfv9pTEZGU\n6tatG5s3R2ZVGjJkCMcddxwAJ5xwAqNHj47vIXgth73++te/cu2111JUVESbNm246667mD59OpWV\nlbRq1YpNmzaxcuVKzIy+ffuSm5tbaw1mxu9+9zu6d+/OoYceyrRp0xgxYgTDhw8H4Oyzz+bUU09l\n1qxZAIwYMYIjjjgCiOxBDRs2jNdf3/9yuMWLF/PVV19x8803k5OTwxFHHMGll17K9OnTAWjVqhUr\nV67kq6++onXr1px22mmN+SizgkJFJIvVvJg2P3/fxbR1HAkK9PXJWLduHR06dABg0aJFnHnmmRQU\nFNC+fXumTp3Kpk11zrjE+vXr6dWrV/xxz5492bt3LxUVFYwdO5ZzzjmH0aNH0717d66//voDjpcU\nFhbG73/++ec8//zz5OXlxW9vvPEGX375JQCzZ8+mf//+dOzYkby8PF555ZVa6/z8888pLy+vtp27\n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\n", "text": [ "" ] } ], "prompt_number": 6 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Hay dos cosas que nos pueden interesar:\n", "\n", "* Como *solo tenemos puntos intermedios*, no tenemos posibilidad de evaluar, por ejemplo, $C_L$ para un $C_D$ que no est\u00e9 en los datos. Si **interpolamos** la curva ya podemos hacerlo.\n", "* Sabemos que, fuera de la regi\u00f3n de entrada en p\u00e9rdida, la polar tiene *forma parab\u00f3lica*. Si **ajustamos** la curva podemos hallar el $C_{D0}$ y el $k$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Interpolaci\u00f3n\n", "\n", "Para interpolar utilizaremos el paquete `interpolate` de SciPy:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "from scipy import interpolate" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 7 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Vamos a generar unos puntos de ejemplo para explicar c\u00f3mo funciona. Para eso, vamos a usar simplemente la funci\u00f3n $\\sin{x}$ en un dominio con pocos puntos:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "x_i = [0.0, 0.9, 1.8, 2.7, 3.6, 4.4, 5.3, 6.2, 7.1, 8.0]\n", "y_i = [0.0, 0.8, 1.0, 0.5, -0.4, -1.0, -0.8, -0.1, 0.7, 1.0]\n", "plt.plot(x_i, y_i, 'x', mew=2)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 8, "text": [ "[]" ] }, { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAEACAYAAAC9Gb03AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAEKNJREFUeJzt3X+MZeVdx/HPh13RLiWS6p2lwCrVQu1kTASadVNSe8es\nzYK6tIkjJRqamlSiO/6IP0KpRva/hjSNpuFuxQrNtlLAwZasAUVo7600TZAtP8p0dhVqN+5imTOR\nQgMkBsrXP54zOz+8d+bOnNk59z7zfiU3nB/PveebWeZzzzzPOc9xRAgAkK+z6i4AAHBmEfQAkDmC\nHgAyR9ADQOYIegDIHEEPAJmrHPS277A9a/vpFdp8yvYztp+yfVnVYwIA+rcRZ/SflbSv107bV0t6\ne0RcIum3JX16A44JAOhT5aCPiEckfW+FJvslHS7bPirpPNs7qx4XANCfzeijv1DSyUXrpyRdtAnH\nBQBo8wZjvWydeRcAYJNs34RjPCdp16L1i8ptS9gm/AFgHSJi+cn0EptxRn9E0vWSZHuPpBcjYrZb\nw4gY+NfNN9+86cecnQ2NjoakUKORXlLaNjs7GDUOy8+SOut/UWe11/I86MdGXF55l6SvS3qH7ZO2\nf8v2DbZvKMP7AUn/aftZSbdJ+t2qx9xqpqakmRlpdFSank6v0dG0bWqq7uoAbKbledCPyl03EXFd\nH20mqx5nKztwIP13YkIaGUnL7Xb6B5/fB2Br6JYHq9mMPvqsNJvNWo67PNBHRnqHfF01rhV1bizq\n3FiDXOdaT/AcMRhjoLZjUGoBgGFhWzEAg7EAgBoR9ACQOYIeADJH0ANA5gh6AMgcQQ8AmSPoASBz\nBD0AZI6gB4DMEfQAkDmCHgAyR9ADQOYI+mVaLakoFtaLIm0DgGHFNMWLtFrS5KR06FCa712SxsfT\nJP8Sc78DGE5MU7xIUSwEe6ORts3NpSe5tNv9T/IPAJuln2mKCfplikIaG0sBL6XAn54m5AEMJuaj\nBwAQ9IvNd93MzaUz+UYjLY+PLx2gBYBhQtAvsvzp6tPTaXlmJu0DgGFEH/0yrdbSp6sXRQp5rrgB\nMIgYjAWAzDEYCwAg6AEgdwQ9APSQy5QoTIEAAF3kNCUKg7EA0MWwTInCVTcAUMEwTInCVTcAAIIe\nALrJaUoUgh4AushpShT66AGgh2GYEoXBWADIHIOxAACCHgByR9ADQOYIegDIHEEPAJkj6AEgcwQ9\nAGSOoAeAzBH0AJA5gh4AMkfQA0DmCHoAyBxBDwCZqxz0tvfZPm77Gds3dtnftP2S7SfK159XPSYG\nR6u19CEMRZG2ARgc26u82fY2SbdK2ivpOUmP2T4SEceWNf1qROyvciwMnlZLmpyUDh1KD0uWFh6m\nLA3WnN3AVlb1jH63pGcj4kREvCbpbknXdGm34lzJGE4TEwtP3BkbS6/5J/JMTNRdHYB5VYP+Qkkn\nF62fKrctFpLebfsp2w/YHq14TAyIkZF0Jj//LM35Z2u22wtP5AFQv0pdN0ohvprHJe2KiFdtXyXp\nPkmXdmt48ODB08vNZlPNZrNieQCQl06no06ns6b3VHqUoO09kg5GxL5y/SZJb0TELSu85zuSroiI\nF5Zt51GCQ6YoFvrkG420bW4udd1wVg9sjs14lOBRSZfYvtj22ZKulXRkWRE7bbtc3q305fLC//8o\nDJupqYU++enp9Jrvs5+aqrs6APMqdd1ExOu2JyU9KGmbpNsj4pjtG8r9t0n6NUm/Y/t1Sa9K+mDF\nmjEg5q+qmZhYOHtvt1PIc8UNMDgqdd1sJLpuAGDtNqPrBgAw4Ah6AMgcQQ8AmSPoASBzBD0AZI6g\nB4DMEfQAkDmCHgAyR9ADQOYIegDIHEEPAJkj6AEgcwQ9AGSOoAeAzBH0AJA5gh4AMkfQA0DmCHoA\nyBxBDwCZI+gBIHMEPQBkjqAHgMwR9ACQOYIeADJH0ANA5gh6AMgcQQ8AmSPoASBzBD0AZI6gB4DM\nEfQAkDmCHgAyR9ADQOYIegDIHEEPAJkj6AEgcwQ9AGSOoAeAzBH0AJA5gh4AMkfQA0DmCHoAyBxB\nDwCZI+gBIHMEPQBkjqAHgMwR9ACQucpBb3uf7eO2n7F9Y482nyr3P2X7sl6fVRRSq1W1IgDAYtur\nvNn2Nkm3Stor6TlJj9k+EhHHFrW5WtLbI+IS2z8v6dOS9nT7vPFxaWYmLR84UKUyAMC8qmf0uyU9\nGxEnIuI1SXdLumZZm/2SDktSRDwq6TzbO7t92MyMNDoqTUxUrAoAcFrVoL9Q0slF66fKbau1uajb\nhzUaUrstjYxUrAoAcFqlrhtJ0Wc79/O+V145qE98QjrnHKnZbKrZbFYqDgBy0+l01Ol01vQeR/Sb\n1V3ebO+RdDAi9pXrN0l6IyJuWdTmryV1IuLucv24pPdGxOyyzwopNDrKWT0A9Mu2ImL5yfQSVbtu\njkq6xPbFts+WdK2kI8vaHJF0fVnQHkkvLg/5eaOjqZ9+aqpiVQCA0yp13UTE67YnJT0oaZuk2yPi\nmO0byv23RcQDtq+2/aykVyR9uNfntdsp5LniBgA2TqWum41kOwalFgAYFpvRdQMAGHAEPQBkjqAH\nULtWK02BMo/pUDZW1evoAaCSVkuanJQOHUoXZEhMh7LRGIwFUKuiWAj2RiNtm5sT99T0qZ/BWIIe\nQO2KQhobSwEvpcCfnibk+8FVNwAAgh5Avea7bubm0pl8o5GWx8eXDtBi/Qh6ALWamlqYonx6Or2Y\nDmVj0UcPoHatVnoOxXyffFEwHUq/GIwFgMwxGAsAIOgBIHcEPQBkjqAHgMwR9ACQOYIeADJH0ANA\n5gh6AMgcQQ8AmSPoASBzBD0AZI6gB4DMEfQAkDmCHgAyR9ADQOYIegDIHEEPAJkj6AEgcwQ9AGSO\noAeAzBH0AJA5gh4AMkfQA0DmCHoAyBxBDwCZI+iRnVZLKoqF9aJI24CtanvdBQAbqdWSJielQ4ek\ndjttGx+XZmbS8oED9dUG1MURUXcNkiTbMSi1YHgVxUKwNxpp29ycNDqagn9kpN76gI1mWxHhFdsM\nSrgS9NgoRSGNjaWAl1LgT08T8shTP0FPHz0AZI6gR1bmu27m5tKZfKORlsfHlw7QAlsJQY+sTE2l\n/vnR0dRdMz2dlmdm0j5gK6KPHtlptaSJiYU++aJIIc8VN8gRg7EAkDkGYwEABD0A5G7dd8bafouk\neyT9pKQTkn49Il7s0u6EpO9L+oGk1yJi93qPCQBYuypn9B+V9FBEXCrpy+V6NyGpGRGXEfIAsPmq\nBP1+SYfL5cOS3r9C2xUHCgAAZ06VoN8ZEbPl8qyknT3ahaSHbR+1/ZEKxwMArMOKffS2H5J0fpdd\nf7Z4JSLCdq9rI6+MiO/abkh6yPbxiHikW8ODBw+eXm42m2o2myuVBwBbTqfTUafTWdN71n0dve3j\nSn3vz9t+q6R2RPzMKu+5WdLLEfHJLvu4jh4A1uhMX0d/RNKHyuUPSbqvSwE7bJ9bLp8j6X2Snq5w\nTADAGlU5o3+LpL+X9BNadHml7QskfSYiftn2T0n6YvmW7ZLujIiP9/g8zugBYI2YAgEAMscUCAAA\ngh4AckfQA0DmCHoAyBxBDwCZI+gBIHMEPQBkjqAHgMwR9ACQOYIeADJH0ANA5gh6AMgcQQ8AmSPo\nASBzBD0AZI6gB4DMEfQAkDmCHgAyR9ADQOYIegDIHEEPAJkj6AEgcwQ9AGSOoAeAzBH0wBbTaklF\nsbBeFGkb8rW97gIAbJ5WS5qclA4dktrttG18XJqZScsHDtRXG84cR0TdNUiSbMeg1ALkqigWgr3R\nSNvm5qTR0RT8IyP11oe1s62I8IptBiVcCXpgcxSFNDaWAl5KgT89TcgPq36Cnj56AMgcQQ9sIfNd\nN3Nz6Uy+0UjL4+NLB2iRF4Ie2EKmplL//Oho6q6Znk7LMzNpH/JEHz2wxbRa0sTEQp98UaSQ54qb\n4cRgLABkjsFYAABBDwC5I+gBIHMEPQBkjqAHgMwR9ACQOYIeADJH0ANA5gh6AMgcQQ8AmSPoASBz\nBD0AZI6gB4DMrTvobU/Y/pbtH9i+fIV2+2wft/2M7RvXezwAwPpUOaN/WtIHJP1rrwa2t0m6VdI+\nSaOSrrP9zgrHrF2n06m7hFUNQ41S/nW2Wkuf2lQUaduZkvvPc7MNS539WHfQR8TxiPiPVZrtlvRs\nRJyIiNck3S3pmvUecxAMwz/+MNQo5V1nqyVNTi48om/+EX6Tk2cu7HP+edZhWOrsx5nuo79Q0slF\n66fKbUDWJiYWHtE3NpZe84/wm5iouzpsNdtX2mn7IUnnd9n1sYj4xz4+n0dGYUsaGZHa7RTwc3Np\nW6ORts0/wg/YLJUfJWi7LemPI+LxLvv2SDoYEfvK9ZskvRERt3Rpy5cCAKzDao8SXPGMfg16HeSo\npEtsXyzpvyVdK+m6bg1XKxQAsD5VLq/8gO2TkvZIut/2P5XbL7B9vyRFxOuSJiU9KGlG0j0Rcax6\n2QCAflXuugEADLba74wdhhuqbN9he9b203XXshLbu2y3yxvZpm3/ft01dWP7R2w/avtJ2zO2P153\nTb3Y3mb7Cdv9XHxQG9snbH+zrPXf6q6nG9vn2b7X9rHy331P3TUtZ/sd5c9w/vXSAP8e3VT+rj9t\n+wu2f7hn2zrP6Msbqv5d0l5Jz0l6TNJ1g9a9Y/s9kl6W9LmI+Nm66+nF9vmSzo+IJ22/WdI3JL1/\n0H6ekmR7R0S8anu7pK9J+pOI+FrddS1n+48kXSHp3IjYX3c9vdj+jqQrIuKFumvpxfZhSV+NiDvK\nf/dzIuKluuvqxfZZSrm0OyJOrtZ+M5Xjnl+R9M6I+F/b90h6ICIOd2tf9xn9UNxQFRGPSPpe3XWs\nJiKej4gny+WXJR2TdEG9VXUXEa+Wi2dL2iZp4ALK9kWSrpb0t+p9wcEgGdgabf+opPdExB1SGr8b\n5JAv7ZX07UEL+dL3Jb0maUf5pblD6Uupq7qDnhuqzpDyG/8ySY/WW0l3ts+y/aSkWUntiJipu6Yu\n/lLSn0p6o+5C+hCSHrZ91PZH6i6mi7dJmrP9WduP2/6M7R11F7WKD0r6Qt1FdFP+5fZJSf+ldEXj\nixHxcK/2dQc9I8FnQNltc6+kPyjP7AdORLwRET8n6SJJv2C7WXNJS9j+FUlFRDyhAT5TXuTKiLhM\n0lWSDpTdjYNku6TLJR2KiMslvSLpo/WW1JvtsyX9qqSpumvpxvZPS/pDSRcr/dX+Ztu/0at93UH/\nnKRdi9Z3KZ3VY51s/5Ckf5D0dxFxX931rKb88/1+Se+qu5Zl3i1pf9n3fZekX7T9uZpr6ikivlv+\nd07Sl5S6RQfJKUmnIuKxcv1epeAfVFdJ+kb58xxE75L09Yj4n/Iy9i8q/T/bVd1Bf/qGqvIb9FpJ\nR2quaWjZtqTbJc1ExF/VXU8vtn/c9nnl8psk/ZKkJ+qtaqmI+FhE7IqItyn9Cf+ViLi+7rq6sb3D\n9rnl8jmS3qc0u+zAiIjnJZ20fWm5aa+kb9VY0mquU/qCH1THJe2x/aby936v0r1KXW3UnbHrEhGv\n256/oWqbpNsH9AqRuyS9V9KPlTeJ/UVEfLbmsrq5UtJvSvqm7fngvCki/rnGmrp5q6TD5VUNZ0n6\nfER8ueaaVjPI3Yw7JX0p/b5ru6Q7I+Jf6i2pq9+TdGd5UvdtSR+uuZ6uyi/LvZIGcaxDkhQRT5V/\nYR5VGkN6XNLf9GrPDVMAkLm6u24AAGcYQQ8AmSPoASBzBD0AZI6gB4DMEfQAkDmCHgAyR9ADQOb+\nD+JqYRWtEDO0AAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 8 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Para crear una **funci\u00f3n interpolante** utilizaremos el objeto `InterpolatedUnivariateSpline` del paquete `interpolate`. A este objeto solo hay que pasarle los puntos de interpolaci\u00f3n y el grado, y generar\u00e1 un *spline*." ] }, { "cell_type": "code", "collapsed": false, "input": [ "f_interp = interpolate.InterpolatedUnivariateSpline(x_i, y_i, k=1)\n", "f_interp" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 9, "text": [ "" ] } ], "prompt_number": 9 }, { "cell_type": "markdown", "metadata": {}, "source": [ "\u00bfC\u00f3mo obtengo los puntos desde aqu\u00ed? El resultado que hemos obtenido es una *funci\u00f3n* y admite como argumento la $x$." ] }, { "cell_type": "code", "collapsed": false, "input": [ "f_interp(np.pi / 2)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 10, "text": [ "array(0.949065850398866)" ] } ], "prompt_number": 10 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Vamos a representar esta funci\u00f3n junto con los puntos de interpolaci\u00f3n. F\u00edjate en que, ahora que tenemos una funci\u00f3n interpolante, podemos representarla en un dominio:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "x = np.linspace(0, 8)\n", "y_interp = f_interp(x)\n", "\n", "plt.plot(x_i, y_i, 'x', mew=2)\n", "plt.plot(x, y_interp)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 11, "text": [ "[]" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nSf4fEwW8FisAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 11 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Retrocede ahora y comprueba lo que pasa si cambias el grado del *spline*." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Ejercicio**: Crear una funci\u00f3n interpolante $C_D = f(C_L)$ usando splines de grado 2 y representarla. Utiliza solo los datos que resultan de haber eliminado la regi\u00f3n de entrada en p\u00e9rdida. y ten en cuenta que la $x$ y la $y$ para este caso est\u00e1n cambiadas de sitio.\n", "\n", "1. Crea un polinomio interpolante usando los valores que encajan en el modelo parab\u00f3lico.\n", "2. Crea un dominio de $C_L$ entre `C_L.min()` y `C_L.max()`.\n", "3. Halla los valores interpolados de $C_D$ en ese dominio.\n", "4. Representa la funci\u00f3n y los puntos." ] }, { "cell_type": "code", "collapsed": false, "input": [ "f_C_D = interpolate.InterpolatedUnivariateSpline(C_L[:idx_stall + 1], C_D[:idx_stall + 1], k=2)\n", "\n", "C_L_domain = np.linspace(C_L.min(), C_L.max())\n", "C_D_interp = f_C_D(C_L_domain)\n", "\n", "plt.plot(C_D_interp, C_L_domain)\n", "plt.plot(C_D, C_L, 'x', mew=2)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 12, "text": [ "[]" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 12 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Ajuste\n", "\n", "El ajuste funciona de manera totalmente distinta: obtendremos una curva que no pasar\u00e1 por ninguno de los puntos originales, pero que a cambio tendr\u00e1 una expresi\u00f3n anal\u00edtica simple. Para realizar ajustes polin\u00f3micos vamos a utilizar el paquete `np.polynomial.polynomial` (s\u00ed, est\u00e1 dos veces)." ] }, { "cell_type": "code", "collapsed": false, "input": [ "from numpy.polynomial import polynomial" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 13 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Vamos otra vez a generar unos datos para ver c\u00f3mo funcionar\u00eda, del tipo:\n", "\n", "$$y(x) = x^2 - x + 1 + \\text{Ruido}$$" ] }, { "cell_type": "code", "collapsed": false, "input": [ "x_i = np.linspace(-2, 3, num=10)\n", "y_i = x_i ** 2 - x_i + 1 + 0.5 * np.random.randn(10)\n", "plt.plot(x_i, y_i, 'x', mew=2)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 14, "text": [ "[]" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\noghoAEjU/wM4nvvkdAo1gwAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 14 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Vamos a utilizar la funci\u00f3n `polynomial.polyfit`, que recibe los puntos de interpolaci\u00f3n y el grado del polinomio. El resultado ser\u00e1n los coeficientes del mismo, **en orden de potencias crecientes**." ] }, { "cell_type": "code", "collapsed": false, "input": [ "a, b, c = polynomial.polyfit(x_i, y_i, deg=2)\n", "a, b, c" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 15, "text": [ "(0.88761170078475216, -1.1492479540254799, 1.0412654720539836)" ] } ], "prompt_number": 15 }, { "cell_type": "markdown", "metadata": {}, "source": [ "\u00a1Muy similares a lo que esper\u00e1bamos! Para evaluar un polinomio con estos coeficientes, o bien construimos la funci\u00f3n nosotros mismos o usamos la funci\u00f3n `polynomial.polyval`:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "x = np.linspace(-2, 3)\n", "#y_fit = a + b * x + c * x ** 2\n", "y_fit = polynomial.polyval(x, (a, b, c))\n", "\n", "l, = plt.plot(x, y_fit)\n", "plt.plot(x_i, y_i, 'x', mew=2, c=l.get_color())" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 16, "text": [ "[]" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n7Qovv+wbU5IqkhKHmW0GHAoMBooqjfXt67O8w4bFHYmIROXCC6F372Qn52xlsw76DuBSoOhO+Gve\n3D8KHXwwHHIIbLJJ3BGJSFO88AJMmeKbU4pBvQnazHoClSGEqWaWWtX9ysrKfryeSqVIpVZ518TZ\ncUc46yz43e9gzJi4oxGR1bVwobdzGDo0mauz0uk06XS6UY+ptwZtZjcBvYFlwFr4KPrJEMIpte5T\nsDXojP/8xz8O3XyzbwkXkcLTt6//X07imue6RLoO2sz2Ay4pllUcK5s0CU44wddMrr9+3NGISGO8\n/rq3cJg+HTbYIO5ospOLddCFn4lXYZ99oFcvuPTSuCMRkcb4z3+8THnPPYWTnLNVkjsJV2XBAu96\nNWKEtyoUkeS7+mo/IeXJJ+OOpHG01Xs1PP+8L9P58MNkTjSISI0PPvCdwR98UHirsLTVezX07Am7\n7grXXht3JCJSn2XL4MwzfXK/0JJztjSCrkNlpXe8e+EF2GWXuKMRkboMGgTjxnnzs0LcCawSRxM8\n/DDccgu88w60bBl3NCJS28yZ3t/57behc+e4o1k9KnE0wcknw5ZbqtQhkjTLlsEpp8B11xVucs6W\nRtD1qKz0DSxPPgl77RV3NCIC3kI0nfbyRlI71WVDJY4IPP009O/vzb9btYo7GpHSNnWqN+F/911o\n3z7uaJpGCToip5wCv/gFlJfHHYlI6VqyxCft+/f3bnWFTgk6It9+6839hwzxNZcikn+XXQazZnnJ\nsRBXbaxMCTpC48f7mssPP1SvDpF8e+MNOOYY///Xtm3c0URDCTpiffp4S8ORI+OORKR0fPedtwW+\n9VY48si4o4mOEnTEFi3yX5RbboGjj447GpHScN558P33MHx43JFESwk6ByZP9uT8wQew0UZxRyNS\n3MaNg3PO8dJG69ZxRxMtJegcufJK/4UZO7Y4JitEkujLL/0T64gRcMABcUcTPSXoHFm6FPbeG046\nCS64IO5oRIpPCN6ffeutvedGMcomQWdzaKysZM01YdQo2H132Hdf2GmnuCMSKS733ANz5+qcUI2g\nm2DUKCgr811N664bdzQixeH9932/wZtvwhZbxB1N7qjEkQenn+516KFD445EpPAtWgQ77wwDBnjD\nsmKmBJ0H333nv1BlZXDiiXFHI1LYzjgDVqwoviV1dYmkBm1mawETgZZAC+DZEMIV0YRY+NZdFx57\n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\nStAiIgn1//8h+Nm9ATHsAAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 16 }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Ejercicio**: Si modelizamos la polar como:\n", "\n", "$$C_D = C_{D0} + k C_L^2$$\n", "\n", "hallar los coeficientes $C_{D0}$ y $k$.\n", "\n", "

\n", "\n", "
**\u00a1Importante!** Estamos tentados de hacer un ajuste parab\u00f3lico pero ese no es el camino, porque nos dar\u00e1 un t\u00e9rmino lineal que ya sabemos que es cero. Es mejor hacer un cambio de variable y hacer un ajuste lineal:
\n", "\n", "$$y \\leftarrow C_D \\\\ x \\leftarrow C_L^2 \\\\ y = C_{D0} + k x$$" ] }, { "cell_type": "code", "collapsed": false, "input": [ "y_i = C_D[:idx_stall + 1]\n", "x_i = C_L[:idx_stall + 1] ** 2\n", "\n", "C_D0, k = polynomial.polyfit(x_i, y_i, deg=1)\n", "C_D0, k" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 17, "text": [ "(0.022155579233867944, 0.038058791717716381)" ] } ], "prompt_number": 17 }, { "cell_type": "code", "collapsed": false, "input": [ "#C_D_fit = polynomial.polyval(C_L_domain ** 2, (C_D0, k))\n", "C_D_fit = C_D0 + k * C_L_domain ** 2\n", "\n", "l, = plt.plot(C_D_fit, C_L_domain)\n", "plt.plot(C_D, C_L, 'x', mew=2, c=l.get_color())" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 18, "text": [ "[]" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 18 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Si te ha gustado esta clase:\n", "\n", "Tweet\n", "\n", "\n", "---" ] }, { "cell_type": "heading", "level": 6, "metadata": {}, "source": [ "\"AeroPython\" Curso impartido por: [Juan Luis Cano](http://es.linkedin.com/in/juanluiscanor) & [\u00c1lex S\u00e1ez](http://es.linkedin.com/pub/alejandro-saez-mollejo/55/22/473)" ] }, { "cell_type": "heading", "level": 6, "metadata": {}, "source": [ "En colaboraci\u00f3n: Alberto Lorenzo" ] }, { "cell_type": "heading", "level": 4, "metadata": {}, "source": [ "

\u00a1S\u00edguenos en Twitter!" ] }, { "cell_type": "heading", "level": 6, "metadata": {}, "source": [ "Follow @Pybonacci\n", "\n", "\n", "Follow @Alex__S12\n", "\n", "\n", "Follow @newlawrence\n", "" ] }, { "cell_type": "heading", "level": 5, "metadata": {}, "source": [ "\"Licencia
Curso AeroPython por Juan Luis Cano Rodriguez y Alejandro S\u00e1ez Mollejo se distribuye bajo una Licencia Creative Commons Atribuci\u00f3n 4.0 Internacional." ] }, { "cell_type": "heading", "level": 5, "metadata": {}, "source": [ "\n", "\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "_Las siguientes celdas contienen configuraci\u00f3n 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", "collapsed": false, "input": [ "%%html\n", "Follow @Pybonacci\n", "" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "Follow @Pybonacci\n", "" ], "metadata": {}, "output_type": "display_data", "text": [ "" ] } ], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [ "# 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())" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "\n", "\n", "El estilo se ha aplicado =)\n", "\n", "\n", "\n" ], "metadata": {}, "output_type": "pyout", "prompt_number": 1, "text": [ "" ] } ], "prompt_number": 1 } ], "metadata": {} } ] }