Vous êtes sur la page 1sur 92

Département : Génie Mécanique

ATELIER DE MATHEMATIQUE

Matlab niveau 1
Youssef AGREBI- Z
Professeur technologue GE
1. Introduction

Matrix laboratory

Un langage de programmation de quatrième génération est utilise a des fins de


calcul numérique
MATLAB permet de manipuler des matrices, d'afficher des courbes et des
données, de mettre en œuvre des algorithmes, de créer des interfaces utilisateurs,
et peut s’interfacer avec d’autres langages comme le C, C++, Java, et Fortran
1. Introduction

Le logiciel Matlab est un langage interprété qui s’exécute dans une fenêtre dite
d’exécution
L’intérêt de Matlab tient, d'une part, a sa simplicité d'utilisation : pas de
compilation, déclaration directe des variables utilisées et, d'autre part, a sa
richesse fonctionnelle : arithmétique matriciel et nombreuses fonctions de haut
niveau dans de nombreux domaines (analyse numérique, graphique, ...).
La programmation sous Matlab consiste a écrire des scripts de commandes
Matlab, exécutables dans la fenêtre d’exécution.
Grace aux diverses Toolboxes spécialises (ensemble de fonctions Matlab),
Matlab s'enrichit au fur et a mesure.
2. Présentation de l’environnement Matlab
Le langage MATLAB haute performance pour l'informatique technique intègre le
calcul, la visualisation et la programmation dans un environnement facile a utiliser,
Les utilisations typiques incluent :
- Mathématiques et calculs
- Développement d'algorithmes
- L'acquisition des données
- Modélisation, simulation et prototypage
- Analyse, exploration et visualisation des données
- Graphiques scientifiques et techniques
- Développement d'applications
2. Présentation de l’environnement Matlab
La configuration principale par défaut du menu de Matlab est la suivante:
Barre des menus

Etat des variables


Barre des Boutons en mémoire

Fenêtre des commandes

Historique des
commandes
Répertoire courant
2. Présentation de l’environnement Matlab
Sous sa forme standard (par défaut), l’environnement Matlab est constitue par 4
fenêtres et qui sont les suivantes :
« command window » : c’est la fenêtre principale ou sont exécutées toutes
les commandes et la ou tous les résultats sont affiches
Taper dans cette fenêtre a=1 et appuyer sur entrer
Nous venons d’associer a la variable a la valeur 1.
« work space » : c’est la fenêtre dans laquelle on affiche toutes les variables
qui sont en memoire tout
en indiquant leur caractéristiques (type, dimension, valeur etc….)
2. Présentation de l’environnement Matlab

Chaque variable possède plusieurs


caractéristiques et chaque utilisateur
peut modifier l’affichage des
caractéristiques en fonction de son
besoin. Parmi les caractéristiques des
variables on distingue :

- « name » : c’est le mon de la variable tel qu’il est définie dans la mémoire. Il est intéressant que clarifier que
Matlab différencie entre le caractère en majuscule et celles en minuscule. Exemple a et A sont deus variables
complètement différentes
- « value » : c’est la valeur de la variable
- « size » : dimension de la variable. Exemple la dimension de la variable ≪ a ≫ qui parait
sur la figure est 1x1 c’est a dire une matrice qui possède une ligne et une colonne.
2. Présentation de l’environnement Matlab
- « bytes » : c’est l’espace mémoire en octet occupe par la variable
- « classe » : c’est la classe ou simplement le type de la variable. Exemple : complexe, chaine de caractère,
matrice etc…
- ≪ min » et « max » c’est la valeur minimale et maximale de la variable.

« current directory » : c’est le répertoire courant, ou le répertoire de


travaille. Toute fonction ou programme enregistre ne peut être exécute que s’il est
place dans ce répertoire.
« command history » : dans cette fenêtre on retrouve un historique de
toutes les commandes exécutées. L’utilisateur peut re-exécuter une commande a
partir de l’historique simplement en cliquant dessus.
3. Aperçu sur le Help
Le « help » de MATLAB peut être consulte de deux façons différentes, soit en
exécutant la commande « help » dans « commande window » ou en appuyant
sur le boutons « f1 » du clavier pour faire appel au navigateur de MATLAB.
Exécuter la commande « help » dans la fenêtre « command window »
3. Aperçu sur le Help

Le « help » de Matlab est constitue


