1 : introduction à MATLAB - … · Université de Blida acultéF des Sciences 2 année ST Semestre...

34
... *

Transcript of 1 : introduction à MATLAB - … · Université de Blida acultéF des Sciences 2 année ST Semestre...

Page 1: 1 : introduction à MATLAB - … · Université de Blida acultéF des Sciences 2 année ST Semestre 4 TP N 2 : CALCUL MATRICIEL 3 But : Savoir e ectuer à l'aide de MATLAB des opérations

Université de BlidaFaculté des Sciences

2 année STSemestre 4

TPN�

1-4 avec solution

Responsable

A.SELLALI

Assistant

M.LICHOURI

22 Avril 2014

Dernière mise à jour : 2014/05/26 à 18:04:17

TP N�1 : introduction à MATLAB

1 But :

Familiariser l'étudiant à l'environnement MATLAB :

� 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

1. Dans l'espace de travail, réalisez quelques opérations arithmétiques simplesentre scalaires à l'aide des opérateurs addition (+), soustraction (-), division (/),multiplication (*), élévation à la puissance (^).

1 >> 5∗62

3 ans =4

5 30

M.LICHOURI TPINFO4 :Page 1/34

2014/05/26

Page 2: 1 : introduction à MATLAB - … · Université de Blida acultéF des Sciences 2 année ST Semestre 4 TP N 2 : CALCUL MATRICIEL 3 But : Savoir e ectuer à l'aide de MATLAB des opérations

Université de BlidaFaculté des Sciences

2 année STSemestre 4

6

7 >> 3+5∗2^58

9 ans =10

11 16312

13 >> y=(2+9)/3 %priorite au parenthese14

15 y =16

17 3 .666718

19 >> z=2+9/320

21 z =22

23 524

25 >> x=3+9^726

27 x =28

29 478297230

31 >> p =(4∗x^2�2∗x+3)/(x^3+1)32

33 p =34

35 8 .3630 e�00736

37 >>

2. Calculer sous MATLAB la valeur de t et u en fonction de x.

1 >> x=32

3 x =4

5 36

7 >> t=(4∗x^2�2∗x+3)/(x^2+1)8

9 t =10

11 3 .300012

13 >> x=214

15 x =

M.LICHOURI TPINFO4 :Page 2/34

2014/05/26

Page 3: 1 : introduction à MATLAB - … · Université de Blida acultéF des Sciences 2 année ST Semestre 4 TP N 2 : CALCUL MATRICIEL 3 But : Savoir e ectuer à l'aide de MATLAB des opérations

Université de BlidaFaculté des Sciences

2 année STSemestre 4

16

17 218

19 >> u = (x^2+3∗x+8)/(3∗x^3+5∗x^2�6)20

21 u =22

23 0 .473724

25 >>

3. La constante pi est prédé�nie dans MATLAB .Tapez pi ainsi calculer levolume d'une sphère.

1 >> R=42

3 R =4

5 46

7 >> V=4∗pi∗R^3/38

9 V =10

11 268.082612

13 >>

4. Si aucune valeur n'est a�ectée à la variable i elle sera considérée commeétant l'imaginaire pur.

1 >> x=�2+5i2

3 x =4

5 �2.0000 + 5.0000 i6

7 >> a=real ( x )8

9 a =10

11 �212

13 >> b=imag( x )14

15 b =16

17 518

19 >> X=abs ( x )

M.LICHOURI TPINFO4 :Page 3/34

2014/05/26

Page 4: 1 : introduction à MATLAB - … · Université de Blida acultéF des Sciences 2 année ST Semestre 4 TP N 2 : CALCUL MATRICIEL 3 But : Savoir e ectuer à l'aide de MATLAB des opérations

Université de BlidaFaculté des Sciences

2 année STSemestre 4

20

21 X =22

23 5 .385224

25 >> i=226

27 i =28

29 230

31 >> i ^2 % vaut 432 ans =33

34 435

36 >> clear i % supprimer la variable i de la memoire37 >> i ^2 % donc i est consideree comme nombre imaginaire38

39 ans =40

41 �142

43 >>

5. Si vous n'a�ectez pas le résultat de vos calculs à une variable, il est auto-matiquement a�ecté (stocké) dans la variable ans. Vous pouvez vous servir decette variable dans le calcul suivant.

1 >> 2+3/(4∗5)2

3 ans =4

5 2 .15006

7 >> y=ans+208

9 y =10

11 22.150012

13 >>

M.LICHOURI TPINFO4 :Page 4/34

2014/05/26

Page 5: 1 : introduction à MATLAB - … · Université de Blida acultéF des Sciences 2 année ST Semestre 4 TP N 2 : CALCUL MATRICIEL 3 But : Savoir e ectuer à l'aide de MATLAB des opérations

Université de BlidaFaculté des Sciences

2 année STSemestre 4

6. Tapez la ligne d'instructions suivante. Que remarquez vous ?

1 >> (3+5∗2^5)/5 ; % cacher le resultat avec le point�virgule2 >> ans % afficher la valeur de ans3

4 ans =5

6 32.60007

8 >>

7. Qu'obtient t'on avec les lignes de commandes suivantes

1 >> 1/0 %infini2

3 ans =4

5 Inf

6

7 >> �1/0 % moins infini8

9 ans =10

11 �Inf

12

13 >> 0/0 % non determine (Not�A�Number)14

15 ans =16

17 NaN

18

19 >>

M.LICHOURI TPINFO4 :Page 5/34

2014/05/26

Page 6: 1 : introduction à MATLAB - … · Université de Blida acultéF des Sciences 2 année ST Semestre 4 TP N 2 : CALCUL MATRICIEL 3 But : Savoir e ectuer à l'aide de MATLAB des opérations

Université de BlidaFaculté des Sciences

2 année STSemestre 4

TP N�2 : CALCUL MATRICIEL

3 But :

Savoir e�ectuer à l'aide de MATLAB des opérations matricielles de façoncompacte, sans programmer de boucles sur les indices.

4 Solution Exercice 1

1. Créer un vecteur ligne de coordonnées contenant les nombres de -5,-4,...,4,5et déterminer sa taille.

1 >> vec=[�5:5] % debut:fin avec pas par defaut 12

3 vec =4

5 �5 �4 �3 �2 �1 0 1 2 3 45

