Vous êtes sur la page 1sur 118

Introduction à Matlab

ENSA de Tétouan – Classes préparatoires-


1ère année
2021-2022
La programmation
La programmation

Qu’est ce que la programmation

3
La programmation

Différents langages de programmation

4
La programmation

Différents langages de programmation

5
La programmation

Différents langages de programmation

6
La programmation

Différents langages de programmation

7
La programmation

Différents langages de programmation

8
La programmation

Différents langages de programmation

9
La programmation

Quelques définitions supplémentaires

10
La programmation

Quelques définitions supplémentaires

11
La programmation

Quelques définitions supplémentaires

12
Présentation de Matlab
Présentation de Matlab

Qu’est-ce que Matlab ?

14
Présentation de Matlab

Présentation de l’interface

15
Présentation de Matlab

Présentation de l’interface

16
Présentation de Matlab

Présentation de l’interface

17
Présentation de Matlab

Matlab à la maison

. demander une version gratuite (version démo valide pour une durée de 1
mois). Il suffit de s’inscrire sur le site : https://matlab.mathworks.com/

18
Les commandes de base
en Matlab
Les commandes de base en Matlab

Les opérations de base

>> 3+6

ans =

20
Les commandes de base en Matlab

Les opérations de base

Symbole Description Exemple


+-*/ Les opérations de base en mathématiques (addition, 7+9
soustraction, multiplication et division) 3/4
pi La constante Pi pi/3
cos sin tan Les fonctions trigonométriques usuelles cos(3*pi/2)
log exp Le logarithme népérien et l’exponentielle exp(3)
sqrt La racine carrée sqrt(5)
^ La puissance 4^7

>> sqrt((3+4)*cos(5*pi/7))*exp(2^4)

21
Les commandes de base en Matlab

Les nombres réels

>> 2.7 * 3.9


ans =

10.5300

22
Les commandes de base en Matlab

Les variables (simples) en Matlab

>> x = 4

23
Les commandes de base en Matlab

Les variables (simples) en Matlab

>> y = x+2

24
Les commandes de base en Matlab

Les variables (simples) en Matlab

>> disp(y)
6

>> y
y =
6

25
Les commandes de base en Matlab

Les variables (simples) en Matlab

>> x = input('Entrez une valeur : ');


Entrez une valeur : 9

26
Les matrices dans Matlab
Les matrices dans Matlab

Matlab et les matrices

28
Les matrices dans Matlab

Déclarer des matrices dans Matlab

>> A = [1 2 3; 4 5 6; 7 8.5 9; 10 11.5 12]

29
Les matrices dans Matlab

Déclarer des matrices dans Matlab

>> B = [4.2 7.6 8.2; 4.1 0.5 0]

4.2 7.6 8.2


4.1 0.5 0

>> C = [5.7 0.2 6.2 5.1; 7.1 2.4 8.4; 1.2 0.4 8.4 6.4]

30
Les matrices dans Matlab

Déclarer des matrices dans Matlab

.
>> D = [4 2 9 4 2]

4 2 9 4 2

. 3,5
>> E = [3.5 ; 7; 9; 8; 0] 7
9
8
0 31
Les matrices dans Matlab

Déclarer des matrices dans Matlab

>> A = [1 2 3; 4 5 6; 7 8.5 9; 10 11.5 12]

>> A = [4.2 7.6 8.2; 4.1 0.5 0]

>> A = 3

32
Les matrices dans Matlab

Accéder aux éléments des matrices

>> A(3,2)

>> A = [5.7 0.2 6.2 5.1; 8.7 7.1 2.4 8.4; 1.2 0.4 8.2 6.4]

>> y = A(2,4)

33
Les matrices dans Matlab

Accéder aux éléments des matrices

>> A = [5.7 0.2 6.2 5.1; 8.7 7.1 2.4 8.4; 1.2 0.4 8.2 6.4]

1 4 7 10
5.7 0.2 6.2 5.1
2 5 8 11
8.7 7.1 2.4 8.4
3 6 9 12
1.2 0.4 8.2 6.4