de plusieurs rubriques. Chaque
rubrique contient plusieurs
fonctions prédéfinies. Compte tenu
du nombre important de fonctions
existantes, ces dernières sont
reparties suivant des familles
correspondant a des domaines
différents. A titre d’exemple, nous
consulterons la rubrique des
fonctions mathématique
élémentaire baptisée « elfun ».
3. Aperçu sur le Help
En cliquant sur le lien « matlab\elfun » nous retrouvons les fonctions
mathématiques élémentaires reparties par les familles suivantes :
- Les fonctions trigonométriques
- Les fonctions exponentielles
- Les fonctions complexes
- Etc….
Le « help » de Matlab est dote d’un navigateur très puissant qui nous permet
une recherche facile des fonctions mathématiques tout en décrivant leur mode
d’utilisation.
3. Aperçu sur le Help
Exemple :
appuyer sur le bouton « f1»
cliquer sur le lien « open help browser » (en bas et a gauche de la fenêtre)
Le navigateur d’aide s’ouvre en mode navigation et le curseur clignote dans le
champ de recherche.

On se propose de demander de l’aide sur la fonction sinus et son mode


d’utilisation
ecrire ≪ sin ≫ dans le champ de recherche
3. Aperçu sur le Help
Le résultat obtenu est la fenêtre suivante :
4. Application

Reprendre l’exemple décrit dans le ≪ help ≫ pour la représentation graphique de la


fonction sinus.
copier les deux lignes représentant la commande qui permet de représenter la
fonction sinus entre –π et π
coller dans « command window » et vérifier que nous obtenons la même courbe.
exécuter de nouveau cette même commande pour représenter la fonction sinus sur
l’intervalle 0 et 4π
Refaire le même travail en effectuant une recherche sur la fonction cosinus.
5. Les variables réelles
Exécuter les commandes suivantes dans la fenêtre des commandes et vérifier le
résultat obtenu :
5. Les variables réelles
Si on veut afficher le résultat avec plus de nombre de chiffre après la virgule, nous
exécutons alors la commande « format long »
Taper dans la fenêtre des commandes ≪ format long ≫ ensuite exécuter les
commandes suivantes :
5. Les variables réelles

Pour revenir au mode d’affichage standard a 4 chiffres après la virgule, on exécute


la commande suivante :
6. Les chaines de caractères
Introduire une variable sous forme d’une chaine de caractère intitule « nom »
contenant un nom et prénom.

7. Les variables complexes


Introduire une variable complexe z tel que z=3-2i
7. Les variables complexes
i est l’operateur complexe qui est identifie par MATLAB et prédéfini sans aucune
déclaration préalable.
Pour confirmer ca, nous exécutons les commandes suivantes :
8. Les matrices et les vecteurs
D’une façon générale les matrices, les vecteurs ou les variables réels ou même
complexes appartiennent a un même type de variables ≪ double ≫ ils se
différentient uniquement par leur dimensions ≪ size ≫.
Introduire les variables suivantes :
8. Les matrices et les vecteurs
Un coefficient d’une matrice est identifie par sa position dans la matrice. C'est-a-dire
par son numéro de ligne et son numéro de colonne
Exemple :
Exécuter sur MATLAB les commandes qui permettent d’identifier les coefficients
suivants :
8. Les matrices et les vecteurs
u est un vecteur comportant 3 coefficients. Nous essayons de demander a Matlab le
coefficient N°4.
On en demandera aussi pour A un coefficient hors de ses dimensions
Exécuter les commandes suivantes :

Il est évident qu’un message d’erreur apparait vu que nous avons demande a
MATLAB des coefficients qui dépassent les dimensions de leurs variables.
8. Les matrices et les vecteurs
Introduire un vecteur u1 (1 2 3 4 5)

Autre méthode plus simple


8. Les matrices et les vecteurs

Créer le vecteur u2 contenant les nombres compris entre 1 et 100


8. Les matrices et les vecteurs
Introduire le vecteur u3 contenant les nombres impaires compris entre 1 et 100
>> u3=1 :2 :100
Créer le vecteur u4 contenant les nombres paires compris entre 1 et 100
>> u4=0 :2 :100
>> u5=0 :0.1 :100
>> u6=0 :0.01 :100
>> u7=0 :0.001 :1000 ;
Créer la matrice d’identité d’ordre 2
>> Id2=[1 0 ;0 1]
8. Les matrices et les vecteurs
10
01
>> Id3=eye(3)
Id3 =
100
010
001
>> Id5=eye(5)
Id5 =
10000
01000
00100
00010
00001
8. Les matrices et les vecteurs
Créer une matrice UN de dimension 4x4 contenant des 1
>> UN=ones(4)
UN =
1111
1111
1111
1111
Créer une matrice UN36 de dimension 3x6 contenant des 1
>> UN36=ones(3,6)
UN36 =
111111
111111
111111
8. Les matrices et les vecteurs
Créer une matrice Z58 de dimension 5x8 contenant des 0
>> Z58=zeros(5,8)
Z58 =
00000000
00000000
00000000
00000000
00000000
8. Les matrices et les vecteurs
8. Les matrices et les vecteurs
8. Les matrices et les vecteurs
Extraire le vecteur C de la 2eme ligne de la matrice A
8. Les matrices et les vecteurs
8. Les matrices et les vecteurs
9. Les opérations arithmétiques et logiques
9.1. L’addition
Introduire les deux vecteurs suivants :