6

7 >> length ( vec ) % la taille du vecteur est: 118

9 ans =10

11 1112

13 >>

2. Créer un vecteur colonne de coordonnées contenant les nombres -500,-499,-498...,499,500 et déterminer sa taille.

1

2 >> co l =[�500:500 ] ' ; % on utilise le prime (’) pour3 >> % avoir un vecteur colonne4 >> % on a utilise le point�virgule car le vecteur est long5 >> length ( c o l ) % sa taille est:10016

7 ans =8

9 100110

11 >>

M.LICHOURI TPINFO4 :Page 6/34

2014/05/26

Page 7: 1 : introduction à MATLAB - … · Université de Blida acultéF des Sciences 2 année ST Semestre 4 TP N 2 : CALCUL MATRICIEL 3 But : Savoir e ectuer à l'aide de MATLAB des opérations

Université de BlidaFaculté des Sciences

2 année STSemestre 4

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.24

5 V =6

7 0 0 .2000 0 .4000 0 .6000 0 .8000 1 .00008 >> % on remarque la precision de Matlab par defaut9 >> % pour les nombres reelles est de 4 chiffres

10 >> % apres la virgule11 >>

4. Que fait l'instruction suivante : x = [ -1.3, sqrt(3), (1+2+3)*4/5 ] .quelleest la valeur de x(2)

1 >>2 >> x = [ �1.3 , sqrt ( 3 ) , (1+2+3)∗4/5 ] % affiche le vecteur3 >> % x en evaluant les expressions dont il contient4

5 x =6

7 �1.3000 1 .7321 4 .80008

9 >> x (2) % represente le deuxieme element du vecteur x10

11 ans =12

13 1 .732114

15 >>

5. Créer le vecteur suivant en précisant l'incrément 10.00009.50009.00008.50008.0000

1 >>2 >> Y=[10 : �0 .5 : 8 ] ' % debut=10; fin=8; pas=�0.53

4 Y =5

6 10.00007 9 .50008 9 .00009 8 .5000

10 8 .0000

M.LICHOURI TPINFO4 :Page 7/34

2014/05/26

Page 8: 1 : introduction à MATLAB - … · Université de Blida acultéF des Sciences 2 année ST Semestre 4 TP N 2 : CALCUL MATRICIEL 3 But : Savoir e ectuer à l'aide de MATLAB des opérations

Université de BlidaFaculté des Sciences

2 année STSemestre 4

5 Solution Exercice 2

Complétez les opérations suivantes en indiquant ce qu'elles réalisent :

1 >>2 >> V = [8 , �1, 13 , �4, 7 , 6 ] % affiche le vecteur ligne V3

4 V =5

6 8 �1 13 �4 7 67

8 >> V(2) % affiche la deuxieme valeur de V9

10 ans =11

12 �113

14 >> V(2 : 4 ) % affiche les valeurs de V entre le 2 et 4 positions.15

16 ans =17

18 �1 13 �419

20 >> V(5: �2 :1) % commence l’affichage depuis la 5 valeur21 % avec un decrement de �2 vers la 1 valeur22 ans = % donc la 5,3 et 1 valeur23

24 7 13 825

26 >> V(3 :end) % afficher tous les valeurs du 3 a la fin27

28 ans =29

30 13 �4 7 631

32 >> V(1) = �1 % remplace la premiere valeur par �133

34 V =35

36 �1 �1 13 �4 7 637

38 >> V(7) = �3 % du fait que V contient 6 valeur39 % on va donc ajouter une 7 valeur =�340 V =41

42 �1 �1 13 �4 7 6 �343

44 >>

M.LICHOURI TPINFO4 :Page 8/34

2014/05/26

Page 9: 1 : introduction à MATLAB - … · Université de Blida acultéF des Sciences 2 année ST Semestre 4 TP N 2 : CALCUL MATRICIEL 3 But : Savoir e ectuer à l'aide de MATLAB des opérations

Université de BlidaFaculté des Sciences

2 année STSemestre 4

6 Solution Exercice 3

Complétez les opérations suivantes en indiquant ce qu'elles réalisent :

1 >>2 >> x=[1 ; 2 ; 3 ] % vecteur colonne x3

4 x =5

6 17 28 39

10 >> y=[4 ; 5 ; 6 ] % vecteur colonne y11

12 y =13

14 415 516 617

18 >> x+3 % ajouter 3 aux vecteur x19

20 ans =21

22 423 524 625

26 >> x�5 % soustraire la valeur 5 du vecteur x27

28 ans =29

30 �431 �332 �233

34 >> x�y % soustraire y de x35

36 ans =37

38 �339 �340 �341

42 >> x+y % somme de x et y43

44 ans =45

46 5

M.LICHOURI TPINFO4 :Page 9/34

2014/05/26

Page 10: 1 : introduction à MATLAB - … · Université de Blida acultéF des Sciences 2 année ST Semestre 4 TP N 2 : CALCUL MATRICIEL 3 But : Savoir e ectuer à l'aide de MATLAB des opérations

Université de BlidaFaculté des Sciences

2 année STSemestre 4

47 748 949

50 >> z1=x .∗ y % multiplication element par element de x et y51

52 z1 =53

54 4 % 1∗455 10 % 2∗556 18 % 3∗657

58 >> z2 =x .\ y % division element par element de y sur x59

60 z2 =61

62 4 .0000 % 4/163 2 .5000 % 5/264 2 .0000 % 6/365

66 >> z3 =x ./ y % division element par element de x sur y67

68 z3 =69

70 0 .2500 % 1/471 0 .4000 % 2/572 0 .5000 % 3/673

74 >> z4 =x .^y % relever valeur par valeur, x au puissance de y75

76 z4 =77

78 1 % 1^479 32 % 2^580 729 % 3^681

82 >> length ( z1 ) % taille de z183

84 ans =85

86 387

88 >> norm( z1 ) % norme euclidienne de z189

90 ans =91

92 20.976293

94 >> U = linspace ( 1 , 20 , 5 ) % generer un vecteur contenant95 % 5 valeur compris entre 1 et 20 avec un pas fixe96 U =

M.LICHOURI TPINFO4 :Page 10/34

2014/05/26

