Vous êtes sur la page 1sur 17

Université Sultan Moulay Slimane

Faculté Polydisciplinaire de Khouribga


Filière : Science de la Matière Physique

Travaux Pratiques
Module : Physique numérique

INTRODUCTION, INITIATION ET PRISE EN MAINS DU


LANGAGE MATLAB

Année universitaire
2021-2022
Introduction au logiciel Matlab
Interface graphique du MatLab

Invite
MATLAB
(Workspace)

2
Opérations directement faites sur
l’invite MatLab

3
Opérations sur les matrices
Les operateurs de base

Operateurs Fonctions
+ Addition
- Soustraction
* Multiplication matricielle
.* Multiplication matricielle élément par élément
/ Division droite des matrices
./ Division des matrices élément par élément
^ Mise en puissance
.^ Mise en puissance élément par élément
‘ Transposition

4
Opérations sur les matrices
Les opérations de base

Operateurs Fonctions
A+B Addition élément à élément; A et B doivent avoir le même format
A+s=s+A Addition de s aux éléments de A
A-B Soustraction terme à terme; A et B doivent avoir le même format
A-s Soustraction de s aux element de A(aij-s)
s-A Tableau dont les éléments sont s-aij
A*B Produit matriciel standard; nbr. Col. A doit etres le meme que nbr. De lign. B

A*s=s*A Multiplication de s aux elements de A


A.*B Multiplication element à element; A et B doivent avoir le meme format
A^n A*A*A*……. *A (n fois)

5
Opérations directement faites sur l’invite MatLab
Quelques applications

l'utilisateur peut affecter des valeurs à des variables et effectuer des opérations sur ces variables. Par exemple :
>> x = 2
x= 2
>> y = 3
y= 3
>> x + y
ans = 5
>> x * y
ans = 6
Ici, il faut noter que lorsque l'utilisateur ne fixe pas de variable de sortie, MATLAB place le résultat d'une opération
dans ans. Il est toujours possible de connaître les variables utilisées et leur type à l'aide de la fonction whos. Par
exemple, pour les manipulations précédentes :
>> whos
Name Size Bytes Class
ans 1x1 8 double array
x 1x1 8 double array
y 1x1 8 double array

6
Opérations sur les matrices
Quelques applications

• Note1: Matlab ne revoie pas de message d’erreur


lors d’une division par 0, mais renvoie le résultat
˃˃ A=[1 3 7;1 0 1;0 1 1] Inf (Infinity) ou le résultat NaN (Not a Number)
˃˃ B=[-1 -3 -7;-1 0 -1;0 -1 0] • Note2: Pour la résolution de système d’équation,
˃˃ A+B utilisez toujours les commandes B/A et A\B.
˃˃ A*B n’inverser jamais une matrice.
˃˃ A^(-2) • Note3: Si A est une matrice (à coefficient
˃˃ A.^(-2) complexes), alors A’ désigne sa trans-conjuguée et
˃˃ A.*B A.’ sa transposée . Les deux coïncident si A est à
˃˃ A/B coefficient réels.
Formalisme complexe • Note4: il est possible de faire le produit de deux
˃˃ a=1.2 tableaux a et b élément par élément et obtenir le
˃˃ b=7 tableau c avec c(i)=a(i) et écrivant c=a.*b, y=a.^n
˃˃ D=a+b*i donnera y qui contiendra les éléments de a à la
puissance n.
• Pour la division élémentaire, essayez a./b et a.\b.

7
Opérations sur les matrices et vecteurs
Operations sur les vecteurs
• Pour définir un vecteur (ligne ou colonne) il suffit de donner la liste de ses
éléments entre crochets([]). Pour un vecteur ligne, les éléments sont séparés par
des virgule (,).
• ˃˃ A=[1 2 3]
• ˃˃ A=[3,6,8,1.765]
• Pour définir un vecteur colonne, les éléments sont séparés au choix par un point
virgule (;), ou bien on peut utiliser la commande transposition avec l’apostrophe
(‘).
• ˃˃ A=[1;2;3]
• ˃˃ A=[1 2 3]’
• ˃˃ A=[3;6;8;1.765]
• ˃˃ A=[3,6,8,1.765]’
• On peut utiliser l’operateur : (énumération) pour créer un vecteur. La syntaxe
générale est la suivante:
• ˃˃ A=Debut:pas:fin
• Ou début est fin sont des nombre, pas est le pas de tabulation. Par défaut pas=1.
• ˃˃ V=-1:.5:1
• ˃˃ U=-1:2
• Remarque : un vecteur généré par énumération est toujours un vecteur ligne. 8
Opérations sur les matrices et vecteurs
Operations sur les vecteurs
• Il est possible de mixer les différentes formes de saisie de vecteur :
• ˃˃ U=[-5 3 7 0:2:8]
• Pour accéder a un élément d’un vecteur, on utilise son indice entre parenthèses
• ˃˃ V=[0:10 ]
• V(7)=6
• On peut généré des vec teurs do nt les co mpo santes sont un iformémen t repartie grâc e à la
fonction (linspace ). L’instruction est la suivante :
• ˃˃ x=linspac e(x1, x2,n)
• Il génère un vecteur ligne de n composantes, subdivision uniforme de l’intervalle [x1,x2]
• ˃˃ x=linspac e(0, 1, 5 )
• Pour avoir un vecteur transpo sé, l’apostro phe (‘) (prime) suffit:
• ˃˃ V=[3.56;2. 9;6.3456;4.5 ]
• ˃˃ Vt=V’
• La taille d’un vecteur est obtenue grâce a la fonction (length):
• ˃˃ V=[] %vecteur vide
• ˃˃ length(V)= 0
• Po ur savoir si on a affaire à un vecteur lign e o u bien vec teur co lonne, on utilise la fonction
size qui retourne le nombre de ligne et de colonnes d’un tableau.
• ˃˃ V=[1 2 3]
• ˃˃ Size (V) = 1 3
• ˃˃ Size (V’) = 3 1
9
Opérations sur les matrices et vecteurs
Operations sur les Matrices

