Prof.
Kamal GHOUMID Année universitaire 2019 − 2020
Cours d’Informatique 2 - "Introduction à MATLAB "
TP N o . 4
Ex-1- Boucle "for ... end", "fprintf ", "sprintf ", "double", "char".
Taper, exécuter puis commenter les instructions suivantes :
1. for k = 1 :10 ;
. fprintf(0 %7i Heure(s) est %7i minutes ou bien %7i secondes \n 0 , k, k*60, k*3600)
end
2. a = 17 ; b = 8.5 ;
Chaineproduite1 = sprintf(0 %d multiplié par %3.1f vaut %3.1f 0 , a, b, a*b)
Chaineproduite2 = sprintf(0 %d divisé par %3.1f vaut %d 0 , a, b, a/b)
3. nomprenom = input(0 Écris ton nom et ton prénom en minuscule : 0 , 0 s0 ) ;
NOMPRENOM = upper(nomprenom)
4. EnASCII = double(0 NOMPRENOM 0 ) ;
Enascii = double(0 nomprenom 0 ) ;
Faire l’inverse avec l’instruction ’char’.
Ex-2- Boucle "for ... end", "disp".
Écrire un script matlab "Ex2TP4STPI1.m" qui utilise trois fois la boucle ’for’ pour
construire puis afficher une matrice triangulaire supérieure de dimensions 8 ayant des -5
sur la diagonale principale et des 7 sur le reste des éléments.
Ex-3- Boucle "while ... end", "fprintf ".
Écrire un M-file matlab qui trace l’allure de la courbe de la fonction y = 7(1 − e−x/3 )
sur l’intervalle 0 ≤ x ≤ xmax , en utilisant une boucle ’while’ avec y(xmax ) = 4.
Utiliser l’instruction ’fprintf ’ pour afficher les valeurs de xmax et ymax .
Ex-4- Boucle "for ... end", "fprintf ", "plot".
π
La série donnée ci-dessous dite de Leibniz converge vers quand n → ∞.
4
n
X 1
Sn = (−1)k
k=0
2k + 1
1. En utilisant la boucle ’for’ ainsi que l’instruction ’fprintf ’, afficher le vecteur x
des 10 premirères valeurs de k, son vecteur associé y des Sn , puis le vecteur de la
différence défini par Dif f = π/4 − y.
TP-4, Niveau STPI-1 1 Prof. K. GHOUMID
Informatique 2 Introduction à MATLAB
2. Reprénter à l’aide de la boucle ’for’ et de l’instruction ’plot’ l’allure de la courbe
Dif f pour k variant de 0 jusqu’à 200.
Ex-5- "Macro", boucle "for ... end", "plot", ...
Soient la fonction f (x) périodique
( (carrée) et sa désomposition en séries de Fourier
données ci-dessous : −1 si −π ≤ x ≤ 0
f (x) =
1 si 0 < x < π
!
4 sin(x) sin(3x) sin(5x) sin(7x)
f (x) ' ∗ + + + + ...
π 1 3 5 7
Tracer ces deux fonctions sur la même figure, puis interpréter les résultats obtenus.
Ex-6- "function", "if ... elseif ... else ... end", "fsolve", "fplot", "quad".
On considère la fonction f (x) √ par morceaux sur < par :
définie
−x + 1
si x < 0
2
f (x) = x +1 si 0 ≤ x ≤ 2
3 + sin(x) si x > 2
1. Créer le fichier "fmorceaux.m" de cette fonction en utilisant la boucle ’if ’.
√ √ √
2. Calculer f (−7), f ( 2), f (3) et f ( 7 + 5).
3. Représenter la courbe de la fonction f sur l’intervalle [-20 40].
4. Trouver la valeur minimale et la valeur maximale de f sur l’intervalle [3 5].
5. Résoudre en utilisant l’instruction ’fsolve’ l’équation f (x) = 3 sur [3 5].
Z 6
6. Calculer f (x) dx
3
Ex-7- Loi Gaussienne : "function", "fplot", "quad", "trapz".
La loi de Gauss est une loi de probabilité caractérisée par une valeur moyenne µ et un
écart type σ.
1. Écrire le fichier "GaussLoi.m" associé à cette loi (macro).
2. Représenter graphiquement à l’aide de la commande "plot" cette loi entre [-20 20]
pour les couples suivants : (µ, σ) = (0, 1), (0, 2), (1, 2), (3, 3) et (3.4, 0.6).
3. En utilisant la commande "quad" (calcul d’intégrale), calculer pour la loi réduite
(µ = 0, σ = 1) les valeurs suivantes (où X est une variable aléatoire) :
√
P rob(X < 1), P rob(0 < X < 5), P rob(1 < X < 3) et P rob(X > 3)
Ex-8- Appel d’une fonction, "subplot".
Générer une macro "SignalSinusoid.m" de la sinusoïde A sin(2 π f ), puis visualiser les
courbes dans un autre script en utilisant la commande ’subplot’ pour 0 ≤ t ≤ 3 par pas
de 0.01, pour A = 1, 3 et pour f = 2, 4.
Tracer aussi pour A = 1 et f = 2 puis 4 en utilisant ’subplot’, la somme et la différence
des deux signaux.
TP-4, Niveau STPI-1 2 Prof. K. GHOUMID