Page 11: 1 : introduction à MATLAB - … · Université de Blida acultéF des Sciences 2 année ST Semestre 4 TP N 2 : CALCUL MATRICIEL 3 But : Savoir e ectuer à l'aide de MATLAB des opérations

Université de BlidaFaculté des Sciences

2 année STSemestre 4

97

98 1 .0000 5 .7500 10.5000 15.2500 20.000099

100 >>

7 Solution Exercice 4

1. Créer la matrice A1 2 3 45 6 7 86 0 8 2

1 >> % on definit une matrice ligne par ligne2 >> A=[1 2 3 4 ; 5 6 7 8 ; 6 0 8 2 ]3 % on separe les colonnes avec ecpace ou virgule4 % on separe les lignes avec point�virgule5 A =6

7 1 2 3 48 5 6 7 89 6 0 8 2

2. Créer avec la ligne de commande la plus courte possible la matrice B va-lant :1 2 3 4 5 6 7 8 92 4 6 8 0 1 2 3 42 2 2 2 2 2 2 2 2

1 >> B=[1 : 9 ; 2 : 2 : 8 0 : 4 ; 2∗ ones ( 1 , 9 ) ]2 % 2:2:8 de 2 vers 8 avec pas de 23 B =4

5 1 2 3 4 5 6 7 8 96 2 4 6 8 0 1 2 3 47 2 2 2 2 2 2 2 2 28

9 >> ones (1 , 9 )% commande generant une matrice de 1 ligne et10 % 9 colonne ne contenant que des 111 ans =12

13 1 1 1 1 1 1 1 1 1

M.LICHOURI TPINFO4 :Page 11/34

2014/05/26

Page 12: 1 : introduction à MATLAB - … · Université de Blida acultéF des Sciences 2 année ST Semestre 4 TP N 2 : CALCUL MATRICIEL 3 But : Savoir e ectuer à l'aide de MATLAB des opérations

Université de BlidaFaculté des Sciences

2 année STSemestre 4

3. Donnez la ligne de commande permettant de créer la matrice suivante enutilisant les opérations usuelles sur les matrices :

�� 31 31 31

31 31 3131 31 31

� � 2

�� 1 0 0

0 1 00 0 1

� � 5

�� 5 8 1

0 6 97 3 3

1 >> C=31∗ones (3 ) % matrice de 3x3 remplit de 12 % qu’on multiplie avec 31 donc:3 C =4

5 31 31 316 31 31 317 31 31 318

9 >> D=2∗eye (3 ) % commande permettant de generer une matrice10 % 3x3 identite qu’on multiplie avec 211 D =12

13 2 0 014 0 2 015 0 0 216

17 >> E=[5 8 1 % on peut separer les lignes d’une matrice par18 0 6 9 % des sauts de lignes19 7 3 3 ]20

21 E =22

23 5 8 124 0 6 925 7 3 326

27 >> F=C∗D+5∗E % calculer F28

29 F =30

31 87 102 6732 62 92 10733 97 77 7734

35 >>

M.LICHOURI TPINFO4 :Page 12/34

2014/05/26

Page 13: 1 : introduction à MATLAB - … · Université de Blida acultéF des Sciences 2 année ST Semestre 4 TP N 2 : CALCUL MATRICIEL 3 But : Savoir e ectuer à l'aide de MATLAB des opérations

Université de BlidaFaculté des Sciences

2 année STSemestre 4

8 Solution Exercice 5

Complétez les opérations suivantes en indiquant ce qu'elles réalisent :

1 >>2 >> A=[1 2 3 ; 4 5 6 ] % creation d’une matrice 2 ligne,3 % 3 colonne A(2x3)4 A =5

6 1 2 37 4 5 68

9 >> A(2 , 3) % afficher la valeur qui se trouve dans la10 % deuxieme ligne, troixieme colonne11 ans =12

13 614

15 >> A(2 , 3)=5 % remplacer la valeur par 516

17 A =18

19 1 2 320 4 5 521

22 >> A(3 , 1)=7 % puisque la matrice A contient 2 lignes,23 % donc on va ajouter une troisieme ligne avec seulement24 % la premiere valeur definit=7 alors les autres25 % seront mis�a�zeros26 A =27

28 1 2 329 4 5 530 7 0 031

32 >> A(1 , : ) % afficher la premiere ligne de A33

34 ans =35

36 1 2 337

38 >> A( : , 2) % afficher la deuxieme colonne39

40 ans =41

42 243 544 045

46 >>

M.LICHOURI TPINFO4 :Page 13/34

2014/05/26

Page 14: 1 : introduction à MATLAB - … · Université de Blida acultéF des Sciences 2 année ST Semestre 4 TP N 2 : CALCUL MATRICIEL 3 But : Savoir e ectuer à l'aide de MATLAB des opérations

Université de BlidaFaculté des Sciences

2 année STSemestre 4

9 Solution Exercice 6

Opérations sur les matrices :Soit la matrice A=[1 2 3 ; 4 5 6 ;7 8 9]1. Dé�nir la matrice B transposée de A

1 >>2 >> A=[1 2 3 ; 4 5 6 ; 7 8 9 ]3

4 A =5

6 1 2 37 4 5 68 7 8 99

10 >> B=A' % le prime (’) sert a creer une matrice11 % transposee, les lignes deviendront les colonnes12 B =13

14 1 4 715 2 5 816 3 6 917

18 >>

2. Dé�nir la matrice C comme produit de A par B

1 >> C=A∗B % produit matricielle ligne par colonne2

3 C =4

5 14 32 506 32 77 1227 50 122 1948

9 >>

3. Dé�nir la matrice D par : D= A.* B ; Comparer C et D

1 >>2 >> D= A.∗ B3

4 D =5

6 1 8 217 8 25 488 21 48 81

M.LICHOURI TPINFO4 :Page 14/34

2014/05/26

Page 15: 1 : introduction à MATLAB - … · Université de Blida acultéF des Sciences 2 année ST Semestre 4 TP N 2 : CALCUL MATRICIEL 3 But : Savoir e ectuer à l'aide de MATLAB des opérations

Université de BlidaFaculté des Sciences

2 année STSemestre 4

9

10 >> % C n’egale pas D car:11 >> % La matrice C est le resultat d’une multiplication12 >> % matricielle alors que D d’une multiplication element13 >> % 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 �77

