0% ont trouvé ce document utile (0 vote)
208 vues18 pages

TP de Informatique3-L2GM2020

initiation à Matlab, (un document déstiner au débutants), pour avoir les A,B,C de logiciel de calcul Matlab.

Transféré par

khadraoui
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
208 vues18 pages

TP de Informatique3-L2GM2020

initiation à Matlab, (un document déstiner au débutants), pour avoir les A,B,C de logiciel de calcul Matlab.

Transféré par

khadraoui
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

TP, section B & A Informatique 3(Info3) L2GM – S3

Université MOULOUD MAMMERI de TIZI OUZOU


Faculté du Génie de la Construction
Département de Génie Mécanique

Initiation à MATLAB

Mme . MANSOURI Lilla


Mme . TEKLAL FATIHA

2019/2020

MANSOURI . L Mail : [Link]@[Link] | 1


TP, section B & A Informatique 3(Info3) L2GM – S3

1. Introduction

MATLAB (Matrix LABoratory) est un environnement puissant, complet et facile à utiliser


destiné au calcul scientifique. Il apporte aux ingénieurs, chercheurs et à tout scientifique un système
interactif intégrant calcul numérique et visualisation. Ce logiciel produit par MathWorks est un
langage interprété qui s'exécute dans une fenêtre dite d'exécution (commande Window).
L'intérêt de Matlab tient, d'une part, à sa simplicité d'utilisation : pas de compilation, déclaration
implicite des variables utilisées et, d'autre part, à sa richesse fonctionnelle : arithmétique matricielle
et nombreuses fonctions de haut niveau dans divers domaines (analyse numérique, statistique,
commande optimale, représentation graphique, ...). La programmation sous Matlab consiste à écrire
des scripts de commandes Matlab, exécutables dans la fenêtre d'exécution. En outre, grâce aux
diverses Toolboxes spécialisés (ensemble de scripts Matlab), Matlab s'enrichit au fur et à mesure.
Il existe deux modes de fonctionnement:

-Mode interactif: Matlab exécute les instructions au fur et à mesure qu'elles sont données par
l'usager.
le logiciel se comporte comme une très bonne calculatrice graphique ;

-Mode exécutif: Matlab exécute ligne par ligne un fichier ".m" (Programme de langage matlab).

2. Lancer, quitter MATLAB

Pour le lancer, il suffit double clic sur l'icône Matlab qui se trouve sur le bureau,
une fois vous commencez, une fenêtre de commande s'ouvrira avec un message de sollicitation.
L'application vous offre plusieurs fenêtres dont une fenêtre principale contenant la fenêtre commande
avec le rompt >> .Ce critère apparaissant à gauche et indiquant que l'interpréteur est prêt à recevoir
des commandes.
On peut utiliser Matlab

- soit en entrant directement au clavier depuis une fenêtre de commande des instructions à la
suite du prompteur >> ;

- soit sous forme de séquences d’expressions ou scripts enregistrées dans des fichiers-texte
appelés m-files et exécutées depuis la fenêtre de commande ;

- soit plus rarement sous forme de fichiers binaires appelés mex-files ou fichiers .mex générés
à partir d’un compilateur C ou fortran.

L’interface se présente comme suit :

MANSOURI . L Mail : [Link]@[Link] | 2


TP, section B & A Informatique 3(Info3) L2GM – S3

L'interface de MATLAB Comprend les fenêtres suivantes :


 Command windows (fenêtre de commande), où l'on exécute des fonctions Matlab
directement (introduction des commandes directes) ou des fichiers crées par l'utilisateur.
 M-files (Scripts), ce sont les programmes écrits par l’usager en langage MATLAB sous
forme de séquences d'instructions et exécutées par la suite.
 Command History, permet de visualiser toutes les variables ou fonctions utilisées au cours
d'une session.
 Workspace (espace de travail), la zone de travail de Matlab comprend l'ensemble de
variables accumulées pendant une session et enregistrées dans la mémoire.
 Current Directory, permet de voir tous les fichiers et dossiers qui se trouvent dans le
