1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
from scipy.integrate import odeint
from math import *
(gauche,droite)=(-3.5,3.5) #bornes du graphique
def sm(y, x): # second membre de l'equa diff donc y'=sm(y,x)
return y**3/x
(mm,pp)=(2,3)#dimensions du tableau contenant tous les graphiques
# calculs divers
if (mm*pp != len(nL)):#il doit y avoir mm fois pp valeurs dans la liste nL
print("verifie ci-dessus mm,pp ou nL")
# divers affichage graphique
plt.style.use('fast')
(L,l)=(25,10)
Linch,linch=(L/2.54,l/2.54)
fig, lafigure = plt.subplots(figsize=(Linch,linch),nrows=2, ncols=3)
plt.tight_layout()
plt.xticks([a,b], [r'a', r'b'])
plt.axis('on')
# choix de la police par défaut
mpl.rcParams['font.family'] = 'STIXGeneral'
plt.rcParams["font.size"] = 12
# integration de l'equa diff
X = np.linspace(gauche, droite, 1000,endpoint=True)
Y = odeint(sm, 1, X)
# trace des courbes
compteur=0
for abs in range(mm):
for ord in range(pp):
lafigure[abs,ord].spines['right'].set_visible(True)
lafigure[abs,ord].grid('true')
lafigure[abs,ord].plot(X, Y, color="blue", linewidth=1.0, linestyle="-")
plt.show() |
Partager