8 >> A=[v ;2∗ v ;3∗ v ;4∗ v ]9

10 A =11

12 �1 �3 �5 �713 �2 �6 �10 �1414 �3 �9 �15 �2115 �4 �12 �20 �2816

17 >> % on a declarer une matrice en utilisant un variable qui est18 >> % le vecteur v19 >> diag (A)20

21 ans =22

23 �124 �625 �1526 �2827

28 >> % diagonale d’une matrice est extraite par la commande diag29 >> % le resultat sera affiche comme vecteur colonne30 >> A(2 : 3 , 2 : 4 )31

32 ans =33

34 �6 �10 �14

M.LICHOURI TPINFO4 :Page 15/34

2014/05/26

Page 16: 1 : introduction à MATLAB - … · Université de Blida acultéF des Sciences 2 année ST Semestre 4 TP N 2 : CALCUL MATRICIEL 3 But : Savoir e ectuer à l'aide de MATLAB des opérations

Université de BlidaFaculté des Sciences

2 année STSemestre 4

35 �9 �15 �2136

37 >> % extraire une sous matrice de la 2 ver la 3 ligne38 >> % et de la 2 vers 3 colonne aussi39 >> t r i l (A) % affiche la partie inferieur a la diagonale40

41 ans =42

43 �1 0 0 044 �2 �6 0 045 �3 �9 �15 046 �4 �12 �20 �2847

48 >> triu (A) % affiche la partie superieur a la diagonale49

50 ans =51

52 �1 �3 �5 �753 0 �6 �10 �1454 0 0 �15 �2155 0 0 0 �2856

57 >> det (A) % calcule le determinant de A58

59 ans =60

61 062

63 >> inv (A) %calcule la matrice inverse de A64 Warning : Matrix i s s i n gu l a r to 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 nulle74 >>

M.LICHOURI TPINFO4 :Page 16/34

2014/05/26

Page 17: 1 : introduction à MATLAB - … · Université de Blida acultéF des Sciences 2 année ST Semestre 4 TP N 2 : CALCUL MATRICIEL 3 But : Savoir e ectuer à l'aide de MATLAB des opérations

Université de BlidaFaculté des Sciences

2 année STSemestre 4

2. Générer la matrice M=[ones(5,1) 3.4*eye(5,5) 5*ones(5,2)]

1 >>2 >> ones (5 , 1 )3

4 ans =5

6 17 18 19 1

10 111

12 >> % vecteur colonne de 5 ligne remplit de 113 >> eye ( 5 , 5 ) % matrice identite 5x514

15 ans =16

17 1 0 0 0 018 0 1 0 0 019 0 0 1 0 020 0 0 0 1 021 0 0 0 0 122

23 >> M=[ones (5 , 1 ) 3 .4∗eye ( 5 , 5 ) 5∗ ones ( 5 , 2 ) ]24

25 M =26

27 Columns 1 through 628

29 1 .0000 3 .4000 0 0 0 030 1 .0000 0 3 .4000 0 0 031 1 .0000 0 0 3 .4000 0 032 1 .0000 0 0 0 3 .4000 033 1 .0000 0 0 0 0 3 .400034

35 Column 7 through 836

37 5 .0000 5 .000038 5 .0000 5 .000039 5 .0000 5 .000040 5 .0000 5 .000041 5 .0000 5 .000042

43 >>

M.LICHOURI TPINFO4 :Page 17/34

2014/05/26

Page 18: 1 : introduction à MATLAB - … · Université de Blida acultéF des Sciences 2 année ST Semestre 4 TP N 2 : CALCUL MATRICIEL 3 But : Savoir e ectuer à l'aide de MATLAB des opérations

Université de BlidaFaculté des Sciences

2 année STSemestre 4

11 Solution Exercice Supplémentaire 1

1. Ecrire la commande qui a�che la matrice A suivante :

A �

�� 1 2 3

0 5 47 2 9

1 >>2 >> A=[1 2 3 ; 0 5 4 ; 7 0 9 ]3

4 A =5

6 1 2 37 0 5 48 7 0 9

2. Complétez et commentez :

1 >> v=diag (A) % affiche la diagonale de la matrice A2

3 v =4

5 16 57 98

9 >> b=diag ( v ) % cree une matrice dont la diagonale est v10 % et le reste zero11 b =12

13 1 0 014 0 5 015 0 0 916

17 >> c=diag (diag (A) ) % equivalent a v suivie par v18

19 c =20

21 1 0 022 0 5 023 0 0 924

25 >> A( 1 : 2 , : ) % sous matrice allant de la 1 ligne vers la 2.26

27 ans =28

29 1 2 330 0 5 431

M.LICHOURI TPINFO4 :Page 18/34

2014/05/26

Page 19: 1 : introduction à MATLAB - … · Université de Blida acultéF des Sciences 2 année ST Semestre 4 TP N 2 : CALCUL MATRICIEL 3 But : Savoir e ectuer à l'aide de MATLAB des opérations

Université de BlidaFaculté des Sciences

2 année STSemestre 4

32 >> A( : , 2 : 3 ) % sous matrice allant de la 2 colonne vers la 3.33

34 ans =35

36 2 337 5 438 0 939

40 >> A( 1 : 2 , 2 : 3 ) % sous matrice contenant l’intersection des41 % lignes 1 et 2 avec les colonnes 2 et 3.42 ans =43

44 2 345 5 4

3. Donnez la commande qui extrait les sous matrices suivantes de la matriceA.�

5 40 9

1 >> % on doit extraire l’intersection des lignes 2 et 32 >> A( 2 : 3 , 2 : 3 ) % avec les colonnes 2 et 33

4 ans =5

6 5 47 0 9

�1 30 4

1 >> % on doit extraire l’intersection des lignes2 >> % 1 et 2 avec les colonnes 1 et 3 (la 2 colonne est omis)3 >> A( 1 : 2 , 1 : 2 : 3 ) % on fait un saut de 2 pour les colonnes4

5 ans =6

7 1 38 0 4

�1 37 9

1 >> A( 1 : 2 : 3 , 1 : 2 : 3 ) % on fait un saut de 2 pour les colonnes2 ans = % et les colonnes3

4 1 35 7 9

M.LICHOURI TPINFO4 :Page 19/34

2014/05/26

