Universit de Blida
Facult des Sciences
2 anne ST
Semestre 4
TPN 1-4 avec solution
Responsable
[Link]
Assistant
[Link]
22 Avril 2014
Dernire mise jour :
2014/05/26 [Link]
TP N1 : introduction MATLAB
1
But :
Familiariser l'tudiant l'environnement MATLAB :
2
Dmarrage de MATLAB
Description des fentres (workspace)
Utilisation de la ligne de commandes ()
Les commandes usuelles (help, lookfor,who, whos ,clear,. . .)
Manipulations des variables, oprations lmentaires
Solution Exercice 1
1. Dans l'espace de travail, ralisez quelques oprations arithmtiques simples
entre scalaires l'aide des oprateurs addition (+), soustraction (-), division (/),
multiplication (*), lvation la puissance (^).
1
>> 5 6
2
3 ans
4
5
=
30
[Link]
TPINFO4 :
Page 1/34
2014/05/26
Universit de Blida
Facult des Sciences
6
7
>> 3+5 2^5
9 ans
10
163
11
12
13
14
15
>> y=(2+9)/3 %priorite au parenthese
y =
16
3.6667
17
18
19
20
21
>> z=2+9/3
z =
22
23
24
25
26
27
>> x=3+9^7
x =
28
4782972
29
30
31
32
33
>> p =(4 x^2 2 x +3)/( x^3+1)
p =
34
8 . 3 6 3 0 e 007
35
36
37
2 anne ST
Semestre 4
>>
2. Calculer sous MATLAB la valeur de t et u en fonction de x.
1
2
3
>> x=3
x =
5
6
7
8
9
>> t =(4 x^2 2 x +3)/( x^2+1)
t =
10
3.3000
11
12
13
14
15
>> x=2
x =
[Link]
TPINFO4 :
Page 2/34
2014/05/26
Universit de Blida
Facult des Sciences
16
17
18
19
20
21
>> u = ( x^2+3 x +8)/(3 x^3+5 x^2 6)
u =
22
0.4737
23
24
25
2 anne ST
Semestre 4
>>
3. La constante pi est prdnie dans MATLAB .Tapez pi ainsi calculer le
volume d'une sphre.
1
2
3
>> R=4
R =
5
6
7
8
9
>> V=4 pi R^3/3
V =
10
268.0826
11
12
13
>>
4. Si aucune valeur n'est aecte la variable i elle sera considre comme
tant l'imaginaire pur.
1
2
3
4
5
6
7
8
9
>> x=2+5 i
x =
2.0000
>> a=r e a l ( x )
a =
10
2
11
12
13
14
15
16
17
18
19
+ 5.0000 i
>> b=imag ( x )
b =
5
>> X=abs ( x )
[Link]
TPINFO4 :
Page 3/34
2014/05/26
Universit de Blida
Facult des Sciences
20
21
X =
22
5.3852
23
24
25
26
27
>> i =2
i =
28
29
30
31
2 anne ST
Semestre 4
>> i ^2
=
% vaut 4
32 ans
33
34
35
36
37
>> c l e a r i % supprimer la variable i de la memoire
>> i ^2
% donc i est consideree comme nombre imaginaire
38
39 ans
40
1
41
42
43
>>
5. Si vous n'aectez pas le rsultat de vos calculs une variable, il est automatiquement aect (stock) dans la variable ans. Vous pouvez vous servir de
cette variable dans le calcul suivant.
1
>> 2+3/(4 5)
2
3 ans
4
2.1500
5
6
7
8
9
>> y=ans +20
y =
10
22.1500
11
12
13
>>
[Link]
TPINFO4 :
Page 4/34
2014/05/26
Universit de Blida
Facult des Sciences
2 anne ST
Semestre 4
6. Tapez la ligne d'instructions suivante. Que remarquez vous ?
1
2
>> (3+5 2^5)/5 ; % cacher le resultat avec le pointvirgule
>> ans % afficher la valeur de ans
3
4 ans
5
32.6000
6
7
8
>>
7. Qu'obtient t'on avec les lignes de commandes suivantes
1
>> 1/0
2
3 ans
%infini
Inf
5
6
7
1/0
>>
8
9 ans
10
11
12
13
% moins infini
I n f
>> 0/0
14
15 ans
% non determine (NotANumber)
16
NaN
17
18
19
>>
[Link]
TPINFO4 :
Page 5/34
2014/05/26
Universit de Blida
Facult des Sciences
2 anne ST
Semestre 4
TP N2 : CALCUL MATRICIEL
3
But :
Savoir eectuer l'aide de MATLAB des oprations matricielles de faon
compacte, sans programmer de boucles sur les indices.
4
Solution Exercice 1
1. Crer un vecteur ligne de coordonnes contenant les nombres de -5,-4,...,4,5
et dterminer sa taille.
1
2
3
>> vec =[ 5:5] % debut:fin avec pas par defaut 1
vec =
4
5
6
7
9 ans
10
3
2
1
=
11
11
13
4
>> length ( vec ) % la taille du vecteur est: 11
12
5
>>
2. Crer un vecteur colonne de coordonnes contenant les nombres -500,499,-498...,499,500 et dterminer sa taille.
1
2
3
4
5
>>
>>
>>
>>
6
7 ans
8
11
=
1001
9
10
c o l = [ 5 0 0 : 5 0 0 ] ' ; % on utilise le prime () pour
% avoir un vecteur colonne
% on a utilise le pointvirgule car le vecteur est long
length ( c o l ) % sa taille est:1001
>>
[Link]
TPINFO4 :
Page 6/34
2014/05/26
Universit de Blida
Facult des Sciences
2 anne ST
Semestre 4
3. Que fait l'instruction suivante : V = [0 :0.2 :1]
1
2
3
4
5
6
7
8
9
10
11
>>
>> V = [ 0 : 0 . 2 : 1 ] % genere un vecteur V de 0 a 1 par pas de 0.2
V =
0
0.2000
0.4000
0.6000
0.8000
>> % on remarque la precision de Matlab par defaut
>> % pour les nombres reelles est de 4 chiffres
>> % apres la virgule
>>
1.0000
4. Que fait l'instruction suivante : x = [ -1.3, sqrt(3), (1+2+3)*4/5 ] .quelle
est la valeur de x(2)
1
2
3
4
5
>>
>> x = [ 1.3 , sqrt ( 3 ) , (1+2+3) 4/5 ] % affiche le vecteur
>> % x en evaluant les expressions dont il contient
x =
1.3000
7
8
9
11 ans
12
=
1.7321
13
15
4.8000
>> x ( 2 ) % represente le deuxieme element du vecteur x
10
14
1.7321
>>
5. Crer le vecteur suivant en prcisant l'incrment 10.0000
9.5000
9.0000
8.5000
8.0000
1
2
3
4
5
6
7
8
9
10
>>
>> Y= [ 1 0 : 0 . 5 : 8 ] ' % debut=10; fin=8; pas=0.5
Y =
10.0000
9.5000
9.0000
8.5000
8.0000
[Link]
TPINFO4 :
Page 7/34
2014/05/26
Universit de Blida
Facult des Sciences
5
2 anne ST
Semestre 4
Solution Exercice 2
Compltez les oprations suivantes en indiquant ce qu'elles ralisent :
1
2
3
4
>>
>> V = [ 8 ,
6
8
10 ans
11
16 ans
17
21
22
28 ans
29
33
34
>> V( 1 ) =
1
36
38
39
40
>> V( 7 ) =
1
42
44
13
4
1
1
3
V =
41
43
4
% remplace la premiere valeur par
1
V =
35
37
13
=
13
30
32
>> V( 3 : end ) % afficher tous les valeurs du 3 a la fin
27
31
24
26
4
>> V( 5 : 2 : 1 ) % commence laffichage depuis la 5 valeur
% avec un decrement de 2 vers la 1 valeur
ans =
% donc la 5,3 et 1 valeur
23
25
13
1
18
20
1
>> V( 2 : 4 ) % affiche les valeurs de V entre le 2 et 4 positions.
15
19
7 , 6 ] % affiche le vecteur ligne V
1
12
14
4,
>> V( 2 ) % affiche la deuxieme valeur de V
13
13 ,
V =
5
7
1,
1
13
4
% du fait que V contient 6 valeur
% on va donc ajouter une 7 valeur =3
13
4
3
>>
[Link]
TPINFO4 :
Page 8/34
2014/05/26
Universit de Blida
Facult des Sciences
6
2 anne ST
Semestre 4
Solution Exercice 3
Compltez les oprations suivantes en indiquant ce qu'elles ralisent :
1
2
3
4
>>
>> x=[1 ; 2 ; 3 ] % vecteur colonne x
x =
1
2
3
6
7
8
9
10
11
12
>> y=[4 ; 5 ; 6 ] % vecteur colonne y
y =
13
4
5
6
14
15
16
17
18
>> x+3 % ajouter 3 aux vecteur x
19
20 ans
21
4
5
6
22
23
24
25
26
27
>> x5 % soustraire la valeur 5 du vecteur x
28 ans
29
31
32
34
35
>> xy % soustraire y de x
36 ans
37
39
40
42
>> x+y % somme de x et y
43
44 ans
45
46
3
3
3
38
41
4
3
2
30
33
=
5
[Link]
TPINFO4 :
Page 9/34
2014/05/26
Universit de Blida
Facult des Sciences
7
9
47
48
49
50
51
52
>> z1=x . y % multiplication element par element de x et y
z1 =
53
4
10
18
54
55
56
57
58
59
60
z2 =
4.0000
2.5000
2.0000
62
63
64
66
67
68
z3 =
0.2500
0.4000
0.5000
70
71
72
74
75
76
z4 =
1
32
729
78
79
80
82
84 ans
85
>> norm ( z1 ) % norme euclidienne de z1
89
90 ans
91
92
93
94
95
96
=
3
86
88
% 1^4
% 2^5
% 3^6
>> length ( z1 ) % taille de z1
83
87
% 1/4
% 2/5
% 3/6
>> z4 =x . ^ y % relever valeur par valeur, x au puissance de y
77
81
% 4/1
% 5/2
% 6/3
>> z3 =x . / y % division element par element de x sur y
69
73
% 14
% 25
% 36
>> z2 =x . \ y % division element par element de y sur x
61
65
2 anne ST
Semestre 4
=
20.9762
>> U = l i n s p a c e ( 1 , 2 0 , 5 ) % generer un vecteur contenant
% 5 valeur compris entre 1 et 20 avec un pas fixe
U =
[Link]
TPINFO4 :
Page 10/34
2014/05/26
Universit de Blida
Facult des Sciences
97
1.0000
98
99
100
2 anne ST
Semestre 4
5.7500
10.5000
15.2500
20.0000
>>
Solution Exercice 4
1. Crer la matrice A
1234
5678
6082
1
2
3
4
5
6
7
8
9
>> % on definit une matrice ligne par ligne
>> A=[1 2 3 4 ; 5 6 7 8 ; 6 0 8 2 ]
% on separe les colonnes avec ecpace ou virgule
% on separe les lignes avec pointvirgule
A =
1
5
6
2
6
0
3
7
8
4
8
2
2. Crer avec la ligne de commande la plus courte possible la matrice B valant :
123456789
246801234
222222222
1
2
3
4
5
6
7
8
9
10
11
12
13
>> B= [ 1 : 9 ; 2 : 2 : 8 0 : 4 ; 2 o n e s ( 1 , 9 ) ]
% [Link] de 2 vers 8 avec pas de 2
B =
1
2
2
2
4
2
3
6
2
4
8
2
5
0
2
6
1
2
7
2
2
8
3
2
9
4
2
>> o n e s ( 1 , 9 ) % commande generant une matrice de 1 ligne et
% 9 colonne ne contenant que des 1
ans =
1
[Link]
TPINFO4 :
Page 11/34
2014/05/26
Universit de Blida
Facult des Sciences
2 anne ST
Semestre 4
3. Donnez la ligne de commande permettant de crer la matrice suivante en
utilisant les oprations usuelles sur les matrices :
1
2
3
31
31
31
5
6
7
9
10
11
2
0
0
13
14
15
17
18
19
20
21
5
0
7
24
25
28
29
0
0
1
5
5
0
7
8
6
3
1
9
3
31
31
31
31
31
31
0
2
0
0
0
2
8
6
3
1
9
3
F =
87
62
97
31
32
33
35
0
1
0
>> F=CD+5E % calculer F
30
34
1
0
0
E =
23
27
2
>> E=[5 8 1 % on peut separer les lignes dune matrice par
0 6 9
% des sauts de lignes
7 3 3]
22
26
31
31
31
>> D=2 eye ( 3 ) % commande permettant de generer une matrice
% 3x3 identite quon multiplie avec 2
D =
12
16
31
31
31
>> C=31 o n e s ( 3 ) % matrice de 3x3 remplit de 1
% quon multiplie avec 31 donc:
C =
31
31
31
102
92
77
67
107
77
>>
[Link]
TPINFO4 :
Page 12/34
2014/05/26
Universit de Blida
Facult des Sciences
8
2 anne ST
Semestre 4
Solution Exercice 5
Compltez les oprations suivantes en indiquant ce qu'elles ralisent :
1
2
3
4
>>
>> A=[1 2 3 ; 4 5 6 ] % creation dune matrice 2 ligne,
% 3 colonne A(2x3)
A =
1
4
6
7
8
9
10
11
13
15
16
17
>> A( 2 , 3)=5 % remplacer la valeur par 5
A =
18
1
4
19
20
21
22
23
24
25
26
1
4
7
28
29
30
32
34 ans
35
40 ans
41
=
2
5
0
42
43
44
46
3
5
0
>> A( : , 2 ) % afficher la deuxieme colonne
39
45
2
5
0
=
1
36
38
3
5
>> A( 1 , : ) % afficher la premiere ligne de A
33
37
2
5
>> A( 3 , 1)=7 % puisque la matrice A contient 2 lignes,
% donc on va ajouter une troisieme ligne avec seulement
% la premiere valeur definit=7 alors les autres
% seront misazeros
A =
27
31
3
6
>> A( 2 , 3 ) % afficher la valeur qui se trouve dans la
% deuxieme ligne, troixieme colonne
ans =
12
14
2
5
>>
[Link]
TPINFO4 :
Page 13/34
2014/05/26
Universit de Blida
Facult des Sciences
9
2 anne ST
Semestre 4
Solution Exercice 6
Oprations sur les matrices :
Soit la matrice A=[1 2 3 ; 4 5 6 ;7 8 9]
1. Dnir la matrice B transpose de A
1
2
3
4
>>
>> A=[1 2 3 ; 4 5 6 ; 7 8 9 ]
A =
1
4
7
6
7
8
9
10
11
12
1
2
3
14
15
16
18
3
6
9
>> B=A' % le prime () sert a creer une matrice
% transposee, les lignes deviendront les colonnes
B =
13
17
2
5
8
4
5
6
7
8
9
>>
2. Dnir la matrice C comme produit de A par B
1
2
3
>> C=AB % produit matricielle ligne par colonne
C =
14
32
50
5
6
7
8
9
32
77
122
50
122
194
>>
3. Dnir la matrice D par : D= A.* B ; Comparer C et D
1
2
3
4
5
6
7
8
>>
>> D= A. B
D =
1
8
21
8
25
48
[Link]
21
48
81
TPINFO4 :
Page 14/34
2014/05/26
Universit de Blida
Facult des Sciences
9
10
11
12
13
14
15
>>
>>
>>
>>
>>
>>
%
%
%
%
%
%
2 anne ST
Semestre 4
C negale pas D car:
La matrice C est le resultat dune multiplication
matricielle alors que D dune multiplication element
par element et cela en utilisant le point (.)
avant loperation souhaite multiplication (),
division (/) ou puissance(^) seulement
10
Solution Exercice 7
1. Soit le vecteur v=[-1 -3 -5 -7],gnrer la matrice A=[v ;2*v ;3*v ;4*v] Compltez :
1
2
3
4
>>
>> v=[1
v =
1
6
7
8
9
10
1
2
3
4
13
14
15
18
19
21 ans
22
24
25
26
29
30
32 ans
34
5
10
15
20
7
14
21
28
>> % diagonale dune matrice est extraite par la commande diag
>> % le resultat sera affiche comme vecteur colonne
>> A( 2 : 3 , 2 : 4 )
31
33
3
6
9
12
1
6
15
28
23
28
7
>> % on a declarer une matrice en utilisant un variable qui est
>> % le vecteur v
>> diag (A)
20
27
5
A =
12
17
3
>> A=[v ; 2 v ; 3 v ; 4 v ]
11
16
3 5 7]
6
10
[Link]
14
TPINFO4 :
Page 15/34
2014/05/26
Universit de Blida
Facult des Sciences
9
35
36
37
38
39
41 ans
42
44
45
46
50 ans
51
0
0
0
53
54
55
59 ans
60
64
3
6
0
0
5
10
15
0
7
14
21
28
=
0
61
63
0
0
0
28
>> det (A) % calcule le determinant de A
58
62
0
0
15
20
1
52
57
6
9
12
>> t r i u (A) % affiche la partie superieur a la diagonale
49
56
1
2
3
4
43
48
21
>> % extraire une sous matrice de la 2 ver la 3 ligne
>> % et de la 2 vers 3 colonne aussi
>> t r i l (A) % affiche la partie inferieur a la diagonale
40
47
15
2 anne ST
Semestre 4
>> inv (A) %calcule la matrice inverse de A
Warning : Matrix i s s i n g u l a r t o working p r e c i s i o n .
65
66 ans
67
68
69
70
71
72
73
74
Inf
Inf
Inf
Inf
Inf
Inf
Inf
Inf
Inf
Inf
Inf
Inf
Inf
Inf
Inf
Inf
>> % infinie car determinant nulle
>>
[Link]
TPINFO4 :
Page 16/34
2014/05/26
Universit de Blida
Facult des Sciences
2 anne ST
Semestre 4
2. Gnrer la matrice M=[ones(5,1) 3.4*eye(5,5) 5*ones(5,2)]
1
2
>>
>> o n e s ( 5 , 1 )
3
4 ans
5
1
1
1
1
1
6
7
8
9
10
11
12
13
>> % vecteur colonne de 5 ligne remplit de 1
>> eye ( 5 , 5 ) % matrice identite 5x5
14
15 ans
16
18
19
20
21
23
24
25
26
27
1.0000
1.0000
1.0000
1.0000
1.0000
31
32
33
0
0
0
0
1
3 . 4 eye ( 5 , 5 )
5 o n e s ( 5 , 2 ) ]
3.4000
0
0
0
0
0
3.4000
0
0
0
0
0
3.4000
0
0
0
0
0
3.4000
0
0
0
0
0
3.4000
Column 7 through 8
36
5.0000
5.0000
5.0000
5.0000
5.0000
37
38
39
40
41
43
0
0
0
1
0
Columns 1 through 6
30
42
0
0
1
0
0
M=
29
35
0
1
0
0
0
>> M=[ o n e s ( 5 , 1 )
28
34
=
1
0
0
0
0
17
22
5.0000
5.0000
5.0000
5.0000
5.0000
>>
[Link]
TPINFO4 :
Page 17/34
2014/05/26
Universit de Blida
Facult des Sciences
11
2 anne ST
Semestre 4
Solution Exercice Supplmentaire 1
1.Ecrire la commande
qui ache la matrice A suivante :
1
A 0
7
1
2
3
4
2
5
2
3
4
9
>>
>> A=[1 2 3 ; 0 5 4 ; 7 0 9 ]
A =
1
0
7
6
7
8
2
5
0
3
4
9
2. Compltez et commentez :
1
2
3
>> v=diag (A) % affiche la diagonale de la matrice A
v =
1
5
9
5
6
7
8
9
10
11
>> b=diag ( v ) % cree une matrice dont la diagonale est v
% et le reste zero
b =
12
1
0
0
13
14
15
16
17
18
19
c =
1
0
0
21
22
23
25
27 ans
29
30
0
5
0
0
0
9
>> A ( 1 : 2 , : ) % sous matrice allant de la 1 ligne vers la 2.
26
28
0
0
9
>> c=diag ( diag (A) ) % equivalent a v suivie par v
20
24
0
5
0
=
1
0
2
5
3
4
31
[Link]
TPINFO4 :
Page 18/34
2014/05/26
Universit de Blida
Facult des Sciences
32
>> A ( : , 2 : 3 ) % sous matrice allant de la 2 colonne vers la 3.
33
34 ans
35
2
5
0
36
37
38
39
40
41
42
2
5
44
45
A.
5
0
4
9
5
6
2
3
5 ans
1
0
3
4
4
9
6
7
5
0
>> % on doit extraire lintersection des lignes
>> % 1 et 2 avec les colonnes 1 et 3 (la 2 colonne est omis)
>> A( 1 : 2 , 1 : 2 : 3 ) % on fait un saut de 2 pour les colonnes
>> % on doit extraire lintersection des lignes 2 et 3
>> A( 2 : 3 , 2 : 3 ) % avec les colonnes 2 et 3
4 ans
3
4
3. Donnez la commande qui extrait les sous matrices suivantes de la matrice
3
4
9
>> A( 1 : 2 , 2 : 3 ) % sous matrice contenant lintersection des
% lignes 1 et 2 avec les colonnes 2 et 3.
ans =
43
2 anne ST
Semestre 4
1
0
1
7
3
9
3
4
>> A ( 1 : 2 : 3 , 1 : 2 : 3 ) % on fait un saut de 2 pour les colonnes
= % et les colonnes
2 ans
3
4
5
1
7
3
9
[Link]
TPINFO4 :
Page 19/34
2014/05/26
Universit de Blida
Facult des Sciences
12
2 anne ST
Semestre 4
Solution Exercice Supplmentaire 2
Soit le systme dnit par :
3x 2y z 1
2y 4z 2 0
x 2z 5
1. Reprsenter ce systme sou forme matricielle (Ax=b), et dnit l'aide
de Matlab la matrice A et le vecteur b.
1
2
3
4
>>
>> A=[3 2
3
0
1
6
7
8
9
11
12
16
20
>> b=[1 2
1
2
5
2
0
1
4
2
5]
5] '
1
2
5
22
23
24
26
b =
21
25
x
y
z
1
2
5
15
19
4
2
b =
14
18
1
4; 1 0 2]
>> b = [ 1 ; 2 ; 5 ] % ou b=[1 2
13
17
2
2
0
A =
10
1;0 2
3
0
1
>>
[Link]
TPINFO4 :
Page 20/34
2014/05/26
Universit de Blida
Facult des Sciences
2 anne ST
Semestre 4
2. Quelle est la condition pour que ce systme admet une solution unique ?
detpAq 0
1
2
3
>>
>> i f ( det (A)~=0) % different de zero
f p r i n t f ( 'A admet une solution unique \n ' )
4 else
f p r i n t f ( 'A n" admet pas une solution unique \n ' )
6 end
7
8
% A admet une solution unique
>>
3. Rsoudre ce systme l'aide de Matlab.
1
>>
det (A)
2
3 ans
4
6.0000
5
6
7
8
9
>> X=A\b % X contient les valeurs de x,y,z
X =
10
7.0000
11
13.0000
6.0000
12
13
14
15
>>
[Link]
TPINFO4 :
Page 21/34
2014/05/26
Universit de Blida
Facult des Sciences
2 anne ST
Semestre 4
TP N3 : Lecture et Achage de donnes
13
But :
An de mieux interprter les rsultats, une certain prsentation est ncessaire. Pour cela on va considrer l'utilisation des commandes d'achage de Matlab comme disp, error, fprintf,...
14
Exemple d'introduction
1. An de lire une variable dans Matlab, on utilise la commande
comme suit :
1
2
3
4
5
>> n=input ( ' donner un nombre entier : ' )
donner un nombre e n t i e r : 2
% on va stoquer la valeur entree dans n
n =
7
8
9
input
>>
2. An d'acher une valeur, vecteur, chaine de caractre, on utilise la commande disp comme suit :
1
2
3
4
5
6
7
8
9
10
11
12
>> x=2;
>> disp ( x ) % afficher la valeur de x
2
>> v=[x 2 x 4 ] ;
>> disp ( v ) % afficher le vecteur v
2
4
4
>> message='C" est bientot fini ' ;
>> disp ( message ) % afficher un certain message
C" e s t b i e n t o t f i n i
>>
3. On peut acher un message d'erreur l'utilisateur en utilisant la commande error comme suit :
[Link]
TPINFO4 :
Page 22/34
2014/05/26
Universit de Blida
Facult des Sciences
1
2
3
4
>> n=input ( ' entrer un nombre positive : ' )
e n t r e r un nombre p o s i t i v e : 2
n =
2
6
7
8
2 anne ST
Semestre 4
>> i f ( n<0) error ( 'n doit etre positive ' )
9 end
10
11
12
13
??? n d o i t e t r e p o s i t i v e
>> % on a affiche un message derreur
>>
4. On peut acher un message suivie par une valeur avec la commande
comme suit :
fprintf
1
2
3
4
5
6
7
>> Nom=input ( ' entrer votre nom : ' , 's ' ) ; % pour entrer un message
e n t r e r v o t r e nom : M. LICHOURI
% on ajoute s a input
>> Tel=input ( ' entrer votre telephone : ' ) ;
e n t r e r v o t r e t e l e p h o n e : 12345
>> f p r i n t f ( ' votre nom est %s , votre numero est %d\n ' ,Nom, Tel )
v o t r e nom e s t M. LICHOURI , v o t r e numero e s t 12345
>>
15
Solution Exercice 1 : paramtres d'un cercle
Ecrire un script MATLAB qui aecte une variable R la valeur 20 puis
aecte 3 variables D, P et S respectivement les valeurs du diamtre, du primtre et de la surface d'un cercle dont le rayon est R. On achera l'cran le
contenu de ces direntes variables selon le format suivant :
Un cercle de rayon WW a pour diamtre XX, pour circonfrence YY
et pour surface ZZ.
1
2
3
4
5
6
7
8
9
10
11
% Solution Exercice 1 TP3 :Parametre dun cercle
R=input ( ' donner la valeur du rayon R: ' ) ; % lecture de R
D=2R; % diametre =2rayon
P=2 pi R; % perimetre dun cercle
S=pi R^ 2 ; % surface dun cercle
f p r i n t f ( 'Un cercle de rayon %f a pour diametre %f ,
pour circonference %f et pour surface %f .\ n ' ,R, D, P , S )
% apres execution
% donner la valeur du rayon R: 20
% Un cercle de rayon 20.000000 a pour diametre 40.000000,...
% pour circonference 125.663706 et pour surface 1256.637061.
[Link]
TPINFO4 :
Page 23/34
2014/05/26
Universit de Blida
Facult des Sciences
16
2 anne ST
Semestre 4
Solution Exercice 2
Ecrire un script MATLAB qui tant donne une valeur relle x, Calcule la
valeur de Y dnie par :
3 x10
3
a
x 1
3
px
1
2
3
4
5
6
10q
x 1
1 x 1
x 1
% Solution Exercie 2 TP3
x=input ( ' donner la valeur de x: ' ) ; % lire x
i f x<=1
y=3+x ^ 1 0 ;
e l s e i f x<1
y=3/(x +1);
7 else
8
y=sqrt ( x ^3+10);
9 end
10 disp ( y )
11
12
13
14
15
16
17
18
19
%
%
%
%
%
%
%
%
%
execution 3 cas possible
donner la valeur de x: 1
4
donner la valeur de x: 0
3
donner la valeur de x: 1
3.3166
17
Solution Exercice 3 : chelle de temprature
La formule de conversion des tempratures exprimes en degr Celsius en
degr Fahrenheit est : C 5{9F 32 Ecrire un script MATLAB permettant de
calculer une liste d'quivalence pour des tempratures comprises entre 0 F et
300 F avec un incrment de 10 F (sous la forme d'un tableau 2 colonnes , la
premire colonne donnera les degrs Celsius, la seconde les degrs Fahrenheit).
1
% solution ex3 TP3
( ' degre celcius
degre Fahreinheit \n ' )
f p r i n t f ( ' --------------------------------------------\n ' )
for f =[Link]
c=5 f /9 32;
f p r i n t f ( '%f
||
%f\n ' , c , f )
2 fprintf
3
4
5
6
7 end
8
9
10
% execution
% degre celcius
degre Fahreinheit
%
[Link]
TPINFO4 :
Page 24/34
2014/05/26
Universit de Blida
Facult des Sciences
11
12
13
14
15
16
2 anne ST
Semestre 4
% 32.000000
% 26.444444
% 20.888889
% 15.333333
% 9.777778
% .........
18
||
||
||
||
||
||
0.000000
10.000000
20.000000
30.000000
40.000000
........
Solution Exercice 4 : faire en devoir
Soit M, la matrice dnie par :
12
2
7
24 36 58
6 8 10
9 11 13
Ecrire un script MATLAB qui permet d'extraire :
1. L'lment situ dans la troisime ligne et la quatrime colonne.
2. Le vecteur L3 contenant tous les lments de la troisime ligne.
3. Le vecteur C4 contenant tous les lments de la quatrime colonne.
4. La sous matrice M1du matrice M, constitu partir de l'intersection de la
deuxime et la troisime colonne avec la deuxime et la troisime ligne.
5. La matrice M2 dont les lignes sont celles de la matrice M mais aches en
sens inverse.
1
2
3
12
2
7
6
7
11 ans
13
14
15
16
17
18
19
24
6
9
36
8
11
58
10
13
>> M( 3 , 4 )
10
12
M=
9 11 13
6 8 10
24 36 58
>> M=[12 24 36 58 ; 2 6 8 1 0 ; 7 : 2 : 1 3 ]
7
2
12
=
13
>> L3=M( 3 , : ) % 3 eme ligne
L3 =
7
[Link]
11
13
TPINFO4 :
Page 25/34
2014/05/26
Universit de Blida
Facult des Sciences
20
21
22
23
>> C4=M( : , 4 ) % 4 eme colonne
C4 =
24
58
10
13
25
26
27
28
29
30
31
>> M1=M( 2 : 3 , 2 : 3 )
M1 =
32
6
9
33
34
35
36
37
38
M2 =
7
2
12
40
41
42
44
45
46
11
8
36
13
10
58
M2 =
7
2
12
48
49
50
52
9
6
24
>> M2=[M( 3 , : ) ; M( 2 , : ) ; M( 1 , : ) ]
47
51
8
11
>> M2=M( end : 1 : 1 , : )
39
43
2 anne ST
Semestre 4
9
6
24
11
8
36
13
10
58
>>
[Link]
TPINFO4 :
Page 26/34
2014/05/26
Universit de Blida
Facult des Sciences
2 anne ST
Semestre 4
TP N4 : Mthodes Numriques
19
But :
1. Trac des courbes
2. Manipulation des de polynmes
3. Calcul de la valeur approche d'une racine d'une fonction relle d'une variable
relle par les mthodes de Dichotomie de Newton et de la scante,
20
Solution Exercice 1
Il existe direntes manires d'valuer un polynme et on souhaite programmer l'algorithme d'HORNER qui permet de calculer rapidement la valeur d'un
polynme P en un point x.
Dans un script intitul polynome.m :
1. Crer un polynme P pxq 2x5 3x4 4x3 8x2 2x 1
2. Crer un vecteur V dont les composantes sont les valeurs de -10 10 par pas
de 0.5
3. Calculer les valeurs de P(x) aux points contenus dans le vecteur V
4. Calculer la drive dP du polynome P(x) avec la commande polyder
5. Crer une fentre graphique pouvant contenir deux sous fentres
6. Tracer la courbe de P(x)sur la premire sous fentre et celle de dP dans la
seconde sous fentre sur l'intervalle [-10 , 10] en ajoutant le titre et les lgendes
des axes.
7. Trouver les racines de P(x) avec la commande roots et acher les.
8. A l'aide de l'algorithme d'HORNER valuer P(x) pour x=3 ( la valeur de x
doit tre donne en entre)
9. Vrier la valeur obtenue l'aide de la commande de MATLAB polyval
10. Soit le polynme S pxq 7x4 2x3 x2 5x 3,
11. Calculer la somme de S(x) et P(x) et l'aide des commandes conv et deconv,
calculer respectivement le produit de S(x) et P(x) et la division de S(x) et P(x)
1
2
3
4
5
6
% declaration du polynome P
P=[2 3 4 8 2 1 ] ;
% Declaration du vecteur V
V= [ 1 0 : 0 . 5 : 1 0 ] ;
% Evaluation du polynome P aux valeurs de V
polyval (P ,V ) ;
[Link]
TPINFO4 :
Page 27/34
2014/05/26
Universit de Blida
Facult des Sciences
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
2 anne ST
Semestre 4
% Calculer la derivee du polynome P
dP=polyder (P ) ;
% Creer une figure numerotee 1
figure (1)
% La subdiviser en deux sousfenetre horizontale
subplot ( 1 , 2 , 1 ) % 1 ligne, 2 colonne , 1 sousfenetre
% Tracer P(v) en fonction de V
plot ( polyval (P ,V) ,V)
% ajouter un titre a P
t i t l e ( ' graphe de la fonction P ' )
% ajouter une etiquete a laxe des x
x l a b e l ( 'axes des x ' )
% ajouter une etiquete a laxe des y
y l a b e l ( ' fonction polynome p(x) ' )
% selectionner la deuxieme sousfenetre
subplot ( 1 , 2 , 2 )
% Tracer la derivee dP(v) en fonction de v
plot ( polyval (dP ,V) ,V)
% ajouter un titre a dP
t i t l e ( ' graphe de la fonction derivee P ' )
% ajouter une etiquete a laxe des x
x l a b e l ( 'axes des x ' )
% ajouter une etiquete a laxe des y
y l a b e l ( ' fonction polynome dp (x) ' )
% Calculer les racines du polynome P
roots (P)
% Representation de HORNER dun polynome
% y =2x^5+3x^4+4x^3+8x^2+2x+1
% y =
% x(x(x(x(x(x0+2) + 3) + 4) + 8) + 2) + 1
37
38
39
40
41
42
43
44
45
% implementation de lalgorithme de horner
% son but est de minimiser le nombre de
% multiplication en evaluant un polynome P
% avec une valeur x
x=3;
r e s =0;
f o r i = 1 : length (P)
r e s = r e s x + P( i ) ;
46 end
47
48
res
49
50
51
52
53
54
55
56
% en utilisant polyval
z=polyval (P , x )
% declaration du polynome S
S=[0 7 2 1 5 3 ]
% Calculer la somme de deux polynomes
% S et P doivent avoir la meme taille
% cest pourquoi on ajouter un zero
[Link]
TPINFO4 :
Page 28/34
2014/05/26
Universit de Blida
Facult des Sciences
57
58
59
60
61
62
63
64
65
66
67
2 anne ST
Semestre 4
% au debut du polynome S
som=S+P
% multiplier deux polynomes
% leur taille puisse etre different
m u l t i=conv ( S , P)
% diviser deux polynomes
% le polynome en denominateur ne doit pas
% commencer par la valeur zero
[ Q,R]= deconv ( S , P) % lordre est important
% Q represente le quotiant
% R represente le reste
21
Solution Exerice 2
Soit la fonction f pxq p5 xqex 3 dnie sur R .
1. Ecrire une fonction sous matlab, qui reoit comme argument l'abscisse x et
qui retourne la valeur f pxq. (inline)
2. Utilisez la commande fplot de Matlab pour tracer le graphe de la fonction
f pxq dans l'intervalle [-2, 6]. Donner, l'aide de ce graphe, une premire approximation des racines.
3. Utiliser la commande matlab fzero pour trouver la racine positive de cette
fonction.
1
2
3
4
5
6
7
8
9
10
11
%
% declaration de la fonction f avec inline
f=i n l i n e ( '(5 -x )* exp (x) -3 ' )
% appelation dune figure
figure (2)
% tracer la fonction f dans lintervalle [2 6]
% avec la commande fplot
fplot ( f ,[ 2 ,6])
% calculer la racine positive de f a laide de fzero
% fzero a besoin dune fonction f et un point initial x0
X = f z e r o (@( x )((5 x ) exp ( x ) 3) ,3) %fzero(f,3)
4. Ecrire un programme script Matlab permettant de calculer la racine positive approche de f pxq 0 en utilisant la mthode de dichotomie. On donne :
l'intervalle initial [a0,b0] = [4, 6].
Indications :
Utiliser les deux tests d'arrt suivants :
a) Imposer le nombre d'itrations maximum nitermax =50.
b) En dnissant la valeur de l'erreur absolue ek |xk xp k 1q| o xk est la
solution approche l'itration k , arrtez les calculs lorsque ek 10 6 .
1
% Methode de DICHOTOMIE
[Link]
TPINFO4 :
Page 29/34
2014/05/26
Universit de Blida
Facult des Sciences
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2 anne ST
Semestre 4
f=i n l i n e ( '(5 -x )* exp (x) -3 ' ) % declaration de la fonction f avec
a0 =4;
% inline
b0 =6;
e r r =1; % une faux valeur pour declencher la boucle
xt =4; % pour calculer lerreur on suppose que la racine
% est a0=4
i f f ( a0 ) f ( b0)<0 % condition necessaire pour que f admet une
% racine dans [a,b]
nitermax =0; % initialiser la valeur du nombre
% diteration a zero.
while ( nitermax <=50 & e r r >10^ 6) % deux condition darret
% si nombre maximum diteration est atteint ou lerreur
% est inferieur a epsilon 0.000001
x=(a0+b0 ) / 2 ; % dviviser lintervalle [a0 b0] sur 2
e r r=abs ( xt x ) ; % calculer lerreur entre deux valeurs
% successives
xt=x ; % recursivite du calcul
nitermax=nitermax +1; % incrementer le nombre diteration
% par un
i f f ( a0 ) f ( x)<0 % test si lintervalle [a0 x] contient
% la racine
b0=x ; % si oui la valeur de b0 est change par x
else
24
25
a0=x ; % si non la valeur de a0 est change par x
end
end
f p r i n t f ( 'la racine approchee est %f\n ' , x ) % afficher
26
27
28
29
30 e l s e
31
% la racine
% changer lintervalle
f p r i n t f ( 'pas de racine trouve dans l" intervalle \n ' )
32 end
22
Solution Exerice 3
En utilisant les fonctionnalits graphiques de MATLAB, localiser la racine
positive de l'quation f pxq 2sinpxq x.
1
2
3
4
5
6
7
8
9
10
11
% Solution Exercice 3 TP3
% Partie 1: Resolution graphique de f(x)=0
% Pour cela on recherche soit la solution
% en reperant le point % dintersection avec
% y=0 ou bien utiliser la methode de separation
% de racine.
% Methode 1:
f=i n l i n e ( '2* sin (x)-x ' )
figure (1)
f p l o t ( f ,[ pi pi ] )
t i t l e ( ' methode graphique ' )
[Link]
TPINFO4 :
Page 30/34
2014/05/26
Universit de Blida
Facult des Sciences
12 grid
2 anne ST
Semestre 4
on
13
14
15
16
17
18
19
20
21
22
23
24
25
% Methode 2:
x=l i n s p a c e ( pi , pi , 5 0 ) ; % ou x=pi:0.01pi;
y1=2 s i n ( x ) ;
y2=x ;
figure (2)
plot ( x , y1 )
hold on
plot ( x , y2 , 'r ' )
t i t l e ( ' separation graphique ' )
grid on
legend ( 'y1 ' , 'y2 ' )
hold o f f
Figure 1 Resolution graphique
[Link]
TPINFO4 :
Page 31/34
2014/05/26
Universit de Blida
Facult des Sciences
2 anne ST
Semestre 4
Figure 2 Methode de separation de racine
Appliquer la mthode de Newton, pour trouver la valeur approche de la
racine de f pxq dnie dans l'exercice 1.
6
Indications : On prendra un test d'arrt de la forme |xn 1 xn | 10
et on prendra soin de prvoir un compteur d'itrations
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
% Solution Exercice 3 TP3
% Partie 2: Resolution numerique de f(x)=0
% Methode Newton
f=i n l i n e ( '(5 -x ).* exp (x) -3 ' ) % declarer la fonction f
d f=i n l i n e ( '(4 -x ).* exp (x) ' ) % declarer la fonction derivee df
a =4;
b=6;
eps =10^ 6; % la valeur toleree de lerreur
x0=(a+b ) / 2 ; % point initial
e r r =1; % pour lancer la boucle
nb=0; % initialiser le nombre diteration
i f f ( a ) f ( b)<0
f p r i n t f ( 'nb
x
f(x )\ n ' )
f p r i n t f ( ' ---------------------------------------\n ' )
while ( e r r >eps )
nb=nb+1; % incrementer la compteur nb par 1
xt=x0 f ( x0 ) / d f ( x0 ) ; % equation de la tangeante
e r r=abs ( x0xt ) ; % calcule de lerreur
x0=xt ; % car une methode resursive
f p r i n t f ( '%3 d
%3.8 f
%3.8 f\n ' , nb , xt , f ( xt ) )
end
else
f p r i n t f ( ' changer d '' intervalle ' )
[Link]
TPINFO4 :
Page 32/34
2014/05/26
Universit de Blida
Facult des Sciences
2 anne ST
Semestre 4
end
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
resultat execution:
f =
Inline function:
f(x) = (5x).exp(x)3
df =
Inline function:
df(x) = (4x).exp(x)
nb
f(x)
1
4.97978616
0.06003273
2
4.97936489
0.00002555
3
4.97936471
0.00000000
23
Solution Exerice 4
Soit la fonction f pxq ex x4 {2 x2 1 crire un script ( programme) Matlab permettant de trouver la racine approche de cette quation par la mthode
de la scante si elle existe dans l'intervalle[-1 1], en utilisant l'algorithme suivant :
% algorithme de la scante
a=-1;
b= 1;
eps=0.00001 ;
ecart =|a-b| ;
iter=0;
si f(a).f(b)<0
alors tant que iter<=50 et ecart>eps
faire
iter=iter+1 ;
xb=b-(b-a).f(b)/(f(b)-f(a));
ecart=|a-xb|
si f(a).f(xb)<0
alors b=xb ;f(b)=f(xb) ;
sinon a=xb ;f(a)=f(xb) ;
fsi ;
fait ;
ecrire (`la racine approchee est',xb,'le nombre d'iterations est=',iter) ;
sinon
ecrire ('pas de racine dans cet intervalle')
fsi;
[Link]
TPINFO4 :
Page 33/34
2014/05/26
Universit de Blida
Facult des Sciences
1
2
3
2 anne ST
Semestre 4
% Solution Exerice 4 TP3
% Resolution Numerique de f(x)=0
% Methode de la secante
4 clear
all
5 clc
6
7
8
9
10
11
12
13
14
15
16
17
18
19
f=i n l i n e ( 'exp (x)-x ^4/2 - x ^2 -1 ' )
a=1;
b= 1 ;
eps =0.00001 ;
e c a r t =abs ( ab ) ;
i t e r =0;
i f f ( a ) . f ( b)<0
while ( i t e r <=50 & e c a r t >eps )
i t e r=i t e r +1 ;
xb=b (ba ) f ( b ) / ( f ( b) f ( a ) ) ;
e c a r t=abs ( axb ) ;
i f f ( a ) f ( xb)<0
b=xb ;
e l s e a=xb ;
end
20
21 end
( 'la racine approchee est %f , le nombre d ' i t e r a t i o n s
e s t=%d\n,xb,iter) ;
f p r i n t f ( 'pas de racine dans cet intervalle ' )
22 f p r i n t f
23
24 e l s e
25 end
26
27
28
29
30
31
32
% resultat dexecution:
%
%
Inline function:
%
f(x) = exp(x)x^4/2x^21
%
% la racine approchee est 0.000000,le nombre diterations est=51
[Link]
TPINFO4 :
Page 34/34
2014/05/26