TP All1
TP All1
TP All1
TPN 1-4 avec solution
Responsable
A.SELLALI
Assistant
M.LICHOURI
22 Avril 2014
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
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 >>
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 >>
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 >>
3 But :
4 Solution Exercice 1
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
5 Solution Exercice 2
6 Solution Exercice 3
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 =
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
8 Solution Exercice 5
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
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
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 >>
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 :
5 4
0 9
1 3
0 4
1 3
7 9
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 >>
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
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
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
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 >>
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 ) ;
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
22 Solution Exerice 3
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
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;