Page 20: 1 : introduction à MATLAB - … · Université de Blida acultéF des Sciences 2 année ST Semestre 4 TP N 2 : CALCUL MATRICIEL 3 But : Savoir e ectuer à l'aide de MATLAB des opérations

Université de BlidaFaculté des Sciences

2 année STSemestre 4

12 Solution Exercice Supplémentaire 2

Soit le systéme dé�nit par :

�� 3x� 2y � z � 1

2y � 4z � 2 � 0x� 2z � �5

1. Représenter ce systéme sou forme matricielle (Ax=b), et dé�nit à l'aidede Matlab la matrice A et le vecteur b.

�� 3 2 �1

0 �2 41 0 2

� �

�� x

yz

� �

�� 1

2�5

1 >>2 >> A=[3 2 �1;0 �2 4 ; 1 0 2 ]3

4 A =5

6 3 2 �17 0 �2 48 1 0 29

10 >> b=[1;2 ;�5] % ou b=[1 2 �5]’11

12 b =13

14 115 216 �517

18 >> b=[1 2 �5] '19

20 b =21

22 123 224 �525

26 >>

M.LICHOURI TPINFO4 :Page 20/34

2014/05/26

Page 21: 1 : introduction à MATLAB - … · Université de Blida acultéF des Sciences 2 année ST Semestre 4 TP N 2 : CALCUL MATRICIEL 3 But : Savoir e ectuer à l'aide de MATLAB des opérations

Université de BlidaFaculté des Sciences

2 année STSemestre 4

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 zero3 fpr intf ( 'A admet une solution unique\n' )4 else

5 fpr intf ( 'A n"admet pas une solution unique\n' )6 end

7 % A admet une solution unique8 >>

3. Résoudre ce systéme à l'aide de Matlab.

1 >> det (A)2

3 ans =4

5 �6.00006

7 >> X=A\b % X contient les valeurs de x,y,z8

9 X =10

11 7 .000012 �13.000013 �6.000014

15 >>

M.LICHOURI TPINFO4 :Page 21/34

2014/05/26

Page 22: 1 : introduction à MATLAB - … · Université de Blida acultéF des Sciences 2 année ST Semestre 4 TP N 2 : CALCUL MATRICIEL 3 But : Savoir e ectuer à l'aide de MATLAB des opérations

Université de BlidaFaculté des Sciences

2 année STSemestre 4

TP N�3 : Lecture et A�chage de données

13 But :

A�n 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'a�chage de Mat-lab comme disp, error, fprintf,...

14 Exemple d'introduction

1. A�n de lire une variable dans Matlab, on utilise la commande inputcomme suit :

1

2 >> n=input ( 'donner un nombre entier: ' )3 donner un nombre e n t i e r : 24 % on va stoquer la valeur entree dans n5 n =6

7 28

9 >>

2. A�n d'a�cher une valeur, vecteur, chaine de caractére, on utilise la com-mande disp comme suit :

1 >> x=2;2 >> disp ( x ) % afficher la valeur de x3 24

5 >> v=[x 2∗x 4 ] ;6 >> disp ( v ) % afficher le vecteur v7 2 4 48

9 >> message='C"est bientot fini' ;10 >> disp ( message ) % afficher un certain message11 C" e s t b i en to t f i n i12 >>

3. On peut a�cher un message d'erreur à l'utilisateur en utilisant la com-mande error comme suit :

M.LICHOURI TPINFO4 :Page 22/34

2014/05/26

Page 23: 1 : introduction à MATLAB - … · Université de Blida acultéF des Sciences 2 année ST Semestre 4 TP N 2 : CALCUL MATRICIEL 3 But : Savoir e ectuer à l'aide de MATLAB des opérations

Université de BlidaFaculté des Sciences

2 année STSemestre 4

1 >> n=input ( 'entrer un nombre positive: ' )2 en t r e r un nombre p o s i t i v e : �23

4 n =5

6 �27

8 >> i f (n<0) error ( 'n doit etre positive' )9 end

10 ??? n do i t e t r e p o s i t i v e11

12 >> % on a affiche un message d’erreur13 >>

4. On peut a�cher un message suivie par une valeur avec la commandefprintf comme suit :

1 >> Nom=input ( 'entrer votre nom: ' , 's' ) ; % pour entrer un message2 en t r e r vot re nom: M.LICHOURI % on ajoute ’s’ a input3 >> Tel=input ( 'entrer votre telephone: ' ) ;4 en t r e r vot re te l ephone : 123455 >> fpr intf ( 'votre nom est %s, votre numero est %d\n' ,Nom, Tel )6 votre nom e s t M.LICHOURI, vot re numero e s t 123457 >>

15 Solution Exercice 1 : paramètres d'un cercle

Ecrire un script MATLAB qui a�ecte à une variable R la valeur 20 puisa�ecte à 3 variables D, P et S respectivement les valeurs du diamètre, du péri-mètre et de la surface d'un cercle dont le rayon est R. On a�chera à l'écran lecontenu de ces di�érentes variables selon le format suivant :Un cercle de rayon WW a pour diamètre XX, pour circonférence YYet pour surface ZZ.