>> A(5)

ans =

7.1000 34
Les matrices dans Matlab

Accéder aux éléments des matrices

>> B = A(2:4,4:5)

5.7 0.2 6.2 5.1 3

8.7 7.1 2.4 8.4 6.1 8.4 6.1

1.2 0.4 8.2 6.4 2.7 6.4 2.7

2.3 6.7 6.5 5.2 10 5.2 10

2.1 1.8 0.6 7.2 8.2

35
Les matrices dans Matlab

Accéder aux éléments des matrices

>> B = A(2:4,:)

5.7 0.2 6.2 5.1 3

8.7 7.1 2.4 8.4 6.1 8.7 7.1 2.4 8.4 6.1
1.2 0.4 8.2 6.4 2.7 1.2 0.4 8.2 6.4 2.7
2.3 6.7 6.5 5.2 10 2.3 6.7 6.5 5.2 10
2.1 1.8 0.6 7.2 8.2

36
Les matrices dans Matlab

Taille d’une matrice

5.7 0.2 6.2 5.1

8.7 7.1 2.4 8.4

1.2 0.4 8.2 6.4

2.3 6.7 6.5 5.2

2.1 1.8 0.6 7.2

>> s = size(A)

5 4

37
Les matrices dans Matlab

Taille d’une matrice

5.7 0.2 6.2 5.1

8.7 7.1 2.4 8.4

1.2 0.4 8.2 6.4

2.3 6.7 6.5 5.2

2.1 1.8 0.6 7.2

>> numel(A)

ans =

20

38
Les matrices dans Matlab

Opérations de base sur les matrices

Symbole Description Exemple


+-* Les opérations de base (addition, soustraction, produit matriciel). A+B
Les tailles des matrices doivent être compatibles A*B
^ La puissance matricielle (itération du produit matriciel) A^3
’ Transposée d’une matrice A’
inv L’inversion d’une matrice (si son inverse existe) inv(A)

Symbole Description Exemple


+-*/ Réalise l’opération entre un scalaire et chaque élément de la matrice. 5.4*A
.* Réalise la multiplication terme à terme de deux matrices de même A.*B
taille.
.^ Met à une certaine puissance chaque élément de la matrice A.^3
39
Les matrices dans Matlab

Opérations de base sur les matrices

4 25 36

2 9 49

2 5 6

1.4 3 7

40
Les matrices dans Matlab

Opérations avancées sur les matrices

2.6 3.9 10

1.0 -3 3.2

16.5
3.6 0.9 13.2 1.2

41
Les matrices dans Matlab

Opérations avancées sur les matrices

>> b = sum(A,2) 3 2 1 8

4 1 3 6

2 2 0 5

14

14

42
Les matrices dans Matlab

Opérations avancées sur les matrices

>> b = sum(A,1) 3 2 1 8

3 2 1 8

43
Les matrices dans Matlab

Opérations avancées sur les matrices

>> b = sum(A,1)
>> c = sum(b,2)

>> c = sum(sum(A,2),1)

44
Les matrices dans Matlab

Opérations avancées sur les matrices

2.6 3.9 10

1.0 -3 3.2

10
2.6 3.9 10 3.2

45
Les matrices dans Matlab

Filtrage de matrices

8.7 7.1 2.4 8.4 6.1

1.2 0.4 8.2 6.4 2.7

2.3 6.7 6.5 5.2 10

1
8
10
15

46
Les matrices dans Matlab

Filtrage de matrices

8.7 7.1 2.4 8.4 6.1

1.2 0.4 8.2 6.4 2.7

2.3 6.7 6.5 5.2 10

>> l = find(A>8)
>> A(l) = 0

0 7.1 2.4 0 6.1

1.2 0.4 0 6.4 2.7

2.3 6.7 6.5 5.2 0

>> A(find(A>8))=0
47
Les matrices dans Matlab

Filtrage de matrices

>> k = find(A<1)
>> A(k) = A(k)+1

48
Les matrices dans Matlab

