Calculs et tracés avec sympy
la bibliothèque sympy
La bibliothèque sympy permet de réaliser du calcul formel, de tracer simplement en 2D des courbes paramétrées, des courbes implicites, des régions et en 3D des fonctions de deux variables, des courbes et des surfaces paramétrées.
Beaucoup d'exemples à parir du paragraphe 5 dans l'introduction à sympy par Vincent Jalby
Pour des calculs⚓︎
Comment utiliser sympy pour des calculs formels
Commencer par exécuter le code. Vous pourrez écrire vos calculs dans la partie console (en dessous de l'éditeur, à côté de >>>).
Par exemple :

Vous pouvez aussi définir des fonctions dans la partie éditeurs, exécuter le code, et ensuite utiliser la console :

from sympy import *
x = symbols('x')
# Vous pouvez ajouter des fonctions ci-dessous.
# Commencer par exécuter ce code puis écrire vos calculs dans la console en bas à côté des >>>
# Vos éventuelles fonctions ci-dessous :
Pour des graphiques⚓︎
Le principe
Le fichier Python
Le fichier Python dans lequel se trouve le code qui permet de tracer la figure désirée
doit contenir une section # --- PYODIDE:env --- # dont le début est le suivant :
# --- PYODIDE:env --- #
from sympy import *
import sympy.plotting as plotting
def plot(*a, **kw):
plotting.plot(*a, **kw)
PyodidePlot.clear_current_figure_title()
Cela permettra d'utiliser les syntaxes habituelles de la bibliothèque sympy
Le fichier Markdown
Le principe est d'appeler :
-
Une fois la macro
-
Autant de fois que de fenêtres graphiques désirées, la macro :
-
Dans le cas où l'on désire plusieurs fenêtres, il faut les identifier. On appelera donc par exemple pour deux fenêtres :
Tracé d'un seul graphique⚓︎
# Tests (insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)
Votre figure
Fichier python utilisé pour cet exemple
# --- PYODIDE:env --- #
from sympy import *
import sympy.plotting as plotting
def plot(*a, **kw):
plotting.plot(*a, **kw)
PyodidePlot.clear_current_figure_title()
PyodidePlot().target() # Cible la figure dans laquelle tracer la figure dans la page
# --- PYODIDE:code --- #
# Les imports suivants ont été faits dans du code caché :
# from sympy import *
x = symbols('x')
# Modifier la ligne ci-dessous qui sert d'exemple
plot(exp(x), x, ln(x), (x,-5,5), ylim=(-5,5), legend=True)
Tracé de plusieurs graphiques dans des fenêtre différentes⚓︎
Le principe est exactement le même pour l'utilisation de la bibliothèque sympy que pour la bibliothèque matplotlib (Utiliser la bibliothèque matplotlib)
- Il faudra par exemple ajouter dans les sections
# --- PYODIDE:env --- #de chaque fichier python:
fig1 = PyodidePlot('cible_1')etfig2 = PyodidePlot('cible_2')ainsi quefig1.target()etfig2.target() - Les figures seront tracées en utilisant les macros :
{{ IDE('scripts/fct_carre') }}
{{ figure('cible_1') }}
{{ IDE('scripts/fct_sqrt') }}
{{ figure('cible_2') }}
# Tests (insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)
Votre figure
# Tests (insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)
Votre figure
Fichiers Python utilisés pour cet exemple
# --- PYODIDE:env --- #
from sympy import *
import sympy.plotting as plotting
def plot(*a, **kw):
plotting.plot(*a, **kw)
PyodidePlot.clear_current_figure_title()
fig1=PyodidePlot('cible_1')
fig1.target() # Cible la figure dans laquelle tracer la figure dans la page
# --- PYODIDE:code --- #
# Les imports suivants ont été faits dans du code caché :
# from sympy import *
x = symbols('x')
plot(x**2, (x,-5,5), ylim=(-1,5), legend=True)
# --- PYODIDE:env --- #
from sympy import *
import sympy.plotting as plotting
def plot(*a, **kw):
plotting.plot(*a, **kw)
PyodidePlot.clear_current_figure_title()
fig2=PyodidePlot('cible_2')
fig2.target() # Cible la figure dans laquelle tracer la figure dans la page
# --- PYODIDE:code --- #
# Les imports suivants ont été faits dans du code caché :
# from sympy import *
x = symbols('x')
plot(sqrt(x), (x,0,9), ylim=(0,3), legend=True)
Documentation officielle de Frédéric Zinelli
Crédits pour l'intégration de la bibliothèque sympy : Frédéric Zinelli
# Tests(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)