>> u = [1 ;2 ;3]
>> v = [-1 ;5 ;2]

>> w = u + v

9.2. La soustraction

>> w = u - v
9. Les opérations arithmétiques et logiques
9.3. La multiplication
>>w1 = u * v
Error
Le produit des vecteurs ou des matrices ne peut se faire que si les deux vecteurs
ou matrices soient en accords. (il faut que le nombre de colonne de la 1ere
matrice soit égale au nombre de colonne de la 2eme matrice).

>> w1=u .* v

>> ut = u’
9. Les opérations arithmétiques et logiques
Soient les matrices suivantes:

>> M = [1 2 ;3 4]
>> N = [5 6 ;7 8]
>> Q = [2 4 ;6 8]
On souhaite calculer P =M .N-1
>> P = M * inv(N)
>> P = M/N
9. Les opérations arithmétiques et logiques
On souhaite calculer
P1= M-1 .N
>> P1 = inv(M) * N
>> P1 = M\N

>> R = M./Q
R=
0.5 0.5
0.5 0.5
9. Les opérations arithmétiques et logiques
>> R1 = M.\Q
>> R1 = Q./M

Exercice 1
Résoudre le système d’équations suivant :

Solution
Ce système peut être écrit sous la forme matricielle suivante
:
9. Les opérations arithmétiques et logiques
Sous le forme : A.X = B
Avec :

Sachant que X est l’inconnu, et on multipliant les deux termes de l’équation par
A-1, on obtient :
A-1.A.X = A-1 B ce qui donne
X= A-1B
Pour résoudre ca sous MATLAB, on exécute alors les commandes suivantes :
>>A = [2 3 ; 4 0]
A
2 3
4 0
9. Les opérations arithmétiques et logiques
>>B = [-5 ; 8]
B=
-5
8
>>X = A\B
X=
2
-3
9. Les opérations arithmétiques et logiques
Exercice N°2
Résoudre le système d’équations suivant :

X=
1.000
2.000
3.000
9. Les opérations arithmétiques et logiques
9.4. les opérations logiques

>> or(0,0)
>> or(0,1)
>> or(1,0)
>> or(1,1)
9. Les opérations arithmétiques et logiques
Verification de la fonction ET
>> and(0 , 0)
>> and(0 , 1)
>> and(1 , 0)
>> and(1 , 1)
Ou en utilisant le symbole de la fonction ET
>> 0&0
>> 0&1
>> 1&0
>> 1&1
9. Les opérations arithmétiques et logiques
De la même façon on vérifie la fonction NON
>> not(0)
>> not(1)
En utilisant le symbole
>> ~0
>> ~1
La vérification de la fonction ≪ Ou exclusif ≫ est la suivante :
>> xor(0,0)
>> xor(0,1)
>> xor(1,0)
>> xor(1,1)
9. Les opérations arithmétiques et logiques
9.5. Syntaxe de branchement
if …….. elseif …….. eslse ……… end
Exemple
Nous souhaitons écrire une routine sous MATLAB pour comparer deux variable
a et b, le résultat
sera sur la variable c
Algorithme
Si a > b alors c = 10
Sinon si a = b alors c = 100
Sinon c = 1000
9. Les opérations arithmétiques et logiques
Tester sur MATLAB cet algorithme avec les 3 cas possibles:
1er cas a=1, b=0
>> a=1;b=0
>> if a > b
c=10
elseif a == b
c=100
eslse c=1000
end
reprendre la même routine en introduisant ( a= 1, b=1) ensuite (a=0, b=1)
9. Les opérations arithmétiques et logiques
9.6. Exercice
Ecrire sous l’éditeur de MATLAB un programme .m permettant de résoudre une
équation de second degré de la forme ax2 + bx + c = 0
Solution
Algorithme
- Effacer l’écran et la mémoire
- Introduire les valeurs de a, b et c
- Calculer 2 D = b - 4ac
- Si D > 0 alors afficher ≪ 2 racines réelles ≫ et calculer
9. Les opérations arithmétiques et logiques
- Si non si D = 0 alors afficher ≪ 1 seule racine double ≫ et calculer
X = -b/(2a)
- Si non afficher ≪ 2 racines complexes conjuguées ≫ et calculer