Filtrage de matrices

Symbole Description Exemple


> < Les comparaisons de base (supérieur, inférieur, supérieur ou égal, A >= 3
>= <= inférieur ou égal) A<5
== L’égalité A == 7.2
~= L’inégalité A ~= 8

Symbole Description Exemple


& Combine deux critères avec un et logique. (A > 3) & (A<8)
| Combine deux critères avec un ou logique. (A > 6) | (A < 3)
~ Inverse un critère ~((A > 3) & (A < 4))
49
Les matrices dans Matlab

Filtrage de matrices

>> k = find(A<0)
>> A(k) = -A(k)

50
Les matrices dans Matlab

Filtrage de matrices

8.7 7.1 2.4 8.4 6.1

1.2 0.4 8.2 6.4 2.7

2.3 6.7 6.5 5.2 10

>> B = (A < 3)

0 0 1 0 0

1 1 0 0 1

1 0 0 0 0

51
Les matrices dans Matlab

Filtrage de matrices

>> k = (A<0)
>> k = -2*k + 1
>> A = A.*k

52
Les matrices dans Matlab

Générer de nouvelles matrices

Fonction Description Exemple


rand(n,m) Génère une matrice remplie de nombre aléatoires entre 0 et A = rand(3,5)
1, de n lignes et m colonnes.
ones(n,m) Génère une matrice remplie de 1, de n lignes et m colonnes A = ones(4,4)
zeros(n,m) Génère une matrice remplie de 0, de n lignes et m colonnes A = zeros(1,3)

53
Les matrices dans Matlab

Concaténation de matrices

4 5 6 4 3

7 1 1 1 2

2 8 7 5 8 5 4 4

>> D = [A B]
>> E = [A ; C]

4 5 6 4 3 4 5 6
7 1 1
7 1 1 1 2
2 8 7
2 8 7 5 8
5 4 4
54
Le mot clef if – exécuter
du code sous condition
Le mot clef if

Le mot clef if

56
Le mot clef if

Un premier programme avec if

x=input(‘Entrez une valeur svp’);


y=2;

if x<4
y=0;
end

.
.

57
Le mot clef if

Syntaxe du if

//Bloc de code 0

if <condition 1>
//Bloc de Code 1
end

//Bloc de Code 2

58
Le mot clef if

Un exemple

x = input(‘Entrez une valeur : ‘);

if x<0
x = -x;
end

disp(x)

59
Le mot clef if

L’écriture de conditions

Symbole Description Exemple


&& Combine deux conditions avec un et logique. (A > 3) & (A<8)
|| Combine deux conditions avec un ou logique. (A > 6) | (A < 3)
~ Inverse une condition ~((A > 3) & (A < 4))

x = input(‘Entrez une valeur : ‘);


y = input(‘Entrez une autre valeur : ‘);

if x>0 && y>0


disp(‘Les deux valeur entrées sont positives’)
end

60
Le mot clef if

Le mot clef elseif

61
Le mot clef if

Un premier programme avec elseif

x=input(‘Entrez une valeur svp’);


y=2;

if x<4
y=0;
elseif x>9
y=1;
end

.
.
.

62
Le mot clef if

Un second programme avec elseif

a=input(‘Entrez votre age’);

if a>=100
disp(‘Vous êtes assez âgé’);
elseif a>=18
disp(‘Vous êtes majeur’);
elseif a>=16
disp(‘Vous pouvez conduire (accompagné)’);
end

.
.
.
63
Le mot clef if

Un second programme avec elseif

a=input(‘Entrez votre age’); a=input(‘Entrez votre age’);

if a>=100 if a>=100
disp(‘Vous êtes assez âgé’); disp(‘Vous êtes assez âgé’);
elseif a>=18 endif
disp(‘Vous êtes majeur’);
elseif a>=16 if a>=18
disp(‘Vous pouvez conduire’); disp(‘Vous êtes majeur’);
end endif

if a>=16
disp(‘Vous pouvez conduire’);
end

64
Le mot clef if