1 % Solution Exercice 1 TP3 :Parametre d’un cercle2 R=input ( 'donner la valeur du rayon R: ' ) ; % lecture de R3 D=2∗R; % diametre =2∗rayon4 P=2∗pi∗R; % perimetre d’un cercle5 S=pi∗R^2; % surface d’un cercle6 fpr intf ( 'Un cercle de rayon %f a pour diametre %f,

7 pour circonference %f et pour surface %f.\n' ,R,D,P, S)8 % apres execution9 % donner la valeur du rayon R: 20

10 % Un cercle de rayon 20.000000 a pour diametre 40.000000,...11 % pour circonference 125.663706 et pour surface 1256.637061.

M.LICHOURI TPINFO4 :Page 23/34

2014/05/26

Page 24: 1 : introduction à MATLAB - … · Université de Blida acultéF des Sciences 2 année ST Semestre 4 TP N 2 : CALCUL MATRICIEL 3 But : Savoir e ectuer à l'aide de MATLAB des opérations

Université de BlidaFaculté des Sciences

2 année STSemestre 4

16 Solution Exercice 2

Ecrire un script MATLAB qui étant donnée une valeur réelle x, Calcule lavaleur de Y dé�nie par :

�� 3� x10 x  � �1

3x�1 �1   x   1apx3 � 10q x ¡� 1

1 % Solution Exercie 2 TP32 x=input ( 'donner la valeur de x: ' ) ; % lire x3 i f x<=�14 y=3+x^10;5 e l s e i f x<16 y=3/(x+1);7 else

8 y=sqrt ( x^3+10);9 end

10 disp ( y )11 % execution 3 cas possible12 % donner la valeur de x: �113 % 414 %15 % donner la valeur de x: 016 % 317 %18 % donner la valeur de x: 119 % 3.3166

17 Solution Exercice 3 : échelle de température

La formule de conversion des températures exprimées en degré Celsius endegré Fahrenheit est : C � 5{9F � 32 Ecrire un script MATLAB permettant decalculer une liste d'équivalence pour des températures comprises entre 0�F et300�F avec un incrément de 10�F (sous la forme d'un tableau à 2 colonnes , lapremière colonne donnera les degrés Celsius, la seconde les degrés Fahrenheit).

1 % solution ex3 TP32 fpr intf ( 'degre celcius degre Fahreinheit\n' )3 fpr intf ( '--------------------------------------------\n' )4 for f =0:10:3005 c=5∗ f /9�32;6 fpr intf ( '%f || %f\n' , c , f )7 end

8 % execution9 % degre celcius degre Fahreinheit

10 % ��������������������������������������������

M.LICHOURI TPINFO4 :Page 24/34

2014/05/26

Page 25: 1 : introduction à MATLAB - … · Université de Blida acultéF des Sciences 2 année ST Semestre 4 TP N 2 : CALCUL MATRICIEL 3 But : Savoir e ectuer à l'aide de MATLAB des opérations

Université de BlidaFaculté des Sciences

2 année STSemestre 4

11 % �32.000000 || 0.00000012 % �26.444444 || 10.00000013 % �20.888889 || 20.00000014 % �15.333333 || 30.00000015 % �9.777778 || 40.00000016 % ......... || ........

18 Solution Exercice 4 : à faire en devoir

Soit M, la matrice dé�nie par :�� 12 24 36 58

2 6 8 107 9 11 13

Ecrire un script MATLAB qui permet d'extraire :1. L'élément situé dans la troisième ligne et la quatrième colonne.2. Le vecteur L3 contenant tous les éléments de la troisième ligne.3. Le vecteur C4 contenant tous les éléments de la quatrième colonne.4. La sous matrice M1du matrice M, constitué à partir de l'intersection de ladeuxième et la troisième colonne avec la deuxième et la troisième ligne.5. La matrice M2 dont les lignes sont celles de la matrice M mais a�chées ensens inverse.

�� 7 9 11 13

2 6 8 1012 24 36 58

1 >> M=[12 24 36 58 ; 2 6 8 10 ; 7 : 2 : 1 3 ]2

3 M =4

5 12 24 36 586 2 6 8 107 7 9 11 138

9 >> M(3 ,4 )10

11 ans =12

13 1314

15 >> L3=M( 3 , : ) % 3 eme ligne16

17 L3 =18

19 7 9 11 13

M.LICHOURI TPINFO4 :Page 25/34

2014/05/26

Page 26: 1 : introduction à MATLAB - … · Université de Blida acultéF des Sciences 2 année ST Semestre 4 TP N 2 : CALCUL MATRICIEL 3 But : Savoir e ectuer à l'aide de MATLAB des opérations

Université de BlidaFaculté des Sciences

2 année STSemestre 4

20

21 >> C4=M( : , 4 ) % 4 eme colonne22

23 C4 =24

25 5826 1027 1328

29 >> M1=M(2 : 3 , 2 : 3 )30

31 M1 =32

33 6 834 9 1135

36 >> M2=M(end :�1:1 , : )37

38 M2 =39

40 7 9 11 1341 2 6 8 1042 12 24 36 5843

44 >> M2=[M( 3 , : ) ; M( 2 , : ) ; M( 1 , : ) ]45

46 M2 =47

48 7 9 11 1349 2 6 8 1050 12 24 36 5851

52 >>

M.LICHOURI TPINFO4 :Page 26/34

2014/05/26

Page 27: 1 : introduction à MATLAB - … · Université de Blida acultéF des Sciences 2 année ST Semestre 4 TP N 2 : CALCUL MATRICIEL 3 But : Savoir e ectuer à l'aide de MATLAB des opérations

Université de BlidaFaculté des Sciences

2 année STSemestre 4

TP N�4 : Méthodes Numériques

19 But :

1. Tracé des courbes2. Manipulation des de polynômes3. Calcul de la valeur approchée d'une racine d'une fonction réelle d'une variableréelle par les méthodes de Dichotomie de Newton et de la sécante,

20 Solution Exercice 1

Il existe di�érentes manières d'évaluer un polynôme et on souhaite program-mer l'algorithme d'HORNER qui permet de calculer rapidement la valeur d'unpolynôme P en un point x.Dans un script intitulé � polynome.m � :1. Créer un polynôme P pxq � 2x5 � 3x4 � 4x3 � 8x2 � 2x� 12. Créer un vecteur V dont les composantes sont les valeurs de -10 à 10 par pasde 0.53. Calculer les valeurs de P(x) aux points contenus dans le vecteur V4. Calculer la dérivée dP du polynome P(x) avec la commande polyder5. Créer une fenêtre graphique pouvant contenir deux sous fenêtres6. Tracer la courbe de P(x)sur la première sous fenêtre et celle de dP dans laseconde sous fenêtre sur l'intervalle [-10 , 10] en ajoutant le titre et les légendesdes axes.7. Trouver les racines de P(x) avec la commande roots et a�cher les.8. A l'aide de l'algorithme d'HORNER évaluer P(x) pour x=3 ( la valeur de xdoit être donnée en entrée)9. Véri�er la valeur obtenue à l'aide de la commande de MATLAB polyval10. Soit le polynôme Spxq � 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 % declaration du polynome P2 P=[2 3 4 8 2 1 ] ;3 % Declaration du vecteur V4 V=[ �10 : 0 . 5 : 10 ] ;5 % Evaluation du polynome P aux valeurs de V6 polyval (P,V) ;

M.LICHOURI TPINFO4 :Page 27/34

2014/05/26

Page 28: 1 : introduction à MATLAB - … · Université de Blida acultéF des Sciences 2 année ST Semestre 4 TP N 2 : CALCUL MATRICIEL 3 But : Savoir e ectuer à l'aide de MATLAB des opérations

Université de BlidaFaculté des Sciences

2 année STSemestre 4

7 % Calculer la derivee du polynome P8 dP=polyder (P) ;9 % Creer une figure numerotee 1

10 f igure (1 )11 % La subdiviser en deux sous�fenetre horizontale12 subplot ( 1 , 2 , 1 ) % 1 ligne, 2 colonne , 1 sous�fenetre13 % Tracer P(v) en fonction de V14 plot (polyval (P,V) ,V)15 % ajouter un titre a P16 t i t l e ( 'graphe de la fonction P' )17 % ajouter une etiquete a l’axe des x18 xlabel ( 'axes des x' )19 % ajouter une etiquete a l’axe des y20 ylabel ( 'fonction polynome p(x)' )21 % selectionner la deuxieme sous�fenetre22 subplot ( 1 , 2 , 2 )23 % Tracer la derivee dP(v) en fonction de v24 plot (polyval (dP ,V) ,V)25 % ajouter un titre a dP26 t i t l e ( 'graphe de la fonction derivee P' )27 % ajouter une etiquete a l’axe des x28 xlabel ( 'axes des x' )29 % ajouter une etiquete a l’axe des y30 ylabel ( 'fonction polynome dp(x)' )31 % Calculer les racines du polynome P32 roots (P)33 % Representation de HORNER d’un polynome34 % y =2∗x^5+3∗x^4+4∗x^3+8∗x^2+2∗x+135 % y =36 % x∗(x∗(x∗(x∗(x∗(x∗0+2) + 3) + 4) + 8) + 2) + 137

38 % implementation de l’algorithme de horner39 % son but est de minimiser le nombre de40 % multiplication en evaluant un polynome P41 % avec une valeur x42 x=3;43 r e s =0;44 for i = 1 : length (P)45 r e s = r e s ∗x + P( i ) ;46 end

47

48 r e s49

50 % en utilisant polyval51 z=polyval (P, x )52 % declaration du polynome S53 S=[0 7 �2 1 �5 3 ]54 % Calculer la somme de deux polynomes55 % S et P doivent avoir la meme taille56 % c’est pourquoi on ajouter un zero

M.LICHOURI TPINFO4 :Page 28/34

2014/05/26

Page 29: 1 : introduction à MATLAB - … · Université de Blida acultéF des Sciences 2 année ST Semestre 4 TP N 2 : CALCUL MATRICIEL 3 But : Savoir e ectuer à l'aide de MATLAB des opérations

Université de BlidaFaculté des Sciences

2 année STSemestre 4

57 % au debut du polynome S58 som=S+P59 % multiplier deux polynomes60 % leur taille puisse etre different61 mult i=conv (S ,P)62 % diviser deux polynomes63 % le polynome en denominateur ne doit pas64 % commencer par la valeur zero65 [Q,R]=deconv (S ,P) % l’ordre est important66 % Q represente le quotiant67 % R represente le reste

21 Solution Exerice 2

Soit la fonction fpxq � p5� xqex � 3 dé�nie sur R .1. Ecrire une fonction sous matlab, qui reçoit comme argument l'abscisse x etqui retourne la valeur fpxq. (inline)2. Utilisez la commande fplot de Matlab pour tracer le graphe de la fonctionfpxq dans l'intervalle [-2, 6]. Donner, à l'aide de ce graphe, une première ap-proximation des racines.3. Utiliser la commande matlab fzero pour trouver la racine positive de cettefonction.

1 %∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗2 % declaration de la fonction f avec inline3 f=i n l i n e ( '(5-x)* exp(x)-3' )4 % appelation d’une figure5 f igure (2 )6 % tracer la fonction f dans l’intervalle [�2 6]7 % avec la commande fplot8 fplot ( f , [ �2 , 6 ] )9 % calculer la racine positive de f a l’aide de fzero

10 % fzero a besoin d’une fonction f et un point initial x011 X = fzero (@(x)((5�x )∗ exp( x )�3) ,3) %fzero(f,3)

4. Ecrire un programme script Matlab permettant de calculer la racine po-sitive approchée de fpxq � 0 en utilisant la méthode de dichotomie. On donne :

l'intervalle initial [a0,b0] = [4, 6].Indications :Utiliser les deux tests d'arrêt suivants :a) Imposer le nombre d'itérations maximum nitermax =50.b) En dé�nissant la valeur de l'erreur absolue ek � |xk � xpk � 1q| où xk est lasolution approchée à l'itération k , arrêtez les calculs lorsque ek   ε � 10� 6 .