répertoire de travail.
 Help (aide) , pour tout problème de syntaxe utilisez l’aide en ligne (commande help).

Remarque: Il est à noter que toutes les commandes sont en minuscules et en anglais.
On quitte MATLAB en tapant quit ou exit dans la fenêtre de commande.

MANSOURI . L Mail : [Link]@[Link] | 3


TP, section B & A Informatique 3(Info3) L2GM – S3

3. Quelques commandes d'environnement importantes


 clear all : efface tous les objets en mémoire (efface les valeurs de l'ensemble des variables
enregistrées dans de Workspace ).
 close all : ferme toute les fenêtres de dessin.
 clc : efface la commande windows.
 clf: détruit les figures .
 Path: permet de savoir quels sont les dossiers que Matlab référence et de spécifier de
nouveaux dossiers Unix où se trouvent des ressources personnelles.
 who et whos : listent les variables utilisées dans l’espace courant.
 ans : réponse retournée après exécution d’une commande

Exemple : » >> [1:51


ans =
12345
 i ou j : le nombre imaginaire
 pi : le nombre π
 input(' ') : Introduire une ou des variables par l’intermédiaire du clavier.
Exemple : » >> [R=input('Valeur de rayon R=')
Valeur de rayon R=
Nous introduisons la valeur de R directement par le clavier.
 disp('') : pour introduire un texte
Exemple : » >> disp(' Affichez un texte command windows ')
Afficher un texte Command windows
 format short: affiche les résultats avec 4 chiffres après la virgule.
 format long : affiche les résultats avec 16 chiffres après la virgule.
Pour les autres formats d'affichage vous pouvez voir l’aide en ligne. (>>help format)

4. Introduction des données


Toute variable doit être saisie comme un élément d’une matrice. Les éléments d'une matrice
peuvent être des nombres réels ou complexes. Un vecteur de n dimension est une matrice. Dans
Matlab on différencie les vectrices lignes et colonnes. peuvent être :

MANSOURI . L Mail : [Link]@[Link] | 4


TP, section B & A Informatique 3(Info3) L2GM – S3

4. 1. Les Vecteurs

𝑋1
𝑋2
.
 Un vecteur colonne de dimension n est une matrice de n x 1 .
.
.
[𝑋𝑛 ]

 [𝑋1 𝑋2 . . . 𝑋𝑛 ] Un vecteur ligne de dimension n est une de matrice 1x n .

- L’instruction 'length' permet de connaitre les dimensions de vecteur.


- L’instruction ”size” permet de connaitre les dimensions de la matrice.

Pour définir un vecteur, il faut procéder comme suit:


-Un vecteur ce déclare toujours entre crochet [ ]
-Si le vecteur à déclarer c'est un vecteur ligne je sépare entre ses éléments par espace ou une
virgule « , » (sépare deux éléments d’une même ligne). Ex : U1 = [3 6 7]

-Si le vecteur à déclarer c'est un vecteur colonne je sépare entre ses éléments par un point-virgule «
; » ou entrée (sépare les lignes entre elles). Ex : U2= [3;6;7]

- Si le vecteur à déclarer commence par X1 et termine par Xn avec un pas P ,il faut le définir comme
suit: U3= X1: P: Xn % donne vecteur ligne

- Si le vecteur à déclarer commence par X1 et termine par Xn avec un N éléments , il faut le définir
comme suit: U4= linspace(X1 , Xn , N) % donne vecteur ligne
Exemples
Nous utilisons le % pour ajouter un commentaire
>>V=[2 6 8] % donne un vecteur ligne 2 6 8

>>V1=[2;6;8] % donne un vecteur colonne

>>V2=[Link] % donne un vecteur de 2 jusqu'à 12 avec un pas de 2

>>V3=linspace(1,3,9) %donne un vecteur ligne de 1 jusqu'à 3 avec 9 valeurs

MANSOURI . L Mail : [Link]@[Link] | 5


TP, section B & A Informatique 3(Info3) L2GM – S3

>> V4=[sqrt(5) cos(pi/6) (5.45)^2 exp(4) i] ;

Racine de 5 pi=3,14 (π) puissance 2 e4 le nombre complexe

% le point-virgule pour ne pas afficher le vecteur.

sqrt( ) donne la racine, ^: pour calculer la puissance et cos(pi/6) l'angle doit être en radiant.

>>V4.' % le point « . » et la prime de 4 «' » donne la transposée


>>V4' % la transposée conjuguée
>>V4(3)=2 % on change la troisième valeur par 2
>>V4([Link])=[0 1] % on change la première et la quatrième valeur par 0 et 1
>>V4(2:4) % on prend les éléments de vecteur V4 de 2 jusqu'à 4 [cos(pi/6) 2 1]
>>sum(V4) % on calcule la somme des éléments de vecteur V4
>>length(V4) % la longueur de vecteur V4

Remarques:
 Lorsque l’on met un ; à la fin d’une commande, le résultat n’est pas affiché à l’écran.
 On peut taper plusieurs commandes Matlab sur une même ligne, en les séparant par une
virgule(,)
Exemple:
>> A=5, C=3,P=A*C

 Pour rappeler des commandes précédentes, 2 possibilités :


Utiliser les touches du clavier ↑ ou ↓et les commandes précédentes apparaissent dans l’ordre
chronologique ;
Taper les premiers caractères de la commande puis utiliser les touches ↑ ou ↓. Après avoir choisi la
commande à rappeler, il est toujours possible de la modifier en se déplaçant avec les touches ← et →
et en effectuant la correction.

4. 2. Les Matrices
Pour séparer les colonnes on utilise l’espace ou la virgule.
Pour séparer les lignes on utilise le point-virgule ;

MANSOURI . L Mail : [Link]@[Link] | 6


TP, section B & A Informatique 3(Info3) L2GM – S3

>>M=[1 3 5;7 5 2; 0 7 9] % déclaration d'une matrice de 3x3


>>det(M) % det pour calculer le déterminant
>>inv(M) % inv pour trouver la matrice inverse
>>diag(M) % affiche la diagonale de la matrice M sous forme d'un vecteur colonne
>>diag(M,1) % affiche la diagonale de M sans la première colonne
>>diag(M,-1) % on affiche la diagonale de M sans la première ligne
>>trace(M) % pour calculer la somme de la diagonale de M
>>triu(M) % donne la partie triangulaire supérieure
>>tril(M) % donne la partie triangulaire inférieure
>>size(M) % la taille de la matrice
>>[U,V]=eig(M) % affiche deux matrices : la matrice U porte les valeurs des vecteurs
propres sur ces colonnes et la matrice V on trouve sur sa diagonale les valeurs propres.

4. 2. 1. Matrices particulières
>>I=eye(3,3) % déclaration de la matrice d'identité de 3x3
I=
1 0 0
0 1 0
0 0 1
>>Y=ones(3,5) % déclaration de la matrice unitaire de 3x5
Y=
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1

>>T=zeros(3,4) % déclaration de la matrice nulle de 4x5


T=
0 0 0 0
0 0 0 0
0 0 0 0

Remarque: La division matricielle implique la résolution de systèmes d’équations linéaires. Si A est


une matrice carrée inversible :
x = A\b est la solution du système A*x = b, avec x et b sont des vecteurs colonne

MANSOURI . L Mail : [Link]@[Link] | 7


TP, section B & A Informatique 3(Info3) L2GM – S3

x = b/A est la solution du système x*A = b, avec x et b sont maintenant des vecteurs lignes.
A\b =inv(A)*b
A/b =A*inv(b)

Remarque: Il faut noter que l’on peut multiplier, diviser et faire toute sorte d’opérations sur les
tableaux en utilisant les opérateurs usuels. La très grande majorité des fonctions mathématiques
peuvent opérer avec des tableaux. Si les tableaux ne sont pas de même taille, quelques précautions
sont à prendre Si l’on veut diviser chaque élément du tableau a par l’élément correspondant du
tableau b,
Exemple: >>a=[2 4 6]; >>b=[1 2 3];
>>a./b
ans =2 2 2
alors que >>a/b ans = 2

Il est possible de réaliser des opérations terme à terme sur les matrices (les matrices sont alors
assimilées à des tableaux). Les deux opérateurs + et – travaillent déjà terme à terme. Pour les autres
opérateurs *, /, \, et ^ , il est nécessaire de les précéder d’un point « . » pour préciser que les
opérations se font terme à terme.
.* produit élément par élément de matrices
.ˆ puissance élément par élément de matrices
./ division élément par élément de matrices
Il y a bien sûr beaucoup d’autres commandes.

4. 2. 2. Sous matrices

>> M1=[linspace(1,2,4);1:0.5:2.5;5:8;-6:-1:-9] % matrice de 4X4


Donne M1 =

1.0000 1.3333 1.6667 2.0000 % de 1 jusqu'à 2 avec 4 éléments


1.0000 1.5000 2.0000 2.5000 % de 1 jusqu'à 2.5 avec un pas de 0.5
5.0000 6.0000 7.0000 8.0000 % de 5 jusqu'à 8 avec un pas de 1
-6.0000 -7.0000 -8.0000 -9.0000 % de -6 jusqu'à -9 avec un pas de -1

MANSOURI . L Mail : [Link]@[Link] | 8


TP, section B & A Informatique 3(Info3) L2GM – S3

Exercice:
Effectuer les commandes Matlab suivantes et commenter les résultats obtenus

Commandes Résultats Commentaires


m1=M1(1:3,[Link])

m2=M1(:,1:2)

m3=[diag(M1,-1) M1(2:4,1:2)]

m4=M1([3 2 4],[1 4 2])

M1^2

M1.^2

5. Calculs sur les nombre complexes


Dans Matlab, i (ou j) désigne le nombre imaginaire pur de partie imaginaire égale à 1 ; si la
variable i a été utilisée entre temps à un autre usage (indice de boucle par exemple) vous pouvez
la réinitialiser par i=sqrt(-1) .
>> z=1+sqrt(3)*i % Nombre complexe
>> zc=conj(z) %donne le conjugué de z, il donne alors zc=1-sqrt(3)*i
>> r = abs(z) %donne le module de z

MANSOURI . L Mail : [Link]@[Link] | 9


TP, section B & A Informatique 3(Info3) L2GM – S3

>> realZ=real(z) %donne la partie réelle de z


>> imagZ1=imag(z) %donne la partie imaginaire de z
Pour les autres opérations sur les complexes voir l’aide en ligne.

6. Création de variables et d’expressions symboliques


La commande syms permet de construire des variables symboliques.
Supposons que l'on veut créer la fonction quadratique. 𝒇 = 𝒂𝒙𝟐 + 𝒃𝒙 + 𝒄
Pour déclarer cette fonction ,on passe par les étapes suivantes :
>> syms a b c x % création de variables symboliques avec syms
Puis écrire
>> f=a*x^2+b*x+c % introduction de la fonction f

Pour calculer la valeur de la fonction f pour x=2 , il faut introduire toujuors en premier la valeur de
Exemple: >>x=2
>>vf= eval(f)

 Calcul de sa dérivée
- Pour calculer la dérivée par rapport à x
>>diff(f) % calcule la dérivée de f par rapport à x
Donne ans =
2ax+b
- Pour calculer la dérivée par rapport à a
>>diff(f,a) % calcule la dérivée de f par rapport à a
Donne ans =
x^2
- Pour calculer la dérivée seconde par rapport à x et a :
diff(f,2)ou bien diff(f,x,2) %pour dériver deux fois par rapport à "x " deux fois
diff(f,a,2) %pour dériver deux fois par rapport à "a" deux fois

La fonction diff peut également agir sur une matrice. Dans ce cas la dérivation est effectuée sur
chaque élément de la matrice.

MANSOURI . L Mail : [Link]@[Link] | 10


TP, section B & A Informatique 3(Info3) L2GM – S3

7. Fichiers SCRIPT et FUNCTION


Jusqu’à présent, l’utilisation que nous avons faite de MATLAB s’apparente beaucoup à celle d’une
calculatrice. Pour des tâches répétitives, il s’avère beaucoup plus pratique et judicieux d’écrire de
courts programmes pour effectuer les calculs désirés. Il existe deux types de fichiers qui peuvent être
programmés avec MATLAB : les fichiers SCRIPT et FUNCTION. Dans les deux cas, il faut lancer
l’éditeur de fichier et sauvegarder le fichier avec l’extension .m.

7.1 Fichiers SCRIPT


Le fichier SCRIPT permet de lancer les mêmes opérations que celles écrites directement à l’invite
MATLAB. Toutes les variables utilisées dans un SCRIPT sont disponibles à l’invite MATLAB.

Pour ouvrir il suffit de cliquer File/new/M-File ou File/Open dans le coin supérieur gauche
de menu principal, ou écrire edit dans la command windows
L’exécution du script (les commandes une après une) se fait à l’aide du bouton Save and Run
ou avec le menu debug/Save and Run ou bien, simplement, en appuyant sur la touche fonction F5.
Les résultats d’exécution sont affichés dans la fenêtre des commandes de la même manière que si les
commandes sont entrées dans cette fenêtre.

7.2 Fichiers FUNCTION


L’idée de base d’une fonction est d’effectuer des opérations sur une ou plusieurs entrées ou
arguments pour obtenir un résultat qui sera appelé sortie. Il est important de noter que les variables
internes ne sont pas disponibles à l’invite MATLAB. Par exemple, la fonction suivante:

MANSOURI . L Mail : [Link]@[Link] | 11


TP, section B & A Informatique 3(Info3) L2GM – S3

function [res1, res2, ...] = nomfonction(var1, var2, ...)


% mettre ici les lignes commentaire à afficher
% dans la fenêtre de commandes suite à une demande d’aide
% avec help nomfonction instruction instruction.

Les variables d’entrée sont var1, var2 ... et les résultats sont res1, res2, ... Autant de variables et de
résultats que nécessaire peut être utilisé. Le fichier doit être sauvegardé sous le nom nomfonction.m
et peut contenir plus d’une fonction.

8. Graphisme
8. 1. La fonction plot
Soient x et y deux listes (ou deux vecteurs) de même longueur. La fonction plot(x, y) trace dans la
fenêtre active le graphe de y en fonction x. Lorsqu’il n’y a pas de fenêtre active, MATLAB crée
automatiquement une nouvelle fenêtre. On peut tracer les graphes de plusieurs fonctions
simultanément.
Exemple 1: courbe avec plot

>> x=linspace(0,2*pi,30); y=sin(x);


>> plot (x,y) % fonction plot

0.8

0.6

0.4

0.2

-0.2

-0.4

-0.6

-0.8

-1
0 1 2 3 4 5 6 7
fonction plot

MANSOURI . L Mail : [Link]@[Link] | 12


TP, section B & A Informatique 3(Info3) L2GM – S3

Exemple 2: deux courbes sur la même figure avec fonction hold on

>> x=linspace(0,2*pi,30); y=sin(x);z=cos(x);


>> plot (x,y)
>> hold on % superposition de courbes
>> plot(x,z,'c+')
>> grid
fonction hold on
1

0.8

0.6

0.4

0.2

-0.2

-0.4

-0.6

-0.8

-1
0 1 2 3 4 5 6 7

Exemple3:

%cours sur les graphes


clear all %pour effacer le workspace
close all % pour fermer les fenetres de dessin
clc %pour effacer la command window
x=0:pi/10:3*pi; % Déclaration d'un vecteur ligne
y=cos(x)
z=sin(x) 1
y=f(x)

figure(1) 0.8
cos x

plot(x,y,'--v') 0.6

0.4
xlabel('coordonnée x')
0.2
coordonnée y

ylabel('coordonnée y') 0

title('y=f(x)') -0.2

legend('cos x') -0.4

-0.6
grid;
-0.8

-1
0 1 2 3 4 5 6 7 8 9 10
coordonnée x

MANSOURI . L Mail : [Link]@[Link] | 13


TP, section B & A Informatique 3(Info3) L2GM – S3

% Lorsque plusieurs tracés ont lieu dans la même fenêtre, nous utilisons le hold on

figure(2)
plot(x,y)
legend('cos x','sin x')
hold on % pour tracer deux courbes sur le même diagramme
plot(x,z,'cd')
plot(y,z,'g')
gtext('x égal à zéro')
hold off
grid;

0.8

0.6

0.4
x égal à zéro
0.2

-0.2

-0.4

-0.6

-0.8
cos x
-1
-2 0 2 4 6 8 10

figure (3)
subplot(3,3,1:3) % pour positionner les courbes
plot(x,y) 1

subplot(3,3,4:6)
0

plot(x,z)
-1
0 1 2 3 4 5 6 7 8 9 10
subplot(3,3,7)
1

plot(y,z)
0

-1
0 1 2 3 4 5 6 7 8 9 10
1

-1
-1 0 1

MANSOURI . L Mail : [Link]@[Link] | 14


TP, section B & A Informatique 3(Info3) L2GM – S3

figure(4)
loglog(x,y)
semilogy(x,y) % X linéaire et y logarithme
figure(5)
plot3(x,y,z)
plot 3

0.5

-0.5

-1
1
0.5 10
8
0 6
-0.5 4
2
-1 0

figure(6)
bar(x,y) % Diagramme à barres
barh(x,y)

10

-2
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1

MANSOURI . L Mail : [Link]@[Link] | 15


TP, section B & A Informatique 3(Info3) L2GM – S3

9. Boucles et Test
Les principales instructions de contrôle proposées par Matlab sont for, while et if .Elles
fonctionnent à peu près comme leurs équivalents dans les autres langages de programmation.

Avant de décrire la syntaxe du test sous Matlab, indiquons les principaux opérateurs de relation ainsi
que les opérateurs booléens qu'utilise Matlab.

9.1. Boucle if

Les instructions ne seront exécutées que si l'expression est vraie. Il est possible de proposer une
alternative, en indiquant les instructions à exécuter lorsque expression est fausse.

Exemple:

i=input ('donner i= ') % introduire la valeur de i


x=input ('donner x= ') % introduire la valeur de x
if i>3 % si i supérieur à 3 il calcule l'instruction x=x+1
x=x+1
else x=x-1 % sinon, il calcule x=x-1
end

MANSOURI . L Mail : [Link]@[Link] | 16


TP, section B & A Informatique 3(Info3) L2GM – S3

9.2. Boucle for

La boucle for doit respecter la syntaxe suivante :


for indice=début:pas:fin
Instruction à exécuter
end
Généralement, l'expression est un vecteur de la forme début : incrément :fin et compteur prend
successivement toutes les valeurs de expression pour exécuter instructions.

Exemple
Les instructions suivantes permettent de calculer les valeurs approchées de E pour x de 1 jusqu'à 3
avec un pas de 0.3.
E=x^2+x-3

Programme
x=1:0.3:3
for i=1:length(x)
E=x(i)^2+x(i)-3
end

Plusieurs boucles peuvent être emboîtées. Comme Matlab est un langage interprété, il faut
essayer d’éviter les boucles quand c’est possible. Pour cela on peut utiliser des boucles implicites.
1
Pour construire la matrice H = (hi,j) avec : 𝐻𝑖,𝑗 = 𝑖+𝑗−1

On va écrire une programme pour afficher une matrice de 3x3


Programme
for i=1:3
for j=1:3
1
𝐻(𝑖, 𝑗) = 𝑖+𝑗−1

end
end

MANSOURI . L Mail : [Link]@[Link] | 17


TP, section B & A Informatique 3(Info3) L2GM – S3

9.3. Boucle while

L’instruction while respecte la syntaxe suivante :

Les instructions seront exécutées tant que expression sera vraie.

Exemple: calculer les valeurs de W tant que n inférieur à 5

clear all,clc
n=0 % initialisation de n
while n<5 % tant que n inférieur à 5
w=2*n % calcul de w
n=n+1; % l'incrémentation est importante sinon
la boucle sera infinie
end %fin de boucle

MANSOURI . L Mail : [Link]@[Link] | 18

Vous aimerez peut-être aussi