Syntaxe du if/elseif

//Bloc de code 0

if <condition 1>
//Bloc de Code 1
elseif <condition 2>
//Bloc de Code 2
elseif <condition 3>
//Bloc de Code 3
elseif ...
//...
end

//Bloc de Code n

65
Le mot clef if

Syntaxe du if/elseif

//Bloc de code 0

if <condition 1>
//Bloc de Code 1
elseif <condition 2>
//Bloc de Code 2
elseif <condition 3>
//Bloc de Code 3
elseif ...
//...
end

//Bloc de Code n

66
Le mot clef if

Syntaxe du if/elseif

a=input(‘Entrez votre note de contrôle


Matlab’);

if a<14
disp(‘Vous n’êtes pas très bon’);
elseif a>=15
disp(‘Pas mal’);
elseif a>18
disp(‘Vous pourrez passer en
deuxième année’);
elseif a<4
disp(‘Il y a des places de libres
en MACS...’);

67
Le mot clef if

Se passer du elseif

a = input(‘Entrez votre age : ‘);

a = input(‘Entrez votre age : ‘); if a>=100


disp(‘Vous êtes assez âgé’);
if a>=100 end
disp(‘Vous êtes assez âgé’);
elseif a>=18 if a>=18
disp(‘Vous êtes majeur’); disp(‘Vous êtes majeur’);
elseif a>=16 end
disp(‘Vous pouvez conduire’);
end if a>=16
disp(‘Vous pouvez conduire’);
end

68
Le mot clef if

Se passer du elseif

a = input(‘Entrez votre age : ‘);

a = input(‘Entrez votre age : ‘); if a>=100


disp(‘Vous êtes assez âgé’);
if a>=100 end
disp(‘Vous êtes assez âgé’);
elseif a>=18 if ~(a>=100) && a>=18
disp(‘Vous êtes majeur’); disp(‘Vous êtes majeur’);
elseif a>=16 end
disp(‘Vous pouvez conduire’);
end if ~(a>=100) && ~(a>=18) && a>=16
disp(‘Vous pouvez conduire’);
end

69
Le mot clef if

Le mot clef else

70
Le mot clef if

Un exemple

x = input('Entrez une valeur : ');


y = input('Entrez une valeur : ');
z = input('Entrez votre choix d operation : ');

if z==1
disp(x+y);
elseif z==2
disp(x*y);
elseif z==3
disp(x-y);
elseif z==4
disp(x/y);
end

71
Le mot clef if

Un exemple

x = input('Entrez une valeur : ');


y = input('Entrez une valeur : ');
z = input('Entrez votre choix d operation : ');

if z==1
disp(x+y);
elseif z==2
disp(x*y);
elseif z==3
disp(x-y);
elseif z==4
disp(x/y);
else
disp(‘Mauvais choix’);
end

72
Le mot clef if

Un second exemple avec else

a=input(‘Entrez votre age’);

if a>=100
disp(‘Vous êtes assez âgé’);
elseif a>=18
disp(‘Vous êtes majeur’);
elseif a>=16
disp(‘Vous pouvez conduire (accompagné)’);
else
disp(‘Vous êtes jeune’);
end

.
.
.
. 73
Le mot clef if

Syntaxe du if/elseif/else

//Bloc de code 0

if <condition 1>
//Bloc de Code 1
elseif <condition 2>
//Bloc de Code 2
elseif <condition 3>
//Bloc de Code 3
elseif ...
//...
else ...
//Bloc de code n

end

//Bloc de Code n+1

74
Le mot clef if

Syntaxe du if/elseif/else

//Bloc de code 0

if <condition 1>
//Bloc de Code 1
elseif <condition 2>
//Bloc de Code 2
elseif <condition 3>
//Bloc de Code 3
elseif ...
//...
else ...
//Bloc de code n

end

//Bloc de Code n+1

75
Le mot clef if

Exercice

x = input(‘Entrez une valeur ‘);

if x==0
disp(‘x est nul’);
elseif x>0
disp(‘x est positif’);
else x<0
disp(‘x est négatif’);
end

76
Le mot clef if

Exercice

x = input(‘Entrez une valeur ‘);

if x==0
disp(‘x est nul’);
else
disp(‘x est négatif’);
elseif x>0
disp(‘x est positif’);
end

77
Le mot clef if

Exercice

x = input(‘Entrez une valeur ‘);

if x==0
disp(‘x est nul’);
else
disp(‘x est négatif’);
else
disp(‘x est positif’);
end

78
Le mot clef if

Exercice

x = input(‘Entrez une valeur ‘);

if x==0
disp(‘x est nul’);
elseif x<0
disp(‘x est négatif’);
elseif
disp(‘x est positif’);
end

79
Le mot clef if

Exercice

x = input(‘Entrez une valeur ‘);

if x==0
disp(‘x est nul’);
if x<0
disp(‘x est négatif’);
if x>0
disp(‘x est positif’);
end

80
Le mot clef if

Exercice

x = input(‘Entrez une valeur ‘);


y = input(‘Entrez une valeur ‘);

if x>=0
if y >=0
disp(‘x et y sont positifs’);
else
disp(‘x est positif et y est négatif’);
end
else
if y >=0
disp(‘x est négatif et y est positif’);
else
disp(‘x et y sont négatifs’);
end
end

81
Le mot clef if

Diagramme d’évaluation d’un bloc if

Y a-t-il un elseif Y a-t-il un


ensuite ? else ensuite ?

La condition La condition
du if est du elseif est
vraie ? vraie ?

Exécuter le bloc de Sauter au mot clef


code situé à la suite end
82
Le mot clef if

La fonction modulo

>> a = mod(23,7);
>> disp(a)
2

83
Le mot clef if

La fonction modulo

a = input('Entrez une valeur : ');

if mod(a,7) == 0
disp('a est divisible par 7');
else
disp('a n est pas divisible par 7');
end

if (a%7 == 0)
{ ... }
84
Le mot clef if

La fonction modulo

a = input('Entrez une valeur : ');

if mod(a,2) == 0
disp('a est un nombre pair’);
else
disp('a est un nombre impair’);
end

85
Le bloc if

Conclusion

86
Les boucles
Les boucles

Les boucles

88
Les boucles

Première utilisation de la boucle for

>> v = rand(1,5);
>> disp(v);

0.8003 0.1419 0.4218 0.9157 0.7922

>> for k = v
>> disp('La valeur de k est ‘)
>> disp(k)
>> end

La valeur de k est 0.8003

La valeur de k est 0.1419

La valeur de k est 0.4218

La valeur de k est 0.9157

La valeur de k est 0.7922 89


Les boucles

Un autre exemple de boucle for

>> for i = 1:8


>> disp(i);
>> end

1
2
3
4
5
6
7
8

90
Les boucles

Un autre exemple avec une matrice

>> A = rand(3,2);
>> disp(A);
0.8147 0.9134
0.9058 0.6324
0.1270 0.0975

>> for i = A
>> disp(‘La valeur de i est ‘)
>> disp(i);
>> end

La valeur de i est
0.8147
0.9058
0.1270

La valeur de i est
0.9134
0.6324
0.0975
91
Les boucles

Un autre exemple avec un vecteur colonne

>> v = rand(4,1);
>> disp(v);
0.9572
0.4854
0.8003
0.1419

>> for i = v
>> disp(‘La valeur de i est ‘)
>> disp(i);
>> end

La valeur de i est
0.9572
0.4854
0.8003
0.1419

92
Les boucles

Syntaxe du for

//Bloc de code 0

for <variable> = <matrice>


//Bloc de Code 1
end

//Bloc de Code 2

93
Les boucles

Un exemple

v = rand(1,100000);
s = 0;

for i = v
s = s+i;
end
disp(s);

s = sum(v);

94
Les boucles

Temps d’exécution

Taille du vecteur Temps d’exécution avec for Temps d’exécution sans for
1*106 0,92s 1,1ms
2*106 1,65s 1,6ms
3*106 2,48s 3,6ms
4*106 3,20s 3,0ms
5*106 3,96s 3,7ms
6*106 4,90s 6,7ms
7*106 5,63s 5,0ms
8*106 6,46s 5,8ms
9*106 7,33s 6,7ms
95
Les boucles

Temps d’exécution

96
Les boucles

Temps d’exécution

97
Les boucles

Syntaxe du while

//Bloc de code 0

while <condition 1>


//Bloc de Code 1
end

//Bloc de Code 2

98
Les boucles

Syntaxe du while

//Bloc de code 0

while <condition 1>


//Bloc de Code 1
end

//Bloc de Code 2

99
Les boucles

Première utilisation de la boucle while

a = input('Entrez une valeur entiere : ');

s=1;
while a>1
s = s*a;
a = a-1;
end
disp(s);

100
Les boucles

Seconde utilisation de la boucle while

a = input('Entrez une valeur positive : ');

while a<0
a = input('Entrez une valeur positive : ');
end

disp(a);

101
Les boucles

Troisième utilisation de la boucle while

a = input('Entrez une valeur : ');


b = input('Entrez une valeur : ');

n = min(a,b);
while ~(mod(a,n)==0 && mod(b,n)==0)
n=n-1;
end

disp(n)

102
Les boucles

Quelle boucle utiliser ?

Programme for ou while ? Explications


factorielle(a) for/vectorisé La boucle se répétera (a-1) fois
nombre positif while On ne sait pas combien de fois l’utilisateur va saisir
un nombre négatif
pgcd(a,b) Les deux Soit on teste tous les entiers entre 1 et min(a,b), soit
on teste ceux entre a et 1 jusqu’à en trouver un qui
divise.
103
Les boucles

Factorielle avec for

a = input('Entrez une valeur entiere : ');

s=1;
for i = 1:a
s = s*i;
end
disp(s);

a = input('Entrez une valeur : ');


s = prod(1:a);
disp(s);

104
Les boucles

Le mot clef break

105
Les boucles

Conclusion

106
Commande de
1
base
>> x = [0 : 0.01 : 2*pi];
2 >> y = cos(3*x);
3 >> plot(x,y)

Quelques options
1 plot(x,y,s) % s:chaîne de caractères
2 pour la couleur et le tracé

Couleurs Marqueurs Tracés

y : jaune + : plus - : trait continu


m : magenta o : cercles : : pointillés
c : cyan * : étoiles -. : trait point
r : rouge x : croix - : tirets
g : vert s : carré
b : bleu d : diamant 1 >> plot(x,y,’r*’)
k : noir v^<> : triangles▽△◁▷
w : blanc h : hexagramme
Superposition de
>> hold on
tracés
>> x = [0 : 0.01 : 2*pi]; 1
1

>> y = cos(3*x); 2 >> plot(x,y);


2
ou
3 >> z = exp(-0.5*x).*sin(5*x), 3 >> plot(x,z)

4 >> plot(x,y,x,z)

Pour compléter le tracé


1 >> legend(‘cos(3x)’,’sin(2x)’)
2 >> title(‘Voici un titre’)
3 >> axis([0 7 -1.2 1.2])
4 >> xlabel(‘x: axe des abscisses’)
5 >> ylabel(‘y: axe des ordonnées’)
6 >> grid on
Figure avec plusieurs
1 >>
2 >>
graphiques
x=[-20:0.05:20];
subplot(2,3,1) ; plot(x,sin(0.3*x)); title(‘sinus’);
3 >> subplot(2,3,2) ; plot(x,cos(0.3*x)); title(‘cosinus’);
4 >> subplot(2,3,3) ; plot(x,atan(x)); title(‘arctangente’);
5 >> subplot(2,3,4) ; plot(x,x.^2); title(‘parabole’);
6 >> subplot(2,3,5) ; plot(x,sin(x)./x); title(‘sinus cardinal’);
7 >> subplot(2,3,6) ; plot(x,abs(x)); title(‘valeur absolue’);
Scripts

• Liste d’instructions.
• Accès à toutes les variables de l’environnement.
• Pas de paramètres d’entrée.
• Ne retourne aucune valeurs.
• Appels d’autres scripts ou fonctions.

Fonctions

• N’a pas accès aux variables de l’environnement.


• Possède des variables d’appel en arguments.
• Variables locales inaccessibles depuis l’extérieur.
• Retourne une ou plusieurs valeurs.

110
Workspace Script

Fonction

Workspace
Script1.m Fonc1.m
1 x1=-1 ; x2=1; 1 function [moy,ecarttype] = Fonc1(x)
2 n=50; 2 % Commentaire affiché par le help Fonc1
3 x = linspace(x1,x2,n); 3 n = length(x);
4 y = exp(-2*x).*(x.^2-3*x+4); 4 moy = sum(x) / n;
5 plot(x,y); 5 ecarttype = sqrt(sum((x - moy).^2)/n);
6 disp('voir tracé sur figure') 6

>> n=0; >> Fonc1;


>> script1; ??? Input argument »x » is undefined
??? Undefined function or Error in ==> Fonc1 at 3
variable ‘script1’. >>[a,b] = Fonc1([1 2 3 4]);
>> Script1; a =
voir tracé sur figure 2.5000
b =
>> n 1.1180
n = >> n
50 ??? Undefined function or variable ‘n’.
Énoncé 1

Les équations paramétriques d’une ellipse centrée à l’origine sont:

x = A cos t
avec 0 ≤ t ≤ 2π
y = B sin t

1. Tracer cette ellipse pour A=2 et B=1.

2. Ajouter un titre et des labels abscisses/ordonnées

3. Tracer la courbe pour différentes valeurs de A et B. A quoi correspondent ces 2 paramètres?


Énoncé 2

Calculer la somme des carrés des 1000 premiers entiers de 3 façons différentes:

• Avec l’instruction for

• Avec l’instruction while

• Avec l’instruction sum

114
Énoncé 3

Représenter graphiquement la fonction suivant:

avec

a, b et ε sont des paramètres constants.


La fenêtre de représentation porte sur -2 ≤ x ≤3 et -1 ≤ y ≤ 1

consigne: utiliser une fonction (m-file) pour calculer Φ(x).

A.N. : On prendra a=-1, b=2 et ε=0.5.

115
Énoncé 4

Recherche d’une racine par dichotomie.

Soit f(x) une fonction continue strictement croissante sur [a,b] telle que:

f(a) < 0 et f(b) > 0

L’objectif est de trouver x0 tel que f(x0) = 0.

• évaluer la fonction en c=(a+b)/2;


• si f(c) < 0, l’intervalle de recherche devient [c,b];
• si f(c) > 0, l’intervalle de recherche devient [a,c].
• Ce processus est ensuite réitéré…

A.N. : Déterminer la racine des fonctions:


• f(x) = 2x4 + 2.3x3 - 16x2 - 8x - 17.5 sur l’intervalle [0,100].
• g(x) = tan(x2) - x sur l’intervalle [0.5,π/3].

116
Énoncé 5

Soit un signal créneau f(t) d’amplitude A, de période T et de valeur moyenne nulle.


Sa décomposition en série de Fourier est donnée par:

avec

Représenter le signal f(t) à partir de sa décomposition en série de Fourier jusqu’à


l’ordre n=7. Tester ensuite pour des valeurs de n supérieures.

A.N. : On prendra A=2 et T=0.5s. Echelle temporelle: 0 ≤ t ≤ 2 avec un pas de 0.001.

117
Énoncé 6

Manipulation de polynômes. Créer deux fonctions qui permettent:


• d’additionner deux polynômes,
• de multiplier deux polynômes.

Nous définirons un polynôme de la forme (par ex.)

par un vecteur ligne contenant ses coefficients: P=[1 2 3 4 5]

Notons la fonction poly2str(P,’x’)

118

Vous aimerez peut-être aussi