1 % Methode de DICHOTOMIE

M.LICHOURI TPINFO4 :Page 29/34

2014/05/26

Page 30: 1 : introduction à MATLAB - … · Université de Blida acultéF des Sciences 2 année ST Semestre 4 TP N 2 : CALCUL MATRICIEL 3 But : Savoir e ectuer à l'aide de MATLAB des opérations

Université de BlidaFaculté des Sciences

2 année STSemestre 4

2 f=i n l i n e ( '(5-x)*exp(x)-3' ) % declaration de la fonction f avec3 a0=4; % inline4 b0=6;5 e r r =1; % une faux valeur pour declencher la boucle6 xt=4; % pour calculer l’erreur on suppose que la racine7 % est a0=48 i f f ( a0 )∗ f ( b0)<0 % condition necessaire pour que f admet une9 % racine dans [a,b]

10 nitermax=0; % initialiser la valeur du nombre11 % d’iteration a zero.12 while ( nitermax<=50 & err >10^�6) % deux condition d’arret13 % si nombre maximum d’iteration est atteint ou l’erreur14 % est inferieur a epsilon 0.00000115 x=(a0+b0 ) /2 ; % dviviser l’intervalle [a0 b0] sur 216 e r r=abs ( xt�x ) ; % calculer l’erreur entre deux valeurs17 % successives18 xt=x ; % recursivite du calcul19 nitermax=nitermax+1; % incrementer le nombre d’iteration20 % par un21 i f f ( a0 )∗ f ( x)<0 % test si l’intervalle [a0 x] contient22 % la racine23 b0=x ; % si oui la valeur de b0 est change par x24 else

