Académique Documents
Professionnel Documents
Culture Documents
1 But :
Démarrage de MATLAB
Description des fenêtres (workspace)
Utilisation de la ligne de commandes ()
Les commandes usuelles (help, lookfor,who, whos ,clear,. . .)
Manipulations des variables, opérations élémentaires
2 Solution Exercice 1
Page 1/34
6
7 >> 3+5 ∗ 2^5
8
9 ans =
10
11 163
12
13 >> y=(2+9)/3 %priorite au parenthese
14
15 y =
16
17 3.6667
18
19 >> z=2+9/3
20
21 z =
22
23 5
24
25 >> x=3+9^7
26
27 x =
28
29 4782972
30
31 >> p =(4 ∗ x^2 2∗ x +3)/( x^3+1)
32
33 p =
34
35 8 . 3 6 3 0 e 007
36
37 >>
Page 2/34
16
17 2
18
19 >> u = ( x^2+3∗ x +8)/(3 ∗ x^3+5∗ x^2 6)
20
21 u =
22
23 0.4737
24
25 >>
Page 3/34
20
21 X =
22
23 5.3852
24
25 >> i =2
26
27 i =
28
29 2
30
31 >> i ^2 % vaut 4
32 ans =
33
34 4
35
36 >> c l e a r i % supprimer la variable i de la memoire
37 >> i ^2 % donc i est consideree comme nombre imaginaire
38
39 ans =
40
41 1
42
43 >>
5. Si vous n'aectez pas le résultat de vos calculs à une variable, il est auto-
matiquement 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
5 2.1500
6
7 >> y=ans +20
8
9 y =
10
11 22.1500
12
13 >>
Page 4/34
6. Tapez la ligne d'instructions suivante. Que remarquez vous ?
1 >> (3+5 ∗ 2^5)/5 ; % cacher le resultat avec le pointvirgule
2 >> ans % afficher la valeur de ans
3
4 ans =
5
6 32.6000
7
8 >>
Page 5/34
TP N2 : CALCUL MATRICIEL
3 But :
4 Solution Exercice 1
Page 6/34
3. Que fait l'instruction suivante : V = [0 :0.2 :1]
1
2 >>
3 >> V = [ 0 : 0 . 2 : 1 ] % genere un vecteur V de 0 a 1 par pas de 0.2
4
5 V =
6
7 0 0.2000 0.4000 0.6000 0.8000 1.0000
8 >> % on remarque la precision de Matlab par defaut
9 >> % pour les nombres reelles est de 4 chiffres
10 >> % apres la virgule
11 >>
1 >>
2 >> Y= [ 1 0 : 0 . 5 : 8 ] ' % debut=10; fin=8; pas=0.5
3
4 Y =
5
6 10.0000
7 9.5000
8 9.0000
9 8.5000
10 8.0000
Page 7/34
5 Solution Exercice 2
Page 8/34
6 Solution Exercice 3
Page 9/34
47 7
48 9
49
50 >> z1=x . ∗ y % multiplication element par element de x et y
51
52 z1 =
53
54 4 % 1∗4
55 10 % 2∗5
56 18 % 3∗6
57
58 >> z2 =x . \ y % division element par element de y sur x
59
60 z2 =
61
62 4.0000 % 4/1
63 2.5000 % 5/2
64 2.0000 % 6/3
65
66 >> z3 =x . / y % division element par element de x sur y
67
68 z3 =
69
70 0.2500 % 1/4
71 0.4000 % 2/5
72 0.5000 % 3/6
73
74 >> z4 =x . ^ y % relever valeur par valeur, x au puissance de y
75
76 z4 =
77
78 1 % 1^4
79 32 % 2^5
80 729 % 3^6
81
82 >> length ( z1 ) % taille de z1
83
84 ans =
85
86 3
87
88 >> norm ( z1 ) % norme euclidienne de z1
89
90 ans =
91
92 20.9762
93
94 >> U = l i n s p a c e ( 1 , 2 0 , 5 ) % generer un vecteur contenant
95 % 5 valeur compris entre 1 et 20 avec un pas fixe
96 U =
Page 10/34
97
98 1.0000 5.7500 10.5000 15.2500 20.0000
99
100 >>
7 Solution Exercice 4
1. Créer la matrice A
1234
5678
6082
1 >> B= [ 1 : 9 ; 2 : 2 : 8 0 : 4 ; 2 ∗ o n e s ( 1 , 9 ) ]
2 % 2:2:8 de 2 vers 8 avec pas de 2
3 B =
4
5 1 2 3 4 5 6 7 8 9
6 2 4 6 8 0 1 2 3 4
7 2 2 2 2 2 2 2 2 2
8
9 >> o n e s ( 1 , 9 ) % commande generant une matrice de 1 ligne et
10 % 9 colonne ne contenant que des 1
11 ans =
12
13 1 1 1 1 1 1 1 1 1
Page 11/34
3. Donnez la ligne de commande permettant de créer la matrice suivante en
utilisant les opérations usuelles sur les matrices :
31 31 31 1 0 0 5 8 1
31 31 31
2 0 1 0
5 0 6 9
31 31 31 0 0 1 7 3 3
Page 12/34
8 Solution Exercice 5
Page 13/34
9 Solution Exercice 6
1 >>
2 >> A=[1 2 3 ; 4 5 6 ; 7 8 9 ]
3
4 A =
5
6 1 2 3
7 4 5 6
8 7 8 9
9
10 >> B=A' % le prime (’) sert a creer une matrice
11 % transposee, les lignes deviendront les colonnes
12 B =
13
14 1 4 7
15 2 5 8
16 3 6 9
17
18 >>
1 >>
2 >> D= A. ∗ B
3
4 D =
5
6 1 8 21
7 8 25 48
8 21 48 81
Page 14/34
9
10 >> % C n’egale pas D car:
11 >> % La matrice C est le resultat d’une multiplication
12 >> % matricielle alors que D d’une multiplication element
13 >> % par element et cela en utilisant le point (.)
14 >> % avant l’operation souhaite multiplication (∗),
15 >> % division (/) ou puissance(^) seulement
10 Solution Exercice 7
1. Soit le vecteur v=[-1 -3 -5 -7],générer la matrice A=[v ;2*v ;3*v ;4*v] Com-
plétez :
1 >>
2 >> v=[1 3 5 7]
3
4 v =
5
6 1 3 5 7
7
8 >> A=[v ; 2 ∗ v ; 3 ∗ v ; 4 ∗ v ]
9
10 A =
11
12 1 3 5 7
13 2 6 10 14
14 3 9 15 21
15 4 12 20 28
16
17 >> % on a declarer une matrice en utilisant un variable qui est
18 >> % le vecteur v
19 >> diag (A)
20
21 ans =
22
23 1
24 6
25 15
26 28
27
28 >> % diagonale d’une matrice est extraite par la commande diag
29 >> % le resultat sera affiche comme vecteur colonne
30 >> A( 2 : 3 , 2 : 4 )
31
32 ans =
33
34 6 10 14
Page 15/34
35 9 15 21
36
37 >> % extraire une sous matrice de la 2 ver la 3 ligne
38 >> % et de la 2 vers 3 colonne aussi
39 >> t r i l (A) % affiche la partie inferieur a la diagonale
40
41 ans =
42
43 1 0 0 0
44 2 6 0 0
45 3 9 15 0
46 4 12 20 28
47
48 >> t r i u (A) % affiche la partie superieur a la diagonale
49
50 ans =
51
52 1 3 5 7
53 0 6 10 14
54 0 0 15 21
55 0 0 0 28
56
57 >> det (A) % calcule le determinant de A
58
59 ans =
60
61 0
62
63 >> inv (A) %calcule la matrice inverse de A
64 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 Inf Inf Inf Inf
69 Inf Inf Inf Inf
70 Inf Inf Inf Inf
71 Inf Inf Inf Inf
72
73 >> % infinie car determinant nulle
74 >>
Page 16/34
2. Générer 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
6 1
7 1
8 1
9 1
10 1
11
12 >> % vecteur colonne de 5 ligne remplit de 1
13 >> eye ( 5 , 5 ) % matrice identite 5x5
14
15 ans =
16
17 1 0 0 0 0
18 0 1 0 0 0
19 0 0 1 0 0
20 0 0 0 1 0
21 0 0 0 0 1
22
23 >> M=[ o n e s ( 5 , 1 ) 3 . 4 ∗ eye ( 5 , 5 ) 5∗ o n e s ( 5 , 2 ) ]
24
25 M=
26
27 Columns 1 through 6
28
29 1.0000 3.4000 0 0 0 0
30 1.0000 0 3.4000 0 0 0
31 1.0000 0 0 3.4000 0 0
32 1.0000 0 0 0 3.4000 0
33 1.0000 0 0 0 0 3.4000
34
35 Column 7 through 8
36
37 5.0000 5.0000
38 5.0000 5.0000
39 5.0000 5.0000
40 5.0000 5.0000
41 5.0000 5.0000
42
43 >>
Page 17/34
11 Solution Exercice Supplémentaire 1
1.Ecrire la commande qui ache la matrice A suivante :
1 2 3
A 0 5 4
7 2 9
1 >>
2 >> A=[1 2 3 ; 0 5 4 ; 7 0 9 ]
3
4 A =
5
6 1 2 3
7 0 5 4
8 7 0 9
2. Complétez et commentez :
Page 18/34
32 >> A ( : , 2 : 3 ) % sous matrice allant de la 2 colonne vers la 3.
33
34 ans =
35
36 2 3
37 5 4
38 0 9
39
40 >> A( 1 : 2 , 2 : 3 ) % sous matrice contenant l’intersection des
41 % lignes 1 et 2 avec les colonnes 2 et 3.
42 ans =
43
44 2 3
45 5 4
5 4
0 9
1 3
0 4
1 3
7 9
Page 19/34
12 Solution Exercice Supplémentaire 2
Page 20/34
2. Quelle est la condition pour que ce systéme admet une solution unique ?
detpAq ¡ 0
1 >>
2 >> i f ( det (A)~=0) % different de zero
3 f p r i n t f ( 'A admet une solution unique \n ' )
4 else
5 f p r i n t f ( 'A n" admet pas une solution unique \n ' )
6 end
7 % A admet une solution unique
8 >>
Page 21/34
TP N3 : Lecture et Achage de données
13 But :
An de mieux interpréter les résultats, une certain présentation est néces-
saire. Pour cela on va considérer l'utilisation des commandes d'achage de Mat-
lab comme disp, error, fprintf,...
14 Exemple d'introduction
Page 22/34
1 >> n=input ( ' entrer un nombre positive : ' )
2 e n t r e r un nombre p o s i t i v e : 2
3
4 n =
5
6 2
7
8 >> i f ( n<0) error ( 'n doit etre positive ' )
9 end
10 ??? n d o i t e t r e p o s i t i v e
11
12 >> % on a affiche un message d’erreur
13 >>
Page 23/34
16 Solution Exercice 2
Ecrire un script MATLAB qui étant donnée une valeur réelle x, Calcule la
valeur de Y dénie par :
3 x10 x 1
a 3
x 1 1 x 1
px 3
10q x ¡ 1
Page 24/34
11 % 32.000000 || 0.000000
12 % 26.444444 || 10.000000
13 % 20.888889 || 20.000000
14 % 15.333333 || 30.000000
15 % 9.777778 || 40.000000
16 % ......... || ........
1 >> M=[12 24 36 58 ; 2 6 8 1 0 ; 7 : 2 : 1 3 ]
2
3 M=
4
5 12 24 36 58
6 2 6 8 10
7 7 9 11 13
8
9 >> M( 3 , 4 )
10
11 ans =
12
13 13
14
15 >> L3=M( 3 , : ) % 3 eme ligne
16
17 L3 =
18
19 7 9 11 13
Page 25/34
20
21 >> C4=M( : , 4 ) % 4 eme colonne
22
23 C4 =
24
25 58
26 10
27 13
28
29 >> M1=M( 2 : 3 , 2 : 3 )
30
31 M1 =
32
33 6 8
34 9 11
35
36 >> M2=M( end : 1 : 1 , : )
37
38 M2 =
39
40 7 9 11 13
41 2 6 8 10
42 12 24 36 58
43
44 >> M2=[M( 3 , : ) ; M( 2 , : ) ; M( 1 , : ) ]
45
46 M2 =
47
48 7 9 11 13
49 2 6 8 10
50 12 24 36 58
51
52 >>
Page 26/34
TP N4 : Méthodes Numériques
19 But :
20 Solution Exercice 1
1 % declaration du polynome P
2 P=[2 3 4 8 2 1 ] ;
3 % Declaration du vecteur V
4 V= [ 1 0 : 0 . 5 : 1 0 ] ;
5 % Evaluation du polynome P aux valeurs de V
6 polyval (P ,V ) ;
Page 27/34
7 % Calculer la derivee du polynome P
8 dP=polyder (P ) ;
9 % Creer une figure numerotee 1
10 figure (1)
11 % La subdiviser en deux sousfenetre horizontale
12 subplot ( 1 , 2 , 1 ) % 1 ligne, 2 colonne , 1 sousfenetre
13 % Tracer P(v) en fonction de V
14 plot ( polyval (P ,V) ,V)
15 % ajouter un titre a P
16 t i t l e ( ' graphe de la fonction P ' )
17 % ajouter une etiquete a l’axe des x
18 x l a b e l ( 'axes des x ' )
19 % ajouter une etiquete a l’axe des y
20 y l a b e l ( ' fonction polynome p(x) ' )
21 % selectionner la deuxieme sousfenetre
22 subplot ( 1 , 2 , 2 )
23 % Tracer la derivee dP(v) en fonction de v
24 plot ( polyval (dP ,V) ,V)
25 % ajouter un titre a dP
26 t i t l e ( ' graphe de la fonction derivee P ' )
27 % ajouter une etiquete a l’axe des x
28 x l a b e l ( 'axes des x ' )
29 % ajouter une etiquete a l’axe des y
30 y l a b e l ( ' fonction polynome dp (x) ' )
31 % Calculer les racines du polynome P
32 roots (P)
33 % Representation de HORNER d’un polynome
34 % y =2∗x^5+3∗x^4+4∗x^3+8∗x^2+2∗x+1
35 % y =
36 % x∗(x∗(x∗(x∗(x∗(x∗0+2) + 3) + 4) + 8) + 2) + 1
37
38 % implementation de l’algorithme de horner
39 % son but est de minimiser le nombre de
40 % multiplication en evaluant un polynome P
41 % avec une valeur x
42 x=3;
43 r e s =0;
44 f o r i = 1 : length (P)
45 r e s = r e s ∗ x + P( i ) ;
46 end
47
48 res
49
50 % en utilisant polyval
51 z=polyval (P , x )
52 % declaration du polynome S
53 S=[0 7 2 1 5 3 ]
54 % Calculer la somme de deux polynomes
55 % S et P doivent avoir la meme taille
56 % c’est pourquoi on ajouter un zero
Page 28/34
57 % au debut du polynome S
58 som=S+P
59 % multiplier deux polynomes
60 % leur taille puisse etre different
61 m u l t i=conv ( S , P)
62 % diviser deux polynomes
63 % le polynome en denominateur ne doit pas
64 % commencer par la valeur zero
65 [ Q,R]= deconv ( S , P) % l’ordre est important
66 % Q represente le quotiant
67 % R represente le reste
21 Solution Exerice 2
1 % Methode de DICHOTOMIE
Page 29/34
2 f=i n l i n e ( '(5 -x )* exp (x) -3 ' ) % declaration de la fonction f avec
3 a0 =4; % inline
4 b0 =6;
5 e r r =1; % une faux valeur pour declencher la boucle
6 xt =4; % pour calculer l’erreur on suppose que la racine
7 % est a0=4
8 i f f ( a0 ) ∗ f ( b0)<0 % condition necessaire pour que f admet une
9 % racine dans [a,b]
10 nitermax =0; % initialiser la valeur du nombre
11 % d’iteration a zero.
12 while ( nitermax <=50 & e r r >10^ 6) % deux condition d’arret
13 % si nombre maximum d’iteration est atteint ou l’erreur
14 % est inferieur a epsilon 0.000001
15 x=(a0+b0 ) / 2 ; % dviviser l’intervalle [a0 b0] sur 2
16 e r r=abs ( xt x ) ; % calculer l’erreur entre deux valeurs
17 % successives
18 xt=x ; % recursivite du calcul
19 nitermax=nitermax +1; % incrementer le nombre d’iteration
20 % par un
21 i f f ( a0 ) ∗ f ( x)<0 % test si l’intervalle [a0 x] contient
22 % la racine
23 b0=x ; % si oui la valeur de b0 est change par x
24 else
25 a0=x ; % si non la valeur de a0 est change par x
26 end
27 end
28 f p r i n t f ( 'la racine approchee est %f\n ' , x ) % afficher
29 % la racine
30 e l s e % changer l’intervalle
31 f p r i n t f ( 'pas de racine trouve dans l" intervalle \n ' )
32 end
22 Solution Exerice 3
Page 30/34
12 grid on
13
14 % Methode 2:
15 x=l i n s p a c e ( pi , pi , 5 0 ) ; % ou x=pi:0.01pi;
16 y1=2∗ s i n ( x ) ;
17 y2=x ;
18 figure (2)
19 plot ( x , y1 )
20 hold on
21 plot ( x , y2 , 'r ' )
22 t i t l e ( ' separation graphique ' )
23 grid on
24 legend ( 'y1 ' , 'y2 ' )
25 hold o f f
Page 31/34
Figure 2 Methode de separation de racine
Page 32/34
24 end
25
26 % resultat execution:
27 % f =
28 %
29 % Inline function:
30 % f(x) = (5x).∗exp(x)3
31 %
32 %
33 % df =
34 %
35 % Inline function:
36 % df(x) = (4x).∗exp(x)
37 %
38 % nb x f(x)
39 %
40 % 1 4.97978616 0.06003273
41 % 2 4.97936489 0.00002555
42 % 3 4.97936471 0.00000000
23 Solution Exerice 4
% algorithme de la sécante
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;
Page 33/34
1 % Solution Exerice 4 TP3
2 % Resolution Numerique de f(x)=0
3 % Methode de la secante
4 clear all
5 clc
6 f=i n l i n e ( 'exp (x)-x ^4/2 - x ^2 -1 ' )
7 a=1;
8 b= 1 ;
9 eps =0.00001 ;
10 e c a r t =abs ( ab ) ;
11 i t e r =0;
12 i f f ( a ) . f ( b)<0
13 while ( i t e r <=50 & e c a r t >eps )
14 i t e r=i t e r +1 ;
15 xb=b (ba ) ∗ f ( b ) / ( f ( b) f ( a ) ) ;
16 e c a r t=abs ( axb ) ;
17 i f f ( a ) ∗ f ( xb)<0
18 b=xb ;
19 e l s e a=xb ;
20 end
21 end
22 f p r i n t f ( 'la racine approchee est %f , le nombre d ' i t e r a t i o n s
23 e s t=%d\n’,xb,iter) ;
24 e l s e f p r i n t f ( 'pas de racine dans cet intervalle ' )
25 end
26
27 % resultat d’execution:
28 %
29 % Inline function:
30 % f(x) = exp(x)x^4/2x^21
31 %
32 % la racine approchee est 0.000000,le nombre d’iterations est=51
Page 34/34