CHAPITRE)6)
!
!
Outils!numériques!et!graphiques!de!Python!
!
!
!"#$%&"#'"($%)$*()+$%+,,(-*-+.+/)%%0+1%&$"234.+1%1-(+/)(,(5#+1%6%37*(0+%0+%37"#)(3%(/,"$.*)(5#+8%(3%+1)%
/9-+11*($+%0+%1*'"($%#)(3(1+$%3+1%"#)(31%/#.9$(5#+1%6% 0(1&"1()("/%:,"/-)("/1%.*);9.*)(5#+18%"#)(31%0+%
$91"3#)("/%/#.9$(5#+%&"#$%3+1%95#*)("/1%0(,,9$+/)(+33+18%-*3-#3%0+%09$('9+1%+)%07(/)9<$*3+1=>%*(/1(%5#+%
0+%1*'"($%)$*-+$%0+1%<$*&;(5#+1%6%379-$*/?%@7+1)%)"#)%3+%2#)%0+%-+%-;*&()$+?%
1. Le)module)Numpy)
A+% ."0#3+%Numpy%0+% !B);"/% +1)% #/% +/1+.23+% 0+% ,"/-)("/1% &"#$% 3+% -*3-#3% 1-(+/)(,(5#+8% $+<$"#&*/)%
0+1%,"/-)("/1%.*);9.*)(5#+1%:'*3+#$%*21"3#+8%."0#3+%+)%*$<#.+/)%07#/%/".2$+%-".&3+C+8%,"/-)("/1%
)$(<"/".9)$(5#+1=>8%*(/1(%5#+%0+1%,"/-)("/1%0+1)(/9+1%6%.*/(&#3+$%0+1%'+-)+#$1%"#%)*23+*#C?%
A7+/1+.23+%0+%3*%0"-#.+/)*)("/%1#$%3+%."0#3+%D#.&B%+1)%*--+11(23+%1#$%3+%1()+%E%
http://www.numpy.org/0
1.1. )Importation)du)module)Numpy)
A7(.&"$)*)("/%0#%."0#3+%D#.&B%&+#)%1+%$9*3(1+$%1+3"/%37#/+%0+1%0+#C%1B/)*C+1%1#('*/)+1%E%
from numpy import *
"#%
import numpy as np
A*%&$+.(4$+%1B/)*C+%-;*$<+%3+%."0#3+%D#.&B8%37+C9-#)+%+)%&3*-+%)"#)+1%3+1%,"/-)("/1%0#%."0#3+%0*/1%
37+1&*-+%0+1%/".1%-"..#/1?%F(%0+#C%."0#3+1%&"1140+/)%0+1%,"/-)("/1%&"$)*/)%3+%.G.+%/".8%1+#3+%3*%
,"/-)("/% 0#% 0+$/(+$% ."0#3+% (.&"$)9% 1+$*% +C9-#)*23+% :&#(15#+% 1"/% (.&"$)*)("/% *#$*% 9-$*19% 3*%
&$9-90+/)+>?%@7+1)%&"#$5#"(8%"/%&$9,4$+$*%)"#H"#$1%3*%1+-"/0+%1B/)*C+8%5#(%$9*3(1+%#/+%(.&"$)*)("/%+/%
notation0pointée?% I'+-% -+% )B&+% 0+% 1B/)*C+8% 3+1% ,"/-)("/1% 0#% ."0#3+%/+% 1"/)% &*1% (.&"$)9+1% 0*/1%
37+1&*-+%0+1%/".1%-"..#/1%.*(1%0*/1%#/%+1&*-+%090(9?%!"#$%B%*--90+$8%(3%,*#0$*%+/%$+'*/-;+%&$9-(1+$%
0*/1%5#+3%+1&*-+%&$"&$+%(3%,*#)%*33+$%-;+$-;+$%3*%,"/-)("/8%1+3"/%3*%1B/)*C+%E%
import numpy as np # on importe le module Numpy, en nommant l’espace dédié np
np.linspace(0,1,5) # on appelle ici la fonction linspace du module Numpy
1.2. )Fonctions)mathématiques)basiques)de)Numpy)
J"(-(%5#+35#+1%+C+.&3+1%0+%,"/-)("/1%.*);9.*)(5#+1%-"/)+/#+1%0*/1%3+%."0#3+%D#.&B%E%
K%np.rint(x)%E%$+/'"(+%3+%/".2$+%+/)(+$%3+%&3#1%&$"-;+%0#%/".2$+%,3"))*/)%C%
K%np.floor(x)%E%$+/'"(+%3*%&*$)(+%+/)(4$+%1#&9$(+#$+%0#%/".2$+%,3"))*/)%C%
K%np.ceil(x)%E%$+/'"(+%3*%&*$)(+%+/)(4$+%(/,9$(+#$+%0#%/".2$+%,3"))*/)%C%
K%np.sqrt(x)%E%$+/'"(+%3*%$*-(/+%-*$$9+%0+%C%
K%np.abs(x)%E%$+/'"(+%3*%'*3+#$%*21"3#+%0+%C%
2!!!!!!!!!!!!!!!!!!!!!!!!!!!Chapitre!6!:!Outils!graphiques!et!numériques!de!Python!
D#.&B%&+$.+)%07#)(3(1+$%3+1%,"/-)("/1%.*);9.*)(5#+1%#1#+33+1%E%
K%np.exp(x)%E%,"/-)("/%+C&"/+/)(+33+%
K%np.log(x)%E%,"/-)("/%3"<*$();.+%/9&9$(+/%
K%np.sin(x)%L%np.cos(x)%E%,"/-)("/1%1(/#1%L%-"1(/#1%%
K%np.tan(x)%E%,"/-)("/%)*/<+/)+%
K%np.arcsin(x)%L%np.arccos(x)%E%,"/-)("/1%(/'+$1+1%0+%1(/#1%L%-"1(/#1%%
K%np.arctan(x)%E%,"/-)("/%(/'+$1+%0+%)*/<+/)+%%
K%np.sinh(x)%L%np.cosh(x)%E%,"/-)("/1%1(/#1%;B&+$2"3(5#+%L%-"1(/#1%;B&+$2"3(5#+%%
K%np.tanh(x)%E%,"/-)("/%)*/<+/)+%;B&+$2"3(5#+%
D#.&B%-"/)(+/)%9<*3+.+/)%0+1%,"/-)("/1%&+$.+))*/)%3+1%-*3-#31%#1#+31%1#$%3+1%/".2$+1%-".&3+C+1%E%
K%np.real(x)%E%$+/'"(+%3*%&*$)(+%$9+33+%0#%/".2$+%-".&3+C+%C%
K%np.imag(x)%E%$+/'"(+%3*%&*$)(+%(.*<(/*($+%0#%/".2$+%-".&3+C+%C%
K%np.abs(x)%E%$+/'"(+%3+%."0#3+%0#%/".2$+%-".&3+C+%C%
K%np.angle(x)%E%$+/'"(+%37*$<#.+/)%:+/%$*0(*/1>%0#%/".2$+%-".&3+C+%C%
K%np.conj(x)%E%$+/'"(+%3+%-".&3+C+%-"/H#<#9%0#%/".2$+%-".&3+C+%C%
A+1% ,"/-)("/1% .*);9.*)(5#+1% -"/)+/#+1% 0*/1% 3+% ."0#3+%D#.&B% 1"/)% $+0"/0*/)+1% *'+-% -+33+1% 0#%
."0#3+%.*);%:+33+1%<9/9$*3(1+/)%+/%,*()%3+1%,"/-)("/1%0#%."0#3+%.*);%&"#$%)"#1%3+1%)B&+18%B%-".&$(1%3+1%
)*23+*#C>%E%(3%+1)%0"/-%inutile0d’importer0le0module0math0dès0que0l’on0importe0Numpy?%
1.3. )Fonctions)de)Numpy)pour)créer)des)tableaux)1D)
D#.&B%&+$.+)%-+&+/0*/)%0+%-$9+$%0+1%)*23+*#C%MN%:"#%'+-)+#$1>%*'+-%3+1%,"/-)("/1%1#('*/)+1%E%
K%3*%,"/-)("/%np.array(a,b,c,d,e)%$+/'"(+%#/%)*23+*#%MN%0"/)%3+1%'*3+#$1%1"/)%*8%28%-8%0%+)%+?%
K% 3*% ,"/-)("/% np.arrange(a,b,c)0$+/'"(+% #/% )*23+*#% MN% 0"/)% 3*% 2"$/+% (/,9$(+#$+% +1)% *8% 3*% 2"$/+%
1#&9$(+#$+%+1)%2%+)%37(/)+$'*33+%+/)$+%3+1%0(,,9$+/)+1%-".&"1*/)+1%0#%)*23+*#%+1)%-?%%
K% 3*% ,"/-)("/%np.linspace(a,b,c)0$+/'"(+% #/% )*23+*#% MN% 0"/)% 3*% 2"$/+% (/,9$(+#$+% +1)% *8% 3*% 2"$/+%
1#&9$(+#$+%+1)%2%+)%-"/)+/*/)%-%)+$.+1%95#($9&*$)(1?%
K%%3*%,"/-)("/%np.zeros(n)0$+/'"(+%#/%)*23+*#%MN%-"/)+/*/)%/%)+$.+1%9<*#C%6%O?%%
K%%3*%,"/-)("/%np.ones(n)0$+/'"(+%#/%)*23+*#%MN%-"/)+/*/)%/%)+$.+1%9<*#C%6%M?%%
PC+.&3+1%E%%
(.&"$)%/#.&B%*1%/&%
/&?*$$*/<+:Q8MR8S>%%%%/&?3(/1&*-+:S8MO8R>%
%%T91#3)*)%E%UQ%8%R%8%V%8%W%8%MM%8%MQX%%%%%T91#3)*)%E%US%8%Y%8%Z%8%[%8%MOX%
D")"/1%5#+%0*/1%3*%,"/-)("/%/&?*$$*/<+%3*%2"$/+%1#&9$(+#$+%0+%37(/)+$'*33+%+1)%+C-3#+%0#%)*23+*#8%
*3"$1% 5#+% 0*/1% 3*% ,"/-)("/% /&?3(/1&*-+% 3*% 2"$/+% 1#&9$(+#$+% 0+% 37(/)+$'*33+% +1)% (/-3#1+% 0*/1% 3+%
)*23+*#?%
2. Le)module)Matplotlib)
A+% ."0#3+%Matplotlib%0+% !B);"/% -"/)(+/)% 0+1% ,"/-)("/1% &"#$% $9*3(1+$% 0+1% graphiques0 2D0et0 3D%
:)$*-9%0+%,"/-)("/18%0+%-"#$2+1%0+%&"(/)18%07;(1)"<$*..+18%07(.*<+1%+/%,*#11+1%-"#3+#$1=>?%
A7+/1+.23+%0+%3*%0"-#.+/)*)("/%1#$%3+%."0#3+%\*)&3")3(2%+1)%*--+11(23+%1#$%3+%1()+%E%
http://matplotlib.org/0
!Chapitre!6!:!Outils!graphiques!et!numériques!de!Python!!!!!!!!!!!!!3!
2.1. )Importation)du)module)Matplotlib)
A7(.&"$)*)("/% 0#% ."0#3+%\*)&3")3(2% 1+% $9*3(1+% +/% (.&"$)*/)% pyplot8% 5#(% +1)% #/% 1"#1]."0#3+% 0+%
\*)&3")3(2%5#(%,"#$/()%#/+%(/)+$,*-+%)$41%1(.(3*($+%6%\*)3*2%+)%F-(3*2%:3"<(-(+31%0+%1(.#3*)("/%/#.9$(5#+%
)$41%#)(3(191%0*/1%3+%."/0+%1-(+/)(,(5#+>?%A7(.&"$)*)("/%#)(3(1+%*3"$1%3*%1B/)*C+%1#('*/)+%E%
from matplotlib.pyplot import pl
Remarque(:(le(module(Matplotlib(contient(également(le(sous7module!pylab,(qui(combine(les(fonctions(de(
tracé(du(module(pyplot(et(les(fonctions(de(Numpy,(permettant(ainsi(de(ne(réaliser(qu’une(importation.((
2.2. )Tracé)de)courbes)avec)la)fonction)plot)
A*% fonction0 plot%0#% ."0#3+% &B&3")% &+$.+)% 0+% )$*-+$% 0+1% ,"/-)("/1?% P33+% &"1140+% 0+#C% *$<#.+/)1%
07+/)$9+%E%
M%]%#/%tableau(1D(-"/)+/*/)%3+1%'*3+#$1%0+1%*21-(11+1%
S%]%#/%tableau(1D8%0+%.G.+%3"/<#+#$8%-"/)+/*/)%3+1%'*3+#$1%0+1%"$0"//9+1?%
A*%,"/-)("/%&3")%1+#3+%/+%&+$.+)%&*1%37*,,(-;*<+%0+%3*%-"#$2+%6%379-$*/?%^3%,*#)%3#(%*H"#)+$%6%3*%1#()+%3*%
fonction0show8%,"/-)("/%1(.(3*($+%0*/1%1"/%&$(/-(&+%6%3*%,"/-)("/%print?%
PC+.&3+%E%)$*-9%0+%3*%,"/-)("/%-"1(/#1%
import numpy as np # on importe le module Numpy
import matplotlib.pyplot as pl # on importe le sous-module pyplot
x = np.linspace(0,2*pi,100) # on définit ici le vecteur des abscisses x
y = np.cos(x) # on définit ici le vecteur des ordonnées y
pl.plot(x,y) # on réalise le tracé de la courbe y en fonction de x
pl.show() # on demande à Python d’afficher la courbe à l’écran
%
2.3. )Mise)en)forme)des)graphiques))
•0Définition0du0domaine0des0axes0
F(%$(+/%/7+1)%&$9-(198%3*%,"/-)("/%&3")%$4<3+%*#)".*)(5#+.+/)%3+%0".*(/+%0+1%*C+1%0+1%*21-(11+1%+)%0+1%
"$0"//9+1%&"#$%5#7(31%-"#'$+/)%3+%0".*(/+%0+%'*$(*)("/%09,(/(%&*$%3+1%'+-)+#$1%C%+)%B?%^3%+1)%-+&+/0*/)%
&"11(23+%0+%,(C+$%.*/#+33+.+/)%-+1%0".*(/+1%+/%#)(3(1*/)%3+1%,"/-)("/1%xlim0+)0ylim?%
4!!!!!!!!!!!!!!!!!!!!!!!!!!!Chapitre!6!:!Outils!graphiques!et!numériques!de!Python!
PC+.&3+%E%
import numpy as np
import matplotlib.pyplot as pl
x = np.linspace(0,2*pi,100)
y = np.sin(x)
pl.plot(x,y)
pl.ylim(-2,2) # l’axe des ordonnées sera affiché entre -2 et 2
pl.show()
•0Ajout0de0titres0
^3%+1)%&"11(23+%07*H"#)+$%#/%)()$+%*#%<$*&;(5#+%<$_-+%6%3*%fonction0title8%*(/1(%5#+%0+1%)()$+1%*#C%*C+1%
<$_-+%*#C%fonctions0xlabel0et0ylabel?%
PC+.&3+%E%
import numpy as np
import matplotlib.pyplot as pl
x = np.linspace(0,2*pi,100)
y = np.sin(x)
pl.plot(x,y)
pl.ylim(-2,2)
pl.title(‘Tracé de la fonction sinus’) # on ajoute un titre au graphique
pl.xlabel(Angle (en radians)) # on ajoute un titre à l’axe x
pl.show()
•0Couleur0et0style0des0courbes0
^3% +1)% &"11(23+% 0+% &$9-(1+$% 3*% -"#3+#$8% 3+% 1)B3+% 0+% 3(</+% +)% 3+% 1B.2"3+% :.*$5#+#$>% +/% *H"#)*/)% #/+%
-;*`/+%0+%-*$*-)4$+%0*/1%3*%,"/-)("/%&3")8%1+3"/%3*%1B/)*C+%1#('*/)+%E%
pl.plot(x,y,’r’-o’)
@;"(C%0+1%-"#3+#$1%E%%%%%%%%%@;"(C%0+1%.*$5#+#$1%E% % % %
Couleur0
Syntaxe0
0
Marqueur0
Syntaxe0
T"#<+%%
J+$)%%
a3+#%
@B*/%
\*<+/)*%
b*#/+%
D"($%
c$7%
c<7%
c27%
c-7%
c.7%
cB7%
cd7%
%
@+$-3+%
e$(*/<3+%'+$1%3+%2*1%L%;*#)%
e$(*/<3+%'+$1%3*%<*#-;+%L%%0$"()+%
@*$$9%%
P)"(3+%
F(</+%f%
@$"(C%
c"7%
c'7%%"#%%cg7%
ch7%%"#%%ci7%
c17%
%cj7%
%cf7%
cC7%
%
@;"(C%0#%1)B3+%0+%3(</+%E%% % %
Style0
Syntaxe0
A(</+%+/%)$*()1%&"(/)(3391%
A(</+1%+/%&"(/)(3391%
F#--+11("/%)$*()1L&"(/)1%
%c]]7%
cE7%
c]?7%
))
!Chapitre!6!:!Outils!graphiques!et!numériques!de!Python!!!!!!!!!!!!!5!
2.4. )Tracé)multiple)
•0Tracé0multiple0sur0la0même0figure0
!"#$%)$*-+$%&3#1(+#$1%-"#$2+1%0*/1%3+%.G.+%<$*&;(5#+8%"/%#)(3(1+%3*%1B/)*C+%0+%37+C+.&3+%-(]0+11"#1?%
k/%&+#)%9<*3+.+/)%*H"#)+$%#/+%39<+/0+%*'+-%3*%-"..*/0+%label8%6%(/19$+$%0*/1%3*%,"/-)("/%&3")?%
PC+.&3+%E%
import numpy as np
import matplotlib.pyplot as pl
x = np.linspace(0,2*pi,100) # on définit ici le vecteur des abscisses x
y1 = np.cos(x) # on définit ici le 1er vecteur des ordonnées
y2 = np.sin(x) # on définit ici le 2nd vecteur des ordonnées
pl.plot(x,y1,’b’,label=’cos(x)’) # on réalise le tracé de cosinus en bleu
pl.plot(x,y2,’g’ ,label=’sin(x)’) # on réalise le tracé de sinus en vert
pl.legend() # on demande à Python d’afficher les légendes sur la courbe
pl.show() # on demande à Python d’afficher les courbes à l’écran
pl.save(‘mafigure.bmp’) # on enregistre la figure dans le dossier courant
•0Tracé0multiple0sur0des0figures0différentes0
k/%&+#)%9<*3+.+/)%1"#;*()+$%)$*-+$%&3#1(+#$1%,(<#$+18%1#$%0+1%<$*&;(5#+1%0(,,9$+/)1%.*(1%17*,,(-;*/)%
0*/1% 3*% .G.+% ,+/G)$+?% k/% #)(3(1+$*% *3"$1% 3*% ,"/-)("/% subplot%0#% ."0#3+% &B&3")8% 5#(% *,,(-;+/)% 3+1%
<$*&;(5#+1%1"#1%3*%,"$.+%07#/+%.*)$(-+%𝑁
!%3(</+1%×%𝑁!%-"3"//+1%0+%<$*&;(5#+1?%%
A*% ,"/-)("/% 1#2&3")% 17*&&+33+% *#)*/)% 0+% ,"(1% 5#7(3% B% *% 0+% ,(<#$+1% 6% $9*3(1+$8% 0"/-% 𝑁
!×𝑁!%,"(1?% P33+%
&"1140+%#/%#/(5#+%*$<#.+/)%07+/)$9+%E%#/%/".2$+%6%Q%-;(,,$+1%
]%3+%&$+.(+$%-;(,,$+%'*3*/)%𝑁
!%:/".2$+%0+%3(</+1>%
]%3+%1+-"/0%-;(,,$+%'*3*/)%𝑁!%:/".2$+%0+%-"3"//+1>%
]%3+%0+$/(+$%-;(,,$+%,*(1*/)%$9,9$+/-+%6%3*%&"1()("/%0+%3*%,(<#$+%5#+%37"/%'*%)$*-+$%:(3%+1)%0"/-%-".&$(1%
+/)$+%M%+)%𝑁
!×𝑁!>?%
%
%
%
1 / 10 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !