Prof.
Kamal GHOUMID Année universitaire 2019 − 2020
Cours d’Informatique 2 - "MATLAB"
TP N o . 2
Ex-1- Systèmes d’équations.
−
→
On considère les deux systèmes de 3 équations à 3 inconnues ci-dessous, où M est un
vecteur colonne d’éléments x, y et z inconnus :
−x + 2y + z = 4
3x − 2y + 4z = 17
S1 : −x + y + 2z = −5 S2 : 2x − 3y + 2z = 14
x − 2y + z = −10 5x + 4y − 6z = 1
1. Sauvegarder ces données dans un script Matlab sous le nom "Ex1TP2STPI1.m".
2. Calculer les déterminants et les inverses des matrices associées à S1 et S2 .
3. Résoudre les deux systèmes en utilisant les commandes Matlab appropriées.
Ex-2- Factorisation des matrices.
0 2 −1 9 6 3
On considère les deux matrices suivantes : A = 3 −2 0 , B = 6 3 1
−2 2 1 1 0 1
1. Utiliser "eig(A)" pour trouver les valeurs propres et les vecteurs propres de A.
2. Déterminer les matrices L et U (triangulaires inférieure et supérieure) de B en
exécutant l’instruction "[LB UB] = lu(B)". (Voir le help, puis vérifier B = LB*UB).
Ex-3- Manipulation des polynômes.
Les polynômes peuvent être traités comme des vecteurs de coefficients dans Matlab.
On considère à cet effet les trois polynômes :
P (x) = x2 − 3x + 2, Q(x) = x − 1, R(x) = x4 + 6x3 + 11x2 + 6x
√ √
1. À l’aide de "polyval" calculer P(-1), P(3), P( 5), Q(-36), Q( 3 + 6), R(-7), ...
2. Utiliser la commande "roots" pour calculer les racines de ces trois polynômes.
3. À l’aide de la commande "poly([-3 1 2])" crée un polynôme S(x) dont les racines
sont −3, 1 et 2.
4. À l’aide de "polyder" calculer les dérivées des polynômes P, Q et R puis évaluer
√
P 0 (−4), P 0 (3), P 0 ( 5), Q0 (1), Q0 (7), R0 (0), R0 (17).
5. Utiliser "residue" pour décomposer en éléments simples sur < les deux fractions
rationnelles 6/R(x) et 1/P (x).
1
Informatique 2 Introduction à MATLAB
Ex-4- Manipulation des polynômes.
Soient les deux polynômes :
P (x) = x3 − 5x2 − 9x + 45, Q(x) = 2x2 − 18x + 28
1. Effectuer la multiplication, la division et l’addition de ces deux polynômes.
2. Calculer puis afficher les racines de chaque polynôme à l’aide des instructions sui-
vantes : "racines_X = roots(X)" ; disp(racines_X) où X=P, Q (voir le help).
3. À l’aide de ’polyval’, évaluer P (−3), P (0), P (5), P (2017), Q(−1) et Q([−2 : 3]).
4. Calculer la dérivée de chaque polynôme en utilisant "polyder".
5. Tacer les deux courbes qui représentent les polynòmes P (x) et Q(x) sur l’intervalle
[−2, 4] en utilisant les instructions suivantes :
"x = linspace(-2,4,120)", "V = polyval(P,x) ;", "U = polyval(Q,x) ;", "plot(x,V) ;",
"hold on" ;, "plot(x,U,’- -m’,’linewidth’,3) ;", "grid on", "xlabel(’x’) ;", "ylabel(’P(x)
, Q(x)’)" ; "title(’P (x) = x3 − 5x2 − 9x − 45, Q(x) = 2x2 − 18x + 28’) ;", "le-
gend(’P(x)’,’Q(x)’)".
Ex-5- Interpolation des données mesurées.
L’interpolation numérique consiste à tracer une courbe qui passe par un ensemble de
points définis. Les méthodes d’interpolation sont nombrenses, mais à votre niveau on se
restreint à celle dite polynomiale où les courbes recherchées correspondent à des polynômes.
Pour ce faire, on considère les mesures expérimentales suivantes :
Valeurs de x (u.m) -5 -4 -3 -2 -1 0 1 2 3 4 5
Mesures éffectuées (u.m) -1.32 2.63 2.28 2.31 2.56 2.19 2.53
2.67 1.37 -0.16 2.47
−−→
1. Définir dans le script "Ex5TP2STPI1.m" les trois vecteurs : valeurs V al, mesures
−−→ → −
M es et U = [-5 : 0.2 : 5].
2. Exécuter les commandes suivantes puis interpréter :
P = polyfit(Val,Mes,8) ; Approx = polyval (P,U) ; plot(Val,Mes,’o’,U,Approx,’r’,
ĺinewidth’,3) ; grid on ; legend(’Données’, ’Interpolation polynomiale’) ; xlabel
(’Valeurs de x’) ; ylabel(’Mesures éffectuées’) ;
Ex-6- Approximation polynômiale d’une fonction.
Dans cet exercice, on va essayer d’approximer la fonction ’sin(x)’ sur l’intervalle [0, 4π]
par un polynômiale de degré n (on prendra à titre d’exemple n = 7).
1. Sauvegarder les données ci-dessous dans un script intitulé "Ex6TP2STPI1.m" :
x = linspace(0,4*pi,10) ; y = sin(x) ; p = polyfit(x,y,7) %(cette commande ajuste
un polynôme de degré n = 7 aux points optés) ;
2. Évaluer le polynôme et tracer les résultats en utilisant les instructions suivantes :
x1 = linspace(0,4*pi,100) ; y1 = polyval(p,x1) ; "figure" ; "plot(x,y,’or’,’linewidth’,3)" ;
"hold on" ; "plot(x1,y1) ;", "grid on" ; "xlabel(’x’)" ; "ylabel(’y’) ;", "title(’Approxi-
mation de "sin(x)" par le polynôme "P(x)=· · · " sur [0, 4π]’)".
TP-2, Niveau STPI-1 2 Prof. K. GHOUMID