25 a0=x ; % si non la valeur de a0 est change par x26 end

27 end

28 fpr intf ( 'la racine approchee est %f\n' , x ) % afficher29 % la racine30 else % changer l’intervalle31 fpr intf ( 'pas de racine trouve dans l"intervalle\n' )32 end

22 Solution Exerice 3

En utilisant les fonctionnalités graphiques de MATLAB, localiser la racinepositive de l'équation fpxq � 2sinpxq � x.

1 % Solution Exercice 3 TP32 % Partie 1: Resolution graphique de f(x)=03 % Pour cela on recherche soit la solution4 % en reperant le point % d’intersection avec5 % y=0 ou bien utiliser la methode de separation6 % de racine.7 % Methode 1:8 f=i n l i n e ( '2*sin(x)-x' )9 f igure (1 )

10 fplot ( f , [�pi pi ] )11 t i t l e ( 'methode graphique' )

M.LICHOURI TPINFO4 :Page 30/34

2014/05/26

Page 31: 1 : introduction à MATLAB - … · Université de Blida acultéF des Sciences 2 année ST Semestre 4 TP N 2 : CALCUL MATRICIEL 3 But : Savoir e ectuer à l'aide de MATLAB des opérations

Université de BlidaFaculté des Sciences

2 année STSemestre 4

12 grid on13

14 % Methode 2:15 x=linspace(�pi , pi , 5 0 ) ; % ou x=�pi:0.01pi;16 y1=2∗sin ( x ) ;17 y2=x ;18 f igure (2 )19 plot (x , y1 )20 hold on21 plot (x , y2 , 'r' )22 t i t l e ( 'separation graphique' )23 grid on24 legend ( 'y1' , 'y2' )25 hold o f f

Figure 1 � Resolution graphique

M.LICHOURI TPINFO4 :Page 31/34

2014/05/26

Page 32: 1 : introduction à MATLAB - … · Université de Blida acultéF des Sciences 2 année ST Semestre 4 TP N 2 : CALCUL MATRICIEL 3 But : Savoir e ectuer à l'aide de MATLAB des opérations

Université de BlidaFaculté des Sciences

2 année STSemestre 4

Figure 2 � Methode de separation de racine

Appliquer la méthode de Newton, pour trouver la valeur approchée de laracine de fpxq dé�nie dans l'exercice 1.Indications : On prendra un test d'arrêt de la forme |xn�1 � xn|   ε � 10�6

et on prendra soin de prévoir un compteur d'itérations

1 % Solution Exercice 3 TP32 % Partie 2: Resolution numerique de f(x)=03 % Methode Newton4 f=i n l i n e ( '(5-x).*exp(x)-3' ) % declarer la fonction f5 df=i n l i n e ( '(4-x).*exp(x)' ) % declarer la fonction derivee df6 a=4;7 b=6;8 eps=10^�6; % la valeur toleree de l’erreur9 x0=(a+b )/2 ; % point initial

10 e r r =1; % pour lancer la boucle11 nb=0; % initialiser le nombre d’iteration12 i f f ( a )∗ f (b)<013 fpr intf ( 'nb x f(x)\n' )14 fpr intf ( '---------------------------------------\n' )15 while ( err>eps )16 nb=nb+1; % incrementer la compteur nb par 117 xt=x0�f ( x0 )/ df ( x0 ) ; % equation de la tangeante18 e r r=abs ( x0�xt ) ; % calcule de l’erreur19 x0=xt ; % car une methode resursive20 fpr intf ( '%3d %3.8f %3.8f\n' , nb , xt , f ( xt ) )21 end

22 else

23 fpr intf ( 'changer d''intervalle' )

M.LICHOURI TPINFO4 :Page 32/34

2014/05/26

Page 33: 1 : introduction à MATLAB - … · Université de Blida acultéF des Sciences 2 année ST Semestre 4 TP N 2 : CALCUL MATRICIEL 3 But : Savoir e ectuer à l'aide de MATLAB des opérations

Université de BlidaFaculté des Sciences

2 année STSemestre 4

24 end

25

26 % resultat execution:27 % f =28 %29 % Inline function:30 % f(x) = (5�x).∗exp(x)�331 %32 %33 % df =34 %35 % Inline function:36 % df(x) = (4�x).∗exp(x)37 %38 % nb x f(x)39 % ���������������������������������������40 % 1 4.97978616 �0.0600327341 % 2 4.97936489 �0.0000255542 % 3 4.97936471 �0.00000000

23 Solution Exerice 4

Soit la fonction fpxq � ex�x4{2�x2�1 écrire un script ( programme) Mat-lab permettant de trouver la racine approchée de cette équation par la méthodede la sécante si elle existe dans l'intervalle[-1 1], en utilisant l'algorithme suivant :

% 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;

M.LICHOURI TPINFO4 :Page 33/34

2014/05/26

Page 34: 1 : introduction à MATLAB - … · Université de Blida acultéF des Sciences 2 année ST Semestre 4 TP N 2 : CALCUL MATRICIEL 3 But : Savoir e ectuer à l'aide de MATLAB des opérations

Université de BlidaFaculté des Sciences

2 année STSemestre 4

1 % Solution Exerice 4 TP32 % Resolution Numerique de f(x)=03 % Methode de la secante4 clear a l l

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 ca r t =abs ( a�b ) ;11 i t e r =0;12 i f f ( a ) . f (b)<013 while ( i t e r <=50 & ecart>eps )14 i t e r=i t e r+1 ;15 xb=b�(b�a )∗ f (b )/ ( f (b)� f ( a ) ) ;16 e ca r t=abs ( a�xb ) ;17 i f f ( a )∗ f ( xb)<018 b=xb ;19 else a=xb ;20 end

21 end

22 fpr intf ( 'la racine approchee est %f,le nombre d' i t e r a t i o n s23 e s t=%d\n’,xb,iter) ;24 else fprintf ( 'pas de racine dans cet intervalle' )25 end

26

27 % resultat d’execution:28 %29 % Inline function:30 % f(x) = exp(x)�x^4/2�x^2�131 %32 % la racine approchee est 0.000000,le nombre d’iterations est=51

M.LICHOURI TPINFO4 :Page 34/34

2014/05/26