Académique Documents
Professionnel Documents
Culture Documents
TP Math 1
TP Math 1
I. EXERCICE 1
Soit f une fonction d’une variable réelle ou complexe, indéfiniment dérivable en un point
x0 . La série de Taylor de cette fonction f au voisinage du point x0 est la série de fonctions :
∞
X
(n) (x − x0 )n
f (x) = f (x0 )
n=0
n!
2. Commencer par programmer une fonction qui prends pour argument un entier n et
qui retourne son factoriel n!
4. Créer un tableau contenant la variable x définie sur l’intervalle [−5, 5] avec un pas de
discrétisation approprié.
6. Tracer les résultats ainsi sur une même figure, et comparer au cas théorique (via la
fonction exp de numpy).
et
−3
2
b= 5
−1
1
1. Programmer une fonction ProdMat qui prends comme argument deux matrices M1 et
M2 , et retourne leur produit matricielle M1 .M2 . Dans le cas où le nombre de lignes
de A est différent du nombre de colonnes de B, indiquer le par un message d’erreur.
Afin de tester votre fonction, comparer ses résultats à ceux de la fonction matmul de
numpy, en prenant deux matrices de votre choix, ainsi que qu’en effectuant le produit
Ab.
2. Programmer une fonction qui prends comme argument une matrice carrée M , et
retourne sa matrice inverse, si son déterminant est non nul, vous pouvez utiliser
la fonction linalg.det() de numpy. Votre fonction implémentera la méthode des
comatrices :
1
M −1 = CT
det (M )
où les éléments de la comatrice C sont donnée par
1. définir deux vecteurs colonne quelconques x et n de dimensions 3, tel que n est normée
(i.e. n.n = 1).
Pij = δij − ni nk
3. A l’aide de votre fonction ProdMat, calculer le produit matriciel P.P . Qu’en déduisez-
vous (quelle est l’action de P sur un vecteur quelconque x) ?
4. Calculer le vecteur y = P x. Dessiner les trois vecteurs x, n et y sur une même figure
3D avec la commande :
fig = plt.figure()
ax = fig.add subplot(111, projection=’3d’)
ax.arrow3D(vecteur,ec=couleur)
1. Programmer une fonction qui génère la matrice rotation en dimension 3. Cette fonction
prendra comme argument l’angle de rotation θ ainsi que l’axe de rotation. Pour rappel,
les matrices de rotation en 3D sont données par :
1 0 0 cosθ 0 sinθ cosθ -sinθ 0
Rx (θ) = 0 cosθ -sinθ Ry (θ) = 0 1 0 Rz (θ) = sinθ cosθ 0
0 sinθ cosθ -sinθ 0 cosθ 0 0 1
2. Appeler cette fonction pour créer une matrice de rotation avec l’angle et d’axe de
votre choix. A l’aide de votre fonction ProdMat, calculez le produit R.RT . Qu’en
déduisez-vous ?
4. Visualiser l’effet de votre matrice de rotation sur un vecteur colonne de votre choix à
l’aide de la fonction arrow3D.
4
Une méthode classique pour traiter des données expérimentales est la régression linéaire,
qui consiste à chercher une droite qui passe ≪ au mieux≫ à travers le nuage de points
représentant les mesures. Les coefficients de cette droite sont en général donnés par la
méthode des moindres carrés.
En supposant que le phénomène étudié suit un modèle linéaire y = ax+b et que l’on
dispose d’un ensemble de N données (xi , yi), on cherche les coefficients a et b qui minimisent
l’erreur quadratique :
N
1 X
χ (a, b) = (yi − (axi + b))2
N i=1
La théorie des probabilités permet de montrer que le critère des moindres carrés
correspond au maximum de vraisemblance pour un modèle linéaire bruité par des variables
gaussiennes centrées, identiques et indépendantes. Un extremum de la fonction d’erreur q
est obtenu pour le couple (aˆ,bˆ) qui annule les deux dérivées partielles :
∂χ ∂χ
∂a a=a0
= 0, ∂b b=b0
=0 (1)
On admettra que celui-ci est le minimum cherché. Autrement dit, les valeurs a0 et b0 qui
vérifie le système d’équation ci-dessus sont les paramètres de la droite qui représente le
mieux nos données yi (xi ).
2. Programmer une fonction LinReg qui prends comme argument deux tableaux x et y,
et qui retourne les paramètres de la droite qui vérifie (1), ainsi que le coefficient de
corrélation r défini comme
P
(xi − x) (yi − y)
i
r = qP
2P 2
i (xi − x) j (yj − y)
3. Importer les données x,y à partir du fichier “data lin.txt” avec la commande
read data 2d(file name). Tracer sur une figure y en fonction de x.
4. Déterminer les paramètres a0 , b0 de la régression linéaire des ces données avec fonction
LinReg. Tracer sur la même figure la droite a0 x + b0 .