• Pour définir une matrice, il suffit de separer les lignes de la matrice par un point-
virgule (;). Par exemple
• ˃˃ A=[1 2 3;4 1 2;0 2 4]
• On peut aussi créer une matrice directement à partir de vecteurs. Si v1, v2, v3 sont
vecteur lignes de même taille, alors [v1’ v2’ v3’] est une matrice dont les colonnes
sont les vecteurs v1’,v2’,v3’.
• ˃˃ v1=[1 2 3]; v2=[1 1 1]; v3=[3.5 7.8 0.5]
• ˃˃ A=[v1; v2; v3], B=[v1’ v2’ v3’]
• Comme pour les vecteur, la matrice transposée s’obtient grâce à l’apostrophe (‘):
• ˃˃A=[8 2 7;0 1 3]
• ˃˃B=A’
• Pour accéder à un élément d’une matrice, il suffit de préciser son numéro de ligne
et son numéro de colonne entre parenthèses.
• A=pascal(3)
• A(3,2)
• La fonction size retourne la taille d’une matrice au sens MATLAB, c’est-à-dire en
nombre de ligne et de colonnes. La syntaxe est la suivante :
• ˃˃A=[0 2 5 6;3 6 5 2;1 1 2 2]
• ˃˃[m,n]=size(A) 10
Opérations sur les matrices et vecteurs
Operations sur les Matrices

Fonction Matrice générée


zeros Matrice nulle
eye Matrice identité
ones Matrice ne contient que des 1
hilb Matrice d’Hilert
pascal Matrice de Pascal symétrique
rand Matrice aléatoire (loi uniforme)
randn Matrice aléatoire (loi normale)

˃˃ I=eye (5)
˃˃ O=zeros (5) ; T=zeros(3,2) ; U=zeros(1,4)
˃˃ Un=ones(3,5)
𝟏
˃˃ H=hilb(4) ➔ 𝒉 𝒊𝒋 = 𝒊+𝒋−𝟏 i,j=1,…,n.
˃˃ P=pascal(3) ; ˃˃ inv(P)
11
Opérations sur les matrices et vecteurs
Operations sur les Matrices

Fonction Matrice générée


zeros Matrice nulle
eye Matrice identité
ones Matrice ne contient que des 1
hilb Matrice d’Hilert
pascal Matrice de Pascal symétrique
rand Matrice aléatoire (loi uniforme)
randn Matrice aléatoire (loi normale)

˃˃ I=eye (5)
˃˃ O=zeros (5) ; T=zeros(3,2) ; U=zeros(1,4)
˃˃ Un=ones(3,5)
𝟏
˃˃ H=hilb(4) ➔ 𝒉 𝒊𝒋 = 𝒊+𝒋−𝟏 i,j=1,…,n.
˃˃ P=pascal(3) ; ˃˃ inv(P)
12
Opérations sur les matrices
Fonctions prédéfinies

Manipuler des matrices

Det: déterminant d’une Matrice.


˃˃ d=det(M)
Matrices spécifiques Prod: produite des éléments de chaque colonne.
˃˃ v=prof(M)
Sum: renvoie la somme des éléments de chaque colonne.
˃˃ eye(2) ˃˃ s=sum(M)
˃˃ eye(3) Mean: renvoie une liste des moyennes de chaque colonne.
˃˃ ones(3) ˃˃ m=mean(M)
˃˃ zeros(2,3) Max: renvoie une liste des maximum de chaque colonne.
˃˃ magic(3) ˃˃ m=max(M)
˃˃ rand(2) Max: renvoie une liste des minimum de chaque colonne.
˃˃ M1=[7 2 5;1 0 1] ˃˃ m=min(M)
˃˃ size(M1) diag: extrait la diagonale d’une matrice
˃˃ m=diag(M)
inv: inverse d’une matrice carrée
˃˃ N=inv(M)
13
Opérations sur les matrices et vecteurs
Operations unitaires

Fonction Résultats
abs Valeur absolue
angle Argument d’un nombre complexe
imag Partie imaginaire d’un nombre complexe
real Partie réelle d’un nombre complexe
conj Nombre complexe conjugué

Fonction Résultats
exp exponentielle
log Logarithme népérien
log10 Logarithme base 10
sqrt Racine carrée
nthroot Racine n-eme
14
Opérations sur les matrices et vecteurs
Operations sur les Matrices

Fonction Résultats
cos cosinus
acos Arc consinus
cosh Cosinus hyperbolique
sin sinus
asin Arc sinus
sinh Sinus hyperbolique
tan tangente
atan Arc tangente
tanh Tangente hyperbolique

15
Exercice N°1 du TP

16
Opérations sur les matrices
Les operations de base

17

Vous aimerez peut-être aussi