- Fin
9. Les opérations arithmétiques et logiques
10. Calcul sur les polynômes
10.1. Racines d’un polynôme
Soit P(x) un polynôme d’ordre n qui s’écrit sous la forme de :
P(x) = anxn + an-1xn-1 + ……+a1x + a0
P(x) admet n racines et peut s’écrire sous la forme suivante :
P(x) = (x-r1).(x-r2)....(x-rn )
Sur MATLAB la fonction ≪ roots ≫ nous permet de déterminer les racines du
polynôme P (x) d’ordre n
par simples connaissance des n+1 coefficients. La méthode consiste a introduire
un vecteur p contenant les n+1 coefficients de P(x) par ordre décroissant en degré
de x tel que : P = [an, an-1, …, a1, a0]
10. Calcul sur les polynômes

Exemple 1
Chercher les racines du polynôme p1(x) = 2x2 -5x+3
10. Calcul sur les polynômes

Exemple 2
Chercher les racines du polynôme p2(x) = x2 -4x+4
10. Calcul sur les polynômes
Exemple 3
Chercher les racines du polynôme p3 (x) = x2 -4x+5
10. Calcul sur les polynômes
Exemple 4
Chercher les racines du polynôme p4(x) = x5 + x4 -9x3 -13x2 +8x+12
10. Calcul sur les polynômes
Exemple 5
Chercher les racines du polynôme p5 (x) = x5 +3x3 +4x2 -2x+1
10. Calcul sur les polynômes
10.2. Racines d’un polynôme
La fonction ≪ poly ≫ nous permet de déterminer un vecteur contenant les
coefficients d’un polynôme a partir de la connaissance de ses racines. Sur
MATLAB on commence par introduire un vecteur contenant les racines de ce
polynôme.
Exemple 1
Retrouver un polynôme p1(x)
ayant pour racines r 1 = [1,2] C'est-a-dire C'est-a-dire
p1(x) = x2 -3x+2
10. Calcul sur les polynômes
Exemple 2
Retrouver un polynôme p2 (x) ayant pour racines r2 = [2, 2, 3, -5]

C'est-a-dire
p2(x) = x4 -2x3 -19x2 +68x-60
10. Calcul sur les polynômes
Exemple 3
Retrouver un polynôme p3 (x) ayant pour racines r3 = [2+i, 2-3i, 5]
10. Calcul sur les polynômes
10.3. Produit des polynômes
On considère deux polynômes p1(x) et p2(x) tel que :
p1 (x) = a1x2 + b1x + c1 et p2 ( x) = a2 x2 + b2 x + c2
Calculons p(x) le produit des deux polynômes p1 (x) par p2 (x)

Sur MATLAB, nous introduisons les deux vecteurs p1 et p2 qui contiennent les
coefficients de p1 (x) et p2 (x) . Pour obtenir les coefficients de p(x) on effectue
le produit de convolution des deux vecteurs p1 et p2. Le résultat obtenu est un
vecteur p qui contient les coefficients de p(x) .
10. Calcul sur les polynômes
Exemple1
Soient : p1 (x) = x-2 et p2 (x) = x-1
Calculer p(x) = p1 (x).p2 (x)

C'est-a-dire p(x) = (x - 2).(x -1) = x2 -3x + 2


10. Calcul sur les polynômes
11. Décomposition en éléments simples
11. Décomposition en éléments simples
On considère la fraction rationnelle suivante :
11. Décomposition en éléments simples
11. Décomposition en éléments simples
11. Décomposition en éléments simples
11. Décomposition en éléments simples
11. Décomposition en éléments simples
12. Représentation graphique d’une fonction
12.1. Utilisation de la fonction « plot »
12. Représentation graphique d’une fonction
Solution :
1- Sachant que f(x) est un polynôme on commence sur
MATLAB a définir un vecteur p contenant
les coefficients de de f(x)
Pour chercher y = f(x) en un point nous utilisons la
fonction « polyval » qui consiste a calculer la valeur
d’un polynôme en un point x.
12. Représentation graphique d’une fonction
2- construction du vecteur x

3- construction du vecteur y
12. Représentation graphique d’une fonction
4- représentation de y en fonction de x en utilisant la fonction ≪ plot ≫

Nous remarquons que la courbe n’est pas


