{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "*ENSAM-Bordeaux, Mathématiques et informatique. Date : le 04/11/19. Auteur : Éric Ducasse. Version : 1.1*" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "import sympy as sb\n", "sb.init_printing()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Version de sympy : 1.4\n" ] } ], "source": [ "print(f\"Version de sympy : {sb.__version__}\") " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# **Calcul formel : TD n°2, seconde partie** " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
**Pour chaque exercice, faire exécuter la partie *exemples* cellule par cellule $\\left(\\mathtt{Maj+Entrée}\\right)$, avant de passer à la partie *Travail à faire*.**
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## *Exercice 12* " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 12.1 Objectifs " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### * Savoir définir et résoudre un système d'équations algébriques, en utilisant la fonction $\\mathtt{sympy.solve}$;
savoir utiliser le résultat d’un calcul symbolique pour créer une fonction, en maîtrisant la fonction $\\mathtt{sympy.lambdify}$.
*" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Documentation sur les équations et les solveurs :
https://docs.sympy.org/latest/tutorial/solvers.html" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Documentation sur $\\mathtt{lambdify}$ :
https://docs.sympy.org/latest/tutorial/basic_operations.html#lambdify" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 12.2 Exemples " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Problème à résoudre : déterminer les paramètres $a$ et $b$ d'une fonction paramétrée pour satisfaire des conditions initiales données." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*$a)$ Définition d'une expression représentant une fonction de la variable $t$ avec 4 paramètres $a$, $b$, $\\omega$ et $\\tau$.*" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle \\left(a \\cos{\\left(\\omega t \\right)} + b \\sin{\\left(\\omega t \\right)}\\right) e^{- \\frac{t}{\\tau}}$" ], "text/plain": [ " -t \n", " ───\n", " τ \n", "(a⋅cos(ω⋅t) + b⋅sin(ω⋅t))⋅ℯ " ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "a,b,t = sb.symbols(\"a,b,t\", real=True)\n", "w,tau = sb.symbols(\"omega,tau\", positive=True)\n", "U_de_t = (a*sb.cos(w*t)+b*sb.sin(w*t))*sb.exp(-t/tau)\n", "U_de_t" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*$b)$ Valeurs initiales de la fonction et de sa dérivée.*" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAsAAAAJCAYAAADkZNYtAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAs0lEQVQYGU2QDQ3CMBCF2ylYgoN5wMEkDCTMAhqGA4ICEhxsDiBzAA4Ic1C+V+6aNnnp3dfX15+YUgo+Yowd9Qlt6IPuaMBzZg5BZtvQ035RV7FZFtRmjxlbM45uNH6Bv5x5qmBJKIsY4VPpLUHHzw6N6TQF9M4bHiUorageRzUYF4eNF8yPqlZ5QDmAwEE/1bBzM6hvy4OFkUL980/CHt876j52lSsLSt+hG1LIhMQWfOsPwTl4cXN5bFgAAAAASUVORK5CYII=\n", "text/latex": [ "$\\displaystyle a$" ], "text/plain": [ "a" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "valeur_initiale = U_de_t.replace(t,0) ; valeur_initiale" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAE8AAAAlCAYAAAADW7S6AAAACXBIWXMAAA7EAAAOxAGVKw4bAAADYklEQVRoBe2ai3ETMRCGfYwLgKQDpwMnqQCnAwcqgHTglMBAB4EKSOggSQUBd2B3QEIH5v/OkqI7bBjLezOWzM4sepykO33eXT1CtVgsetZSVdVAY15Kf0l/Sr9Jx3rXJ6XFSGUNT+BGonMjPdbYc0ip7lYJ9a9UB9Ai5IXlLATppcYD3KUH58YH4rwkcMzLFJ7G+ygF4LU0FqwO1y1KrOG9EZ272MKcNRIDcd2ixAyeg4TVTVuEANoT0LtWffZFM3gRiYcoT/ZcWgMV4LEUKyxCzOA5VwVSgCNQ7135u6N1qnb1ClwCPdOtinPdLwKD9R1Kv0rZmrCQUEc8bLu1qvMUU3i7jMD9sGyjTqSP+hGPtv1eM7fd9kO67k9YkZ7pPYQNk8UrK3iynpGLo9uwHqqzybYpK3iaNFshNEmA7zrun+UlEWt2qt0WF25Wp5Vys7y0WT73wvKmssCJ0yul4+fH9SUGi8paUfuBdCYd9te2KuyBJou7E++Qd1ifq3tSeqTyXCkg2V79SwZqMNony/Px7rV3W58KhLe+M9X99QIDyGrPveS87+jfq7BJID7XII3NrsbZ6FZV/Su9c6VorCs98JON2xxQ0POLuNLlpxqTo+A6Id7RJsQ7N3faHyrP+/5wWdXfqg99Y5mpMO27wY7jJyl5jbMWxqbjaaxVcICGhQz0POVG+kR9/THRfxJ1CKefYXtcvQ83X3WcxM0/75PbAuKHNBZvqWxdVp04sMbGnlBAiXe17BM8JhysSBAIU1yXXciKcGVWUb+gYOXkOZMHl3V9cO0P0l6ff/ZEWAiC1SgPhGvcz82fGH4vQJRph9VhmTeqO1D6KAU2f2JYxk1luKjMQvXhxLxJyveqH5bGQjRxKX/NC/N2z3FRFj7cm9iqpG7/pBRtvDurWxVZwDYLBiBMJbeYh7ssXcYUQ9pgWVle2hS765Wb5XVHImHk//ASoPku5vAU1Lmx4LC9WKOsdkWIacwTLDaVCEs++yLK/IefIFr+G2fi8CDDjNkmWeDYkT8ITriVUB37qGJgtX9fM3gOUgDlYO7MtqI9cYuyecyLPuqt8o1DdfSsiGyX8DgNtK+AioDmJ2G6YIRBl9c2M7my2R2fH3uX0q4sD6sL1z+7NGHLb+kK3qk+khuMouU30E3L2ltpe5cAAAAASUVORK5CYII=\n", "text/latex": [ "$\\displaystyle - \\frac{a}{\\tau} + b \\omega$" ], "text/plain": [ " a \n", "- ─ + b⋅ω\n", " τ " ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "derivee_initiale = U_de_t.diff(t).replace(t,0) ; derivee_initiale" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*$c)$ Détermination des paramètres $a$ et $b$ qui permettent à la fonction de satisfaire des conditions initiales données.*" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAANcAAAAmCAYAAABXsw4JAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAG80lEQVR4Ae2ci3VTORCGbU4K8JIKMB0QUgGhg0AqgHSQnK2Ak+0gbAWQ7QCogJAOCBUQ0oH3/xRJ0ZXvy05sy/boHPnqrdHM/NJcSdfDwWBwKH8hn7rjyWTyMU2wsHHAOFDPgeFweK6c91nuX0MlAK4jgelNlmnRAjggwY1Fxqn8rfxv+f/kDyWvf/Q0VyAHJLM/IuvZToG0GUmeAxLSgYJYFXsC0zXJSvuix4GeH5UG4MwVyoEnhdK19WQJPCMxAWCdBmB5pgCyawOW50bBDwNXucI5E2kA7HNGIqsZpqG5wjlg4CpXQG9F2td0hfKrGe9gmIbmCueAgatAAXkQsWpdZeQBuIEA9zVLt2iBHDBwFSiUhKTvSZggO7oOcALgoTyrmLlCOWDgKlAw3hQERBE8AhLnKMQvPcn7Kud2EH3cHoVxwMBVmEAScl4pvC9QncizuQGoXss/JU3PT/LmCuaAnXMVKhy/etUd7NelLXUUAnc4Jnipjm9E6/OlErAmndnKtSaCKolMgC/PKopZapsrDcIxcDUwZtOTtfpwyyO/DzfrsF+ogh0LNHDNwNXAmC1IxrTDz+UAp69oK1cDBw1cDYyx5E4OOLPQvxt2Ft7GAr3ApVlqLH8ufybP7hVxdqxW4tT3yNMBTVN0KO2CMishbns6ZeW68nJAJ5AFX1hEp3j+KVPMI6B89OinPObl0p36bdQjT1dlPLMS2LlbqE5g4tw3s1Wfb12CCdGXvivNiG27YmfKP1bbDP5f+fj5hdJ4j+CTjLb6femwcjUcEI+ZuAIg3rF6+bQ/ej5X/FpPZNPnuGCscg6oNV25JLW1CB2i7b9F66mntaJHynsqfyQ/9z3OVnCpU5j4oJvZIv5YbTyaE00I44dvMOxYpe2Tll8bYpbkrAjHN1G7MNXF7GceDoTJ8pX4eEsDPMVjgoCKye51l+yVDwgp23oY3tWO6s/svB6FGzB1evROje6HhufRn1ZwqWEUEoCVdDObc5XwlTR37T7Ipw7BV9I8Y36rnlvhFGen7IviMPXRnNqEV9/kefZ1b0RHnAzUxqRvRcqprtPopjpqr2nWZ2Zm0qmb/LosBzeBqW8HLN9OGPOu2kQGUyah0ut4/lNl4/hpa0kOPQqrUp0eMTYHPtENDubSH2aaC3WEoCpe6XxRCUNiuuIwEQU4SNOXHaZ/T8co9K04qxq0vQhpPOUYR55Gxjgtt01hjR25n8wzZtXDcjhP6yoe5FHbrvIxIyt1qC+HiR/1a9lh9R/ojnrk6Yq8UZmZ9MeXH+0oUOuEVkCEz2cVUA4zem3Bqp2mmZNmmlzXzEk93qnyjwZhFLRFmtU/gGMct+QljjgCbzVJkvIWvOeAA8p91IXCOy56EUzwtAiyqZyJedmkZWrDC9Qh+qvTI9J3+XmI/jSCi4a9C3ZpiEOMU151zCwFEBoVVHl1Zkdo6yFPQBNB5BuCNgd60cbGBuYswMLd3D3iL3FnGsUUBVSPGSwHYlrEwncciDKHZ0pi0uWPjXj3YhcQSyHoCWAEcJjzzhTzdTAduUPZ6haoQ/Q7pUeiDb3+5ImaSX98Hfd4kkbSsFcwmEPnzqnTkm5mR+FCnGhjZnwpH9LZtWoDCcAKjFPwDlh6sOMVNkxcuv1McQCARL1QGJB8Fr/DuzB680185OiGPN5DmfjeE5fHmvklj5nYJiMVWbjLdZxx8cWBmxhaep/Sn7xsI7h8wZJvZrvdPi/AE9ELUPbk81vjQXj5KkX5AEQFnTlJWdI4/yDfXD0H2EnbE4/c+ZbCgCS1UNhQupRHLigrf7ADIJEZkyCr3AelBTAquhonGqDp0usRiwd7CelOcm/9yUewFX+tJsbxQsq2cZyNlMbbtDuTmWLKnVlQ+cQ+L7PucY0f04cNHbeDuu7jWST9c+gP+vasa+VaJM3LbJsZkhnTOTGLcNu7ImZBmLF8rY17ML5NH+NjCW1W/XH97jxW7yW3wzIvQGH/u/MK0cr3R7Uv0iozUh4HzRvtxJNeu70bzYSeg5tFf9ImtwJcDBgGpQNvCb9VWTOVWhi0jVkz6E9kz7aYhXHAXQExceUv2V00Wv56cMDAVaicZJ6yE8exwKTBsxNnrmAObI1ZWLAMpkgTmMINB86GbuSJV8xarbBx53OqAUsoggMGriLEcE+EgMVthu8Cj7vJQI7SKle67ktbqGQOGLgKk45fkeKq5MFmW+aFyakPOfbO1YdLqy1zpO4rF15XS4713pcDBq6+nFpdOW5ScJXI3JpxwMBVsMBkEo5FHleUoplYMLlGWsaBAC7+1D/d8uUCo7nVc4BVq3K5ePUkGQU5B4Qd/pwn4kf53PIZDDUr5mUtXggHJDA+12Dn0G6MFCKTWcj4H/eNVyLu2GRPAAAAAElFTkSuQmCC\n", "text/latex": [ "$\\displaystyle \\left[ a = u_{0}, \\ - \\frac{a}{\\tau} + b \\omega = v_{0}\\right]$" ], "text/plain": [ "⎡ a ⎤\n", "⎢a = u₀, - ─ + b⋅ω = v₀⎥\n", "⎣ τ ⎦" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "u0,v0 = sb.symbols(\"u_0,v_0\")\n", "equations = [sb.Eq(valeur_initiale,u0), sb.Eq(derivee_initiale,v0)]\n", "equations" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle \\left\\{ a : u_{0}, \\ b : \\frac{\\tau v_{0} + u_{0}}{\\omega \\tau}\\right\\}$" ], "text/plain": [ "⎧ τ⋅v₀ + u₀⎫\n", "⎨a: u₀, b: ─────────⎬\n", "⎩ ω⋅τ ⎭" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "regle_ab = sb.solve(equations, [a,b]) ; regle_ab" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Variante, sans utiliser d'équation :" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle \\left[ a - u_{0}, \\ - \\frac{a}{\\tau} + b \\omega - v_{0}\\right]$" ], "text/plain": [ "⎡ a ⎤\n", "⎢a - u₀, - ─ + b⋅ω - v₀⎥\n", "⎣ τ ⎦" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s_annulent = [valeur_initiale-u0, derivee_initiale-v0]\n", "s_annulent" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAMkAAAAyCAYAAAD2k//fAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAJxklEQVR4Ae2di3UTOxCGEw4F5EIFN3QQSAVwO+BRAdBBOKkgBzqADnh0AFTAowOgAgId5P6fIimSVrvetdcbrz1zjrx6jKTR7IxGGsn2/sXFxV4X7O/vH6r8NTjC/a8L18qMA3PhgOT6SLR+VjiTXL/qovtGV6EaOlH5D4/zqAvXyowDc+KAFOO76EWmTyXnP7wxqA6hVUlU6aVqEJ5jQRT+VluwTOPATDkgmf4k0v9VQLa/tSnKvhAbQxTyA2V+VHij8ucNBMswDmwRByTvBxrOL4WvkvfGlqLNkryAB6YgcMFgGQ4w0So8W6bu1HUk51iSNwrQzF4lgzYlwZJgigyMA8tygNmZMBd46wlF9jNoKIk3PSChXQbGgV3hQJD3O+WAG0qSIJwncYtuGAc0mZ0o/FG4aAl4JvdUdqAA7mue6TCUxqvzMM3bhLhoaqUZ+lT+HpyRaW2V9y4lGZkGa24sDkhA8DreVsCFeVeBpTHPGLTODr7/Ux/HEXOqkMItJZ6kGRsSf9lGs8bOPueh30dMQu7NSXqxTkbjgISEjeUXCcmH0KjycLLg989A+YfK+OIz8dr8zBD29p4qfRzyhI/yAb8VbqtN58BxORN9eJq/+e5qNJNXG+vaaDclmejlj9WNV4YoJBIqlCasp8tuzhNleqzCswKBek6JvIL8Fr6zQErj6fmoNELZCsLhNkZjs6s8rBRLo9oRwne123Y4Dc14moAazfSVjUN9oCCDaaeDXiCCmIViUCXWehyevE7zLX7Fo03ihd4TAvKsiyaVI1i804MUT+mTkFb8j8JRSPMU8HGY5vWNqx57ndh+33oBT3UbNEOLAjSVdK5Mu9pslXvbk4g7MweE8euCMTBr/5QAlhaHfQ2zPcKHkJTlpLFU1wE1mp3F0jhSS7p22k1JruP1j9SnF25m+ig0LU0jSBmO6qJcbz0+CgKcXz7iJ2m3bIo500UaNKtrFMed34n+ZwrQvXbaTUmme+nr6AlBLzfjtX5QEITOgVeu4x7KhYIEIfS1J3tk4xLNWJF7CiH/TsUypsSNRrspScrW+cWPRbL7GkMX6RImvFRfJWgvFXChPvB5odpfHymtBgoShDLgTvV0njVPM+c70IKL+5bySAcruHbab6ozgxU4oBfGy3uvwCyHZ6ZxYrtC851V1RfLj14g3JqXydVV2U+NA2FjLCVky7SycF1p0QQ9tfFleVPQbpZkxbfMy1QI/vw533dzF/wCO6Q0LG9w1S5rSRBywhQwNu0ZzWZJMnaslDhS7cx/v1JrE1eWMryQYrAcc2cO6h6LeH9ZMtTeZBPGyLSXS869mpKEDd5Us8Cy72Fj6vlZF3omE4x1DB5hW0e7U7S5Ku2q/1fvEVIPSnpryy3MLMBdH4N+HHDLLRjdD92wNpQD7L+C/EcSG99MlDZxejloA6o6WB9mIYSEez/cK+ISWrhkp2QdVJfv0H8SbuvGMtQULlqOd4alwI+yfZWzgX46tbCqX+4asXYP96Sgjysd8X6V0lUYMv5qA5Y5Ggf0LnCpI0N8ZT1cjdEZf34lBXciStL7KoJw0bysjtJYocY1iLQv4gKEnsi3sqyWFp67KqMng/mT4iiN8ihr2usj6jOOgTj9J3mdfEzweo1/6rHtYn96J+gALzG+u7gnkRZRyIWy+2JOL4+G6iAgaN6Log71a9cglH0FqsM68B+eV7n1mPCwVht1O9RTGswzfHPj8OOiGGVutaZDxu/7sseaOaB38lyyRi/8MMQjpd0+E0FnyTP4QiN1FNC68uIc7fGdgMxSrZJO+1Acy5VdnmvJw1MT8RRHoFkGjUkXPMgsgdLwFL6MygPo9u0SsTCAB0PfufjrVit6nkRLooT7FpsaWzirg+sBy8N+ItaR9iEgzPqjbvxDH2ofQaePuGZUHv2RV3qXWIJFN6ba+CTcj+Ar3staqv4iuCeE8oIheUDYo1ymRvgU3W6aG6Epa6KbA8g0d9f2biB8Cmw0gV8SIPz9C0F4CCWhPJFFcZipS4ElewzgxLVcyrklj/qMtKAIwoM+BpsC6V5jTCt1xGkrLAMDWjgVXhcPQj/2XAMHJDusDthGsNx6dSP0oQTepXcKn72AhaJFz3K2RECcsKqdhwPbWtQX5Qh/VAZfgT6dQKq/wbdDVQdlWgWiVfJtMVHgISkVdJU+rO4EHND7Y4nuViBh0o1KQv9eUc4VRYs6wQsAworQOkBAFSEdlh/cNI0CdIl19YlAKfBDBuVMfIXUjGXtqS5WhOVNyB90OxQaVJcfVBhCQ0oVbt7IA8Xh3TuNOy4HU+Q0Tt8KQ8efNmHxETmgd4EsnSgwwcWJOFMS3x+m5shX8FmtD9b7x8Ll1zjQQJSDg7XypqaymuAVDeEOStVEauaMejs0oQGBXcaiPBWJdz0P4B0OkIVnPgwr6XvI+KlqsB4OONnSe8kmuNphYlhjvxLybK8pwEMJLl4wXLNxVlAeXiGsTbA8oIKLNyNzQrgC+9gZDnjZ4FInV/Ij1CxJEJ5lZtXY8IZEmBHcph56xATibTdbWRraHgJG7SBINoK8B/mPXLgZY1sYkdD3utnqGfR7C1lgQxrOAfbkGWy1kjBSFCUbcT3xWHitJ+P1Kpa7KxyoLbd2ZexxnFKQbKMWCyxiHBAHTElMDDo5oKVo53GAyg8V+E3h7IBW6V6/VdzZ+YYUbv1ya0P4PEsyJOh4/N72IP5QOM4pAq7qcRwAcMjLGp90tuyV9Y4eR5VtNJiSbPTruXbi+BvAzjMflfMjEuznnFdIcSxKr98qvvbR9STAlls9GbVraBJ2LENjqaX82sVVbn07y4CFUOAWggOvNLN2rZuShLdpz5ID/N5udkHTC3zjHEEVG4ezSWNPFK8pVoKy2VFTks1+P9dJXbgZntKAdckEXorDfqQL2NfM+tqNKUnX693tMrxW0WPl42zAuZvnQHmcUrMkO7vMyT+9AvHdndls0vMRXKa6Nu63ahUsb2c4gGDztQnOkLAWWBG8VfwVG7JxrsBXAvjqdtueAytSW54pez7QpSTzGYVRug4OYB2wJFwdR2HuShnwZOHKPVUAzpTXdRB7LBxuRs8BWo1CQ0mYFcQIBhUufM1hgEbjyBzw1iEurULzysfd2+sKj3CxPHOBIO8Nq9i2J8Grwd+BhYpzGajRaRxYlgMsJ4HG4WmbkoTT0WBWL6vbp3FgCzngjQGyzhlPw8lQVRKPiEnl/g2bLwPjwFZywCvIZz+46vKwqiRUkKJgTQh4M+ay+YJ0A+NALw5Irlli8dsGbCucY6JWsfH13RJJDR0qzymJFKexkSvxLW0cmAMHJNd47rAgeOg6HRH/AxJcrkOppZFFAAAAAElFTkSuQmCC\n", "text/latex": [ "$\\displaystyle \\left\\{ a : u_{0}, \\ b : \\frac{\\tau v_{0} + u_{0}}{\\omega \\tau}\\right\\}$" ], "text/plain": [ "⎧ τ⋅v₀ + u₀⎫\n", "⎨a: u₀, b: ─────────⎬\n", "⎩ ω⋅τ ⎭" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sb.solve(s_annulent, [a,b])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*$d)$ Solution du problème.*" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle \\frac{\\left(\\omega \\tau u_{0} \\cos{\\left(\\omega t \\right)} + \\left(\\tau v_{0} + u_{0}\\right) \\sin{\\left(\\omega t \\right)}\\right) e^{- \\frac{t}{\\tau}}}{\\omega \\tau}$" ], "text/plain": [ " -t \n", " ───\n", " τ \n", "(ω⋅τ⋅u₀⋅cos(ω⋅t) + (τ⋅v₀ + u₀)⋅sin(ω⋅t))⋅ℯ \n", "─────────────────────────────────────────────\n", " ω⋅τ " ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "solu = U_de_t.xreplace(regle_ab).simplify()\n", "solu" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*$e)$ Définition de fonctions utilisant le dernier résultat.*" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "La fonction $\\mathtt{lambdify}$ est faite pour définir une fonction à valeurs numériques :" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", " Translates a SymPy expression into an equivalent numeric function\n", "\n", " For example, to convert the SymPy expression ``sin(x) + cos(x)`` to an\n", " equivalent NumPy function that numerically evaluates it:\n", "\n", " >>> from sympy import sin, cos, symbols, lambdify\n", " >>> import numpy as np\n", " >>> x = symbols('x')\n", " >>> expr = sin(x) + cos(x)\n", " >>> expr\n", " sin(x) + cos(x)\n", " >>> f = lambdify(x, expr, 'numpy')\n", " >>> a = np.array([1, 2])\n", " >>> f(a)\n", " [1.38177329 0.49315059]\n" ] } ], "source": [ "print(sb.lambdify.__doc__[:487])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* **Fonction à valeurs symboliques : on utilise $\\mathtt{xreplace}$**" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle \\frac{\\left(\\pi f u_{0} \\cos{\\left(2 \\pi f t \\right)} + \\frac{\\left(\\alpha u_{0} + v_{0}\\right) \\sin{\\left(2 \\pi f t \\right)}}{2}\\right) e^{- \\alpha t}}{\\pi f}$" ], "text/plain": [ "⎛ (α⋅u₀ + v₀)⋅sin(2⋅π⋅f⋅t)⎞ -α⋅t\n", "⎜π⋅f⋅u₀⋅cos(2⋅π⋅f⋅t) + ────────────────────────⎟⋅ℯ \n", "⎝ 2 ⎠ \n", "──────────────────────────────────────────────────────\n", " π⋅f " ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "alpha,f = sb.symbols(\"alpha,f\", positive=True)\n", "solu.xreplace({tau:1/alpha, w:2*sb.pi*f}).simplify()" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle \\frac{\\left(\\frac{\\sin{\\left(2 \\pi t \\right)}}{2} + \\pi \\cos{\\left(2 \\pi t \\right)}\\right) e^{- t}}{\\pi}$" ], "text/plain": [ "⎛sin(2⋅π⋅t) ⎞ -t\n", "⎜────────── + π⋅cos(2⋅π⋅t)⎟⋅ℯ \n", "⎝ 2 ⎠ \n", "───────────────────────────────\n", " π " ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def Us(time,initial_value=1,initial_derivative=0,frequency=1,time_constant=1,expression=solu) : \n", " regle = {u0:initial_value, v0:initial_derivative, w:sb.pi*2*frequency, tau:time_constant}\n", " return expression.xreplace(regle).simplify()\n", "# Remarque : on peut aussi définir une fonction lambda, avec des performances identiques\n", "Us(t)" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle \\frac{e^{- \\alpha t} \\sin{\\left(2 \\pi f t \\right)}}{2 \\pi f}$" ], "text/plain": [ " -α⋅t \n", "ℯ ⋅sin(2⋅π⋅f⋅t)\n", "──────────────────\n", " 2⋅π⋅f " ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Us(t,frequency=f,time_constant=1/alpha,initial_value=0,initial_derivative=1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* **Fonction vectorisée à valeurs numériques**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Avec $\\mathtt{lambdify}$, on ne peut pas définir de valeurs par défaut.\n", "Si on veut le faire, il faut procéder en deux temps, comme ci-dessous." ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "u_numerique = sb.lambdify( (t,u0,v0,w,tau), solu, \"numpy\")" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[ 0. 0.2 0.4 0.6 0.8 1. ]\n", " [ 1. 0.37692918 -0.47959259 -0.49533868 0.07083745 0.36787944]]\n" ] } ], "source": [ "T = np.arange(0,1.01,0.2)\n", "print(np.array( [T,u_numerique(T,1,0,2*np.pi,1)] ))" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[ 0. 0.2 0.4 0.6 0.8 1. ]\n", " [ 1. 0.37692918 -0.47959259 -0.49533868 0.07083745 0.36787944]]\n" ] } ], "source": [ "Un = lambda t,u0=1,v0=0,w=2*np.pi,tau=1 : u_numerique(t,u0,v0,w,tau)\n", "print(np.array( [T,Un(T)] ))" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "Vt = np.linspace(0,3.2,500)\n", "plt.plot(Vt,Un(Vt),\"-r\",linewidth=1.6,label=r\"$f$ = 1 Hz ; $\\tau$ = 1 s\")\n", "for fq,ct in ((1,2),(2,1)) :\n", " plt.plot(Vt,Un(Vt,w=2*np.pi*fq,tau=ct),\"-\",linewidth=1.6,\\\n", " label=r\"$f$ = {} Hz ; $\\tau$ = {} s\".format(fq,ct))\n", "plt.grid() ; plt.legend() ; plt.xlabel(\"Temps $t$ [s]\") ; plt.ylabel(\"$u(t)$\") ;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 12.3 Travail à faire " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "L'objet de cet exercice est de définir 4 fonctions $p$ polynomiales de degré 3, que l'on considère uniquement sur l'intervalle $[0,1]$ telles que l'une des valeurs parmi $[p(0),p^{\\prime}(0),p(1),p^{\\prime}(1)]$ est 1 et les trois autres sont 0." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$a)$ Soit l'expression $P=p(X)=a+b\\,X+c\\,X^2+d\\,X^3$. Déterminer la liste $[p(0),p^{\\prime}(0),p(1),p^{\\prime}(1)]$ en fonction des paramètres $a$, $b$, $c$ et $d$." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$b)$ En déduire les expressions correspondants aux 4 fonctions cherchées." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$c)$ Convertir ces expressions en 4 fonctions numériques et faire tracer leurs courbes représentatives sur l'intervalle $[0,1]$." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## *Exercice 13* " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 13.1 Travail à faire " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On s'intéresse à la solution $f$ du système différentiel $(1)$ suivant : $\\displaystyle \\left\\lbrace\\begin{array}{lll} \\forall r\\in]0,2], & \\displaystyle f^{\\prime\\prime}(r)+\\frac{1}{r}\\,f^{\\prime}(r)+25\\,f(r)=0&; \\\\ \\forall r\\in]2,5[ & \n", "\\displaystyle f^{\\prime\\prime}(r)+\\frac{1}{r}\\,f^{\\prime}(r)+4\\,f(r)=0&.\\end{array}\\right.$
la solution $f$ étant de classe $\\mathcal{C}^{1}$ sur l'intervalle $[0,5]$ et vérifiant les conditions aux limites : $f^{\\prime}(0)=0$ et $f(5)=1$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On admet que la solution générale de l'équation différentielle $\\displaystyle f^{\\prime\\prime}(r)+\\frac{1}{r}\\,f^{\\prime}(r)+k^2\\,f(r)=0$ est une combinaison linéaire des deux fonctions $r\\mapsto J_0(k\\,r)$ et\n", "$r\\mapsto Y_0(k\\,r)$, où $J_0$ et $Y_0$ désignent les fonctions de Bessel de première et de seconde espèces :" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAJwAAAAVCAYAAACzB4ddAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAFi0lEQVRoBdWZi3XUOBSGSQ4F5CwdhA6ySwULHWQpgXQQaggdhO1gQwdJCSQdhA6AdBD+746ukWVZlj22x6tzNLbu+/56e46en59fxOXo6OhUtG8xbc33Nfyv4WNNzHK+1shxyEeOfxwHK4FLtc9i2prvK/o/Db7WTG81XxvCsYNzM+AU5LkQeaXV7csQMpK9Ur1RfVR9Ds+bIb0SXzay/kU/Ub1V/an6WLJRy1OOd8jKHj4XK7JP7OBE7ODEk/Zp6lS088B3OSb/6IIdKXX6UfTVccziLCJJnaje8z6mSudKFQNnY/RSWekP+pfMvep1qrtPO9g82cdGja78vFUFpyLGIZ4PNTZzMtLfJI4hL8PZBpgI16qjEw2GfuaSH0Or8S8ZOux8jN0hWdn7gO8huTn48sPqTA6ckTsTW3RWtLc5Xi1N+oP9KJnVcZTPBmcfcJMGTQj+phaQPjnZKfoX31eI2VcjfKvObjfNVT4YUHT2VYbHNrj3ZJKNzeJIbKonx9rb6czRt9KgJ9UXt/xMLZX+38n+kzrqaaqfgh65vy/w52J9DoaY7U0J+bPqDZ6dG6XMy/8AR8OZS8M/qnaIzuRRIqFH+W/3mPxb459J0cQocDlgX6peq3JusaL3M1UuNDYJ9OSWhAy0Vke7jp7YZUAvWsJkwReHd/Lh0sLl4Z14n2jvWbaOo+HMgPtLdcrtz1bGGVadon91CgOKTzU+iNh+KKwIrEzx6sQZ6CNM6XGeuVD7grYKF5xcIffOrTEnOAONmCgXIa+PHu+OvNfv1nE0nF8qRTr0x5hUA1h0km8Tjbp43rHfReR6bgOgEei+DPm31UBqd7Jt77L5Re8MQpZpW/lCTE/BPLGxTb0ObXx0Yg08coe/eAlxE6NNGrV9l2j5noAh+uRQ6sdD49jgzGFu1O1I8mxPHIBbemoz2C4FpF9GSPLW27mn+EX/4rMqIIPP3s8v4jHIdlfvXWxVt25sqiq07s1xCZp8sVKDXfaiIvpoDIlTZdM4Kj7D+SWRTih25lGitrpE+gyKv70NX7OVj7b7/F3GoGUl+1P1tWwxOh7chz9FQ4at1Gdy7dnyD6mx6qxV2PoeFG+fzyUwJLdD42g4HysQOorluFMYKKp8Hfdt0mUIvtXpyIqGnRRI2ozuvlLyjz3sctbhLMbqcC9fJXtsU98KHSp2q+CjtBW1hPdpRBilE9XMRvyxGKK/dRwNZwYcYNOpucJZA0HOY1YEitPSsxlylLTzaDO6+0rJv10INHi8g74GIxavYrnMGGUyjPnEQGy2OmZsGUl+PLc+kVq6r752AcoouZ+xGGJq6zgazgy4B9U3RJwp8Fhd7NoegP9XtE/RIMiotUg4ciBbjNAo+Wfr9sEW6/oAeRUTFR8DkdrXobG4v7NV98qHnFnl+Wtt32KXhBHYub8hDJHbNI6Kr8GZWfcoEOygnz7F40zBSkLlD/rWRcHlRaejOb22/roJtN6v6OL3+hePgdDSVZs4uEjwbB281e615XGmT+nYdT2lx+0gg1zLXyxTepceuJEL+FBpN5cr1xVtEoboq/TmLt7BcVQMu89PIVgavTdAB2ToKRvclFp21O4MwtSOZGbxn9odassvHdw72WJ9ydlRIqYt8S4/kzAkFnJRbeG/RIypTfks4hjzj9WgcCnwD6RGmPjDty5mmhVtQ7xzI/MtMHA6j7n8dwwPEDiHpheiPpU3yuOpjzkjfSqGhLBVHH/j7KNVwbLstrZD5415hqRJ3Le+qm1oLv+1sZIrPmvkJccZtLMF1uhOkZEv8BuNIb5UZunH2rjlr4hjym/ObWIAalUH1AYzRm5t/+SKz5oYJVf1EbnG1tIyW8MxxbkZcAChwmg9GLhr+SdHfC3d+YeyvxUcczj/ArZllHb9zhwgAAAAAElFTkSuQmCC\n", "text/latex": [ "$\\displaystyle \\left( J_{0}\\left(k r\\right), \\ Y_{0}\\left(k r\\right)\\right)$" ], "text/plain": [ "(besselj(0, k⋅r), bessely(0, k⋅r))" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "r,k = sb.symbols(\"r,k\", real=True, nonnegative=True)\n", "S1,S2 = sb.besselj(0,k*r),sb.bessely(0,k*r)\n", "(S1,S2)" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[True, True]" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[ (S.diff(r,2) + (1/r)*S.diff(r) + k**2*S ).equals(0) for S in (S1,S2) ]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "L'étude de ces deux fonctions en $r=0$ donne les résultats suivants :" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGYAAAAVCAYAAAC0aZsNAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADsUlEQVRoBe2ZgXFaMQyGQ64DcM0GjECaCUo2IHSChg3oZYJcugHdoNduAJ0gLRvABiXZgP7fw3pnHOPAi9+DS6M7YVu2JVmyZD/TWq1WJz60Wq2OaAuf9lav1wIxm5/6IjVgpHbXp73VG7FAx9m+FFY6Rh19Uc8ULT/LXq+i/q5wLmx75OxV8b9zOFI5FnayCzkyhrL5FJW0VnywBpfKMPYf6j6KBv2HcEy/kLzX9sfkrDsZfeOJLOFcSHrd0O01tt36C/sWixUBw1+nFqt+0lxtjkG+cB7qINqdcBLSX2Pb2WDM2iyVDdT4po5DwpWEzyIK3IvWU5jXmkIjchsnOR8MWOupfnrS4BhuYeixjFjj0dHoPxqQ3Thz7Rwk2qOAkYXXQs5Lyuc2GL4YEDHs1OLwiXJugLiDsmjxvgFVdhKBgTWQFAuwcbiwPAg3No/aHOa/hBj7i/C38Eb01M0XX1y+088HIWfMIcGMbtHh62JR9NxO8+fUVpdRuSWeK+1cmhDRblXHARPVL9U3VYlTPql+buNUkqpn6sOpsbTNUC47PSKGBdviVT1aODsSzYYy9tDXRW021EchJc7BKTeik41i8F1jNqLLG4Qv2kQMuxWGh4TUxrBo+ptDQRmEjcjuptwVrmRk2+FRPXCOeOOIiZBPjDKiQiHw0tht5xJpr4NjDg5uUegRM5bRslxQkCU5fnrJtn7xJoV9FUM+LYiq1Nlt6wrlF4FCKmPB2waFk+psswjydwgWMalFhnMO2SZFoWt/W1SIzjq3bTR8scQxpJGYQUTeHSTspc4l/LmIhMDunrmdXvRlkBXK2Ke9kPxubILorOFWupLGSH1ckWNnSSqa2IgLHAODC2FlcIbiusizTSXQYvjAXYoHB2cBju9Ajc+OxHsSG+BFsoxXlVJ68pY4dHoULKgLOVvuXT90LgNEBZeB4vtFJY+V3IB54XhUGQM2IrxO8OiTpxBNtOcadgEDH4Q8yXCdgzayMZSOTl/ltzTmCrlKkqNB5HR9OblkhTz3bUsv9DTbRPV0urIOe2ekLN8CYzLVjw07ZnwaTwwQm5iiIVRY2TEp3mFfk7JC2XW1tSaOlCJISGUA3t+4mxfU/X8upPS2EN2fW3pGk7LSmuTr5XUAX6wfMWVM8jv5r/IlQHNJQ9E7PoJyQpOycuqd4uVsz98b68dkC0tNwrCVn9c1N/m3gcnJUTYpK4e+u/DA9sLyGGgxycB5rSfaof8CMJX+i1J25xVgKruX3zb/ACi1EGuSSExSAAAAAElFTkSuQmCC\n", "text/latex": [ "$\\displaystyle \\left( 1, \\ 0, \\ -\\infty\\right)$" ], "text/plain": [ "(1, 0, -∞)" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "S1.replace(r,0), S1.diff(r).replace(r,0), S2.limit(r,0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On en déduit la solution générale du problème différentiel :" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Sur l'intervalle $[0,2]$ :" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEYAAAAVCAYAAAD7NJjdAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAD5UlEQVRYCc2Xi1EbMRBAsScFeEIH0AEJHUAHQDoIHUAN0AGkgoR0AKkgMR1ABzF04LwnS8p9dOZsnzPZmT1Jq/1ptVrpRvP5fOd/h9FotIefz9vys6R/vC1jQ+nF6Qt0HVT1QauNnYM2cYFVvhX6e9FOFhksMCi+Au/AJ3Ae27tsaY0OOk4Q2yVbvjfEf0QbU1rxifkpOGvw9Rqi/0HGaG8h41EaEtF6BXo+DzbRi/wEnJZ0QDcQonZstTkp8a5CQ4fBDXoGDYpOROUvqzhU4kXPDfi5Y+6uRN+Upj3tqmcbgTE6GzuOjs7gDqG/K4jaBSeD1RiUeUaPbIH7RbPeN+rZ2i30hlfaPXtXZcIhq/ol+Ar+Bi16J0T3mrYPnEamb32Yl/CoJxTELh58Ne2tQ8I+6BF4DCM+zHtzfQKtdceNtT1Bu028jVa7x/koMXC3TSPfDIFO3533aPQqbPCFopjk123RYxEs1hd1AvqVfaLvhjpxlGzSv6jwWq+u4thCveyYGvBpyBiiaeS9Wi8Rrqaw/WdoZtBSiDp0sLUTzOmMYBZ6/ZqVy0B/Oq9e5I+rwvqMDXfaAOxHX5LP+uRmm1WCuls+hpnFR7uTlBkqbGUGtHAVojRnVlcfXiNd2zV5AYMSdi+Ozcz7Lj2Rx8zNu7+MN83Bn9YQAsF4ce0ufOrMviSfWuQ8gvnI6EjNWRUHhp4OwmvGob8eRGjqrr1p5APzke2QKQYGOY9R630DLQUm24LmJrQ2vGmvOo4yL+OYdgYhFy76wpkfhGpFEH6fzy9gOh6yCTpR0yEvNHW/glVw3HrWVxg8wsqV4CPE0tx7mfG36oNFvFcpUDaCumfjNKL9WenbVWkwwgJP4iKl+0xX2HoRwHk60pq1Iy1gtuDMX8dhIZlS7zhvUEtwy+JTvajOuzG1TWQsrfk7UZUp9fXreYyRVzoGIDvCQq0Xjn+BwiF8qSjLa5EOVzi8Lv4LeA2t6RjkImg8Ba3EoI3D0gS0G2x6bDIw9kdTcDMDQNN/0aO3CnyA+X7EYsKfKQMXZ9bsgl9BA+ZxkfYAn84GwGj1DeECfEO0ghKds4DvM58Cqz3P/Sm04m4y706rs5QZyrvglJ0GeeYYfn0O8JaOxNdskdPfv+8YlL5586zDg5GVi692AB3MhXQd26vKYM+A+/jbGdPZNvhmMAMCxJ18xHjOoDTXaM3W8wZt20OzMFwq4Sht2xrBCMawY8H2eNTSvss+ctaH8x5B7FLRm44ts8XjGx6P/yQwvb1rMOKsBdo/9dpLt8E2yDBugnUv1Kn/OjCuOO6kj71lz/iNgoMNLxMvmHy8/wBfb7V7W1h3uQAAAABJRU5ErkJggg==\n", "text/latex": [ "$\\displaystyle a J_{0}\\left(5 r\\right)$" ], "text/plain": [ "a⋅besselj(0, 5⋅r)" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "a,b,c = sb.symbols(\"a,b,c\", real=True)\n", "F1 = a*sb.besselj(0,5*r) ; F1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Sur l'intervalle $[2,5]$ :" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle b J_{0}\\left(2 r\\right) + c Y_{0}\\left(2 r\\right)$" ], "text/plain": [ "b⋅besselj(0, 2⋅r) + c⋅bessely(0, 2⋅r)" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "F2 = b*sb.besselj(0,2*r)+c*sb.bessely(0,2*r) ; F2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$a)$ Vérifier que la solution proposée satisfait bien la condition limite à gauche. Définir ensuite un système de 3 équations à 3 inconnues $a$, $b$ et $c$ à partir des conditions de raccordement en $r=2$ de la fonction et de sa dérivée, et de la condition limite à droite." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$b)$ En déduire les coefficients $a$, $b$ et $c$ qui satisfont le problème différentiel $(1)$, puis la solution sur chacun des intervalles $[0,2]$ et $[2,5]$." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$c)$ Définir la solution sous forme d'une fonction numérique vectorisée $\\mathtt{f\\underline{\\phantom{m}}num}$ puis faire tracer sa courbe représentative. Les fonctions de Bessel numériques se trouvent dans le module $\\mathtt{scipy.special}$ et se nomment $\\mathtt{jn}$ et $\\mathtt{yn}$." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# **Compléments non exigibles** " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## *Exercice 12 : compléments sur $\\mathtt{lambdify}$* " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 12.2 Exemples complémentaires " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*$f)$ Autres exemples avec des fonctions qui ne sont pas dans $\\mathtt{numpy}$ (voir aussi le mémento).*" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* **Fonction $\\mathtt{sympy.erfc}$**" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle \\frac{\\sqrt{\\pi} \\operatorname{erfc}{\\left(x \\right)}}{2}$" ], "text/plain": [ "√π⋅erfc(x)\n", "──────────\n", " 2 " ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x,t = sb.symbols(\"x,t\", real=True)\n", "Ix = sb.integrate( sb.exp(-t**2), (t,x,sb.oo) ).rewrite(sb.erfc).simplify()\n", "Ix" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Erreur : name 'erfc' is not defined\n" ] } ], "source": [ "try :\n", " F = sb.lambdify( x, Ix, modules=[\"numpy\"])\n", " F( np.array([0.2,0.4]) )\n", "except Exception as e :\n", " print(\"Erreur :\",e)" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", " Complementary Error Function. The function is defined as:\n", "\n", " .. math ::\n", " \\mathrm{erfc}(x) = \\frac{2}{\\sqrt{\\pi}} \\int_x^\\infty e^{-t^2} \\mathrm{d}t\n" ] } ], "source": [ "print(sb.erfc.__doc__[:161])" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "erfc(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n", "\n", "erfc(x)\n", "\n", "Complementary error function, ``1 - erf(x)``.\n" ] } ], "source": [ "import scipy.special as sf # Special Functions\n", "print(sf.erfc.__doc__[:168])" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Vérification :\n", "T = np.linspace(0,2.5,100)\n", "V1 = sf.erfc(T)\n", "V2 = np.array( [float(sb.erfc(x)) for x in T] )\n", "np.allclose(V1,V2)" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(T,V1-V2,\".m\") ; plt.grid() ;" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0.68886189, 0.50657409])" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "F = sb.lambdify( x, Ix, modules=[{\"erfc\":sf.erfc}, \"numpy\"])\n", "F( np.array([0.2,0.4]) )" ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(T,F(T),\"-g\") ; plt.grid() ; plt.xlabel(\"$t$\") ; plt.ylabel(\"$F(t)$\") ; " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* **Fonction $\\mathtt{sympy.lowergamma}$**" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle \\frac{\\gamma\\left(\\frac{3}{4}, x^{2}\\right)}{2}$" ], "text/plain": [ " ⎛ 2⎞\n", "γ⎝3/4, x ⎠\n", "──────────\n", " 2 " ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x,t = sb.symbols(\"x,t\", positive=True)\n", "Jx = sb.integrate( sb.sqrt(t)*sb.exp(-t**2), (t,0,x) ).simplify()\n", "Jx" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Erreur : name 'lowergamma' is not defined\n" ] } ], "source": [ "try :\n", " G = sb.lambdify( x, Jx, modules=[\"numpy\"])\n", " G( np.array([0.2,0.4]) )\n", "except Exception as e :\n", " print(\"Erreur :\",e)" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", " The lower incomplete gamma function.\n", "\n", " It can be defined as the meromorphic continuation of\n", "\n", " .. math::\n", " \\gamma(s, x) := \\int_0^x t^{s-1} e^{-t} \\mathrm{d}t = \\Gamma(s) - \\Gamma(s, x).\n" ] } ], "source": [ "print(sb.lowergamma.__doc__[:202])" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "gammainc(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])\n", "\n", "gammainc(a, x)\n", "\n", "Regularized lower incomplete gamma function.\n", "\n", "Defined as\n", "\n", ".. math::\n", "\n", " \\frac{1}{\\Gamma(a)} \\int_0^x t^{a - 1}e^{-t} dt\n" ] } ], "source": [ "print(sf.gammainc.__doc__[:259])" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0. , 0.08355636, 0.13902368, 0.18643119, 0.22888034])" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def my_lowergamma(s,x) :\n", " return sf.gamma(s)*sf.gammainc(s,x)\n", "T = np.linspace(0,2.5,100)\n", "W1 = my_lowergamma(0.75,T) ; W1[:5]" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0. , 0.08355636, 0.13902368, 0.18643119, 0.22888034])" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "W2 = np.array([ float(sb.lowergamma(0.75,x)) for x in T ]) ; W2[:5]" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.allclose(W1,W2)" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0.05861916, 0.15765635])" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "G = sb.lambdify( x, Jx, modules=[{\"lowergamma\":my_lowergamma},\"numpy\"])\n", "G( np.array([0.2,0.4]) )" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(T,G(T),\"-r\") ; plt.grid() ; plt.xlabel(\"$t$\") ; plt.ylabel(\"$G(t)$\") ; " ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0.05861916, 0.15765635])" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#Variante :\n", "G_bis = sb.lambdify( x, Jx, modules=[{\"lowergamma\": lambda s,x : sf.gamma(s)*sf.gammainc(s,x)},\"numpy\"])\n", "G_bis( np.array([0.2,0.4]) )" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.allclose(G(T),G_bis(T))" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "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.6.5" } }, "nbformat": 4, "nbformat_minor": 2 }