suffisamment lisse, et pour l’améliorer nous
devrons augmenter le nombre de points
utilises pour la représenter
12. Représentation graphique d’une fonction
Représenter graphiquement la fonction
12. Représentation graphique d’une fonction
12.1. Utilisation de la fonction « fplot »
la fonction ≪ fplot ≫ nous permet de représenter une fonction mathématique définie sur un
intervalle sans faire recours aux couple de coordonnées (x,y)
Exemple :2
Représenter graphiquement la fonction f2 (x) = x2-5x + 3 sur l’intervalle [ 0 2 ]
Nous allons créer sur MATLAB une fonction intitulée f2.m tel que :
12. Représentation graphique d’une fonction
12.1. Utilisation de la fonction « fplot »
La fonction ≪ fplot ≫ est utilisée de la façon suivante :
12. Représentation graphique d’une fonction
12.1. Utilisation de la fonction « fplot »
2eme Méthode
La fonction ≪ fplot ≫ peut être exécute directement sur la fenêtre de commande sans avoir besoin
de créer une fonction f2.m
12. Représentation graphique d’une fonction
12.1. Utilisation de la fonction « fplot »
Exemple 3
Représenter la courbe de la fonction sur l’intervalle [0 1]
On commence par définir une fonction f4.m sous MATLAB
13. Représentation graphique de la dérivée
d’une fonction
13. Représentation graphique de la dérivée
d’une fonction
13. Représentation graphique de la dérivée
d’une fonction

Nous remarquons bien qu’un message d’erreur a été affiche pour signaler que les deux vecteurs x et
dy n’ont pas la même longueur. Ceci est confirme par « work space ». La longueur du vecteur x est
de 629 alors que y est de longueur 628 en effet la dernière valeur du vecteur dy ne peut pas être
calcule comme c’est bien indique sur le tableau de valeur précèdent. Pour cela il suffit de représenter
f’ (x) avec 628 points.
13. Représentation graphique de la dérivée
d’une fonction
13. Représentation graphique de la dérivée
d’une fonction
Pour pouvoir observer les courbes simultanément on exécute la commande suivante :
14. Racines d’une fonction non linéaire
La détermination des zéros d'une fonction f(x) revient a resoudre l’equation f(x)=0. Dans cette partie
nous présentons une fonction sur MATLAB qui nous permet de trouver avec une approximation qui
peut atteindre les 10-10 .
Exemple :
Résoudre l’équation suivante : f (x) = -6+2x+sin(x2)
Dans une première étape nous représentons la courbe de la fonction f (x) entre [0 5].
14. Racines d’une fonction non linéaire
14. Racines d’une fonction non linéaire
Nous remarquons que la fonction f(x) coupe l’axe Ox en 3 points différents. La fonction f(x) admet
alors 3 zéros.
Cliquer sur le boutons ≪ data cursor ≫ et placer la sourie sur les 3 intersections de la courbe
de f(x) avec l’axe des x. les valeurs de x obtenues représentent les zéros de f(x).
Nous utilisons la fonction ≪ fzero ≫ pour chercher le zéro de f(x) a proximité d’une valeur de x.
D’aprés la courbe f(x) s’annule a proximité de x1 = 2.5
On ecrit alors :
14. Racines d’une fonction non linéaire
On cherchera de même l’annulation de f(x) a proximité de x2=3 et x3= 3.5
15. Calcul de l’intégrale

L’intégrale d’une fonction est un résultat mathématique représentant l'aire située entre une fonction
et l’axe des abscisses.
Il est possible de calculer des intégrales de manière numérique a l'aide de formules de quadrature
telles que la méthode de Simpson
Matlab dispose d’une fonction permettant de calculer l’intégrale avec une approximation de 10-6 par
la méthode de quadrature de SIMPSON. Cette fonction est intitulée ≪ quad ≫
Exemple :
Soit la fonction suivante :
15. Calcul de l’intégrale
15. Calcul de l’intégrale
15. Calcul de l’intégrale
2- En estimant la surface formée par la courbe de F4 et l’axe des abscisses
On trouve que cette surface est légèrement supérieure a 3 comme c’est illustre sur la figure suivante:
15. Calcul de l’intégrale
3- La fonction quad est utilisée de la façon suivante :

4- Calculons I- π
15. Calcul de l’intégrale
Nous remarquons que I est calcule avec une précision qui atteint 10 -8
5- Pour augmenter la précision de calcul de l’intégrale on exécute la fonction ≪ quad ≫ de la
manière suivante

Nous remarquons que la précision de I a remonte jusqu’a 10 -16

Vous aimerez peut-être aussi