SlideShare uma empresa Scribd logo
1 de 56
Baixar para ler offline
MATLAB
Dr. Keang Sè POUV
Phnom Penh
Printemps, 2015
Institut de Technologie du Cambodge
2
Introduction
Dr. Keang Sè POUV
Qu’est ce que MATLAB ?
Développé par la société The MathWorks, Matlab (Matrix Laboratory) est un
langage de programmation adapté pour les problèmes scientifiques. MATLAB est
un interpréteur de commandes: les instructions sont interprétées et exécutées
ligne par ligne (pas de compilation avant de les exécuter).
Modes de fonctionnement
1. mode interactif: MATLAB exécute les instructions au fur et à mesure qu'elles
sont données par l'usager.
2. mode exécutif: MATLAB exécute ligne par ligne un fichier ".m" (programme
en langage MATLAB).
Les avantages :
- Facilité d’utilisation, prise en main rapide
- Existence de toolboxes utiles pour l’ingénieur
- Possibilité de l’interfacer avec d’autres langages (C, C++, Fortran)
- Permet de faire du calcul parallèle.
Désavantages :
- Limitation en mémoire
- Payant
3
Premières notions
Dr. Keang Sè POUV
Lancement de MATLAB
Current Folder:
Liste de fichiers
Command Window:
Fenêtre principale pour l'exécution des instructions
Workspace:
Contenu des
variables
Command
History:
Historique des
commandes
4
Premières notions
Dr. Keang Sè POUV
Documentation MATLAB
• Commande Help
Exemple : pour avoir de la documentation sur la commande plot
>> help plot
• Pour une documentation plus complète : Help/Documentation
5
Premières notions
Dr. Keang Sè POUV
Ligne de commande, mode immédiat
Il y a deux types de commande :
1. Expression : formule permettant de calculer immédiatement un résultat
Exemples d’expressions :
Tous les éléments de l’expression doivent être connus au moment de son
évaluation par l’interpréteur.
2. Instruction : ensemble structuré d’expressions
Exemples d’instructions :
Remarque : le point-virgule (;) est un inhibiteur d’affichage.
6
Premières notions
Dr. Keang Sè POUV
Nombres
Les nombres réels peuvent être sous différents formats :
2 -1.0235 0.5124E-12 25.61e6 0.001234
Les nombres complexes peuvent être écrits sous forme cartésienne ou polaire :
Forme cartésienne : 0.5+i*2.7 -1.2+j*0.163 2.5+6.8i
Forme polaire : 1.25*exp(j*0.142)
Formats d’affichage
Pour choisir le format d’affichage pour les nombres, on utilise l’instruction
format :
format défaut (même que format short)
format short 0.1234
format long 0.12345678901234
format short e 1.2345E+002
format long e 0.123456789012345E+002
format hex ABCDEF0123456789
7
Premières notions
Dr. Keang Sè POUV
Opérations arithmétiques
+ Addition
- Soustraction
* Multiplication
/ Division à droite
 Division à gauche
^ Puissance
Exemples :
>> format short
>> 3.5+1.2
ans =
4.7000
>> 102
ans =
0.2000
>> 3^2+0.4*10
ans =
13
8
Matrices
Dr. Keang Sè POUV
Définitions
- Matrice : Tableau rectangulaire (m lignes et n colonnes)
- Vecteur : Matrice comportant 1 ligne et plusieurs colonnes)
- Scalaire : Matrice comportant 1 ligne et 1 colonne
Sous Matlab, les données sont généralement définies comme des matrices, i.e.
des tableaux à 1, 2 … n dimensions. On ne considérera ici que des tableaux à 1
ou 2 dimensions.
Exemples :
>> A=224 (on définit une variable A correspondant à une matrice à
A = 1 ligne et 1 colonne contenant le nombre 224)
224
>> B=[12 15 138] (on définit une variable B correspondant à une matrice à
B = 1 ligne et 3 colonnes. Les espaces ou les virgules , entre
12 15 138 les nombres permettent de délimiter les colonnes.)
>> C=[1,13,24]
C =
1 13 24
9
Matrices
Dr. Keang Sè POUV
Définitions
Exemples :
>> D=[1 3 4; 7 2 5] (on définit une matrice D à 2 lignes et 3 colonnes. Les
D = caractères ; permettent de passer à la ligne)
1 3 4
7 2 5
>> E=[1 3]
E =
1 3
>> F=[2 8]
F =
2 8
>> G=[E F] (concaténation les varaibles E et F en une seule)
G =
1 3 2 8
>> H=[E;F]
H =
1 3
2 8
10
Matrices
Dr. Keang Sè POUV
Variables scalaires
• Définition des variables
>> a = 2 ;
>> b = 2.5 ;
>> c = a * b ;
• Liste des variables : commande who
>> a = 2 ; ---- Définition des variables a et b
>> b = 5 ;
>> who ---- a b
• Suppression des variables : commande clear
>> clear a ---- Supprime la variable a
>> clear all ---- Supprime toutes les variables
• Variables (constantes prédéfinies) : pi, 1i
11
Matrices
Dr. Keang Sè POUV
Eléments d’une matrice
Chaque élément d'une matrice est accessible à condition de spécifier sa place
dans la matrice. Pour cela, il suffit de donner le numéro de ligne et de colonne
entre ().
Exemples :
>> A=[1 5 2 6];
>> A(1,2)
ans =
5
>> A(2) (car la matrice A ne contient qu’une seule ligne)
ans =
5
>> B=[1 5 6; 2 3 4]; (la variable end permet de récupérer le dernier élément.)
>> B(2,2)
ans =
3
>> B(end)
ans =
4
12
Matrices
Dr. Keang Sè POUV
Eléments d’une matrice
Pour récupérer plusieurs éléments d'une matrice, il suffit de préciser l'ensemble
des numéros de lignes et de colonnes des éléments à prélever. En particulier,
pour récupérer l'ensemble des éléments d'une ligne ou d'une colonne on utilise le
caractère ' :'.
Exemples :
>> A=[1 2 4 0; 3 -2 6 8; 1 -3 5 4; 0 2 4 5];
>> A
A =
1 2 4 0
3 -2 6 8
1 -3 5 4
0 2 4 5
>> A(2,[1 2])
ans =
3 -2
>> A(3,:)
ans =
1 -3 5 4
13
Matrices
Dr. Keang Sè POUV
Eléments d’une matrice
>> A(:,2)
ans =
2
-2
-3
2
>> A([1 3],[1 3])
ans =
1 4
1 5
>> A([1:3],[1:3])
ans =
1 2 4
3 -2 6
1 -3 5
14
Matrices
Dr. Keang Sè POUV
Tailles d’un vecteur, dimension d’une matrice
15
Matrices
Dr. Keang Sè POUV
Création et construction de vecteurs
16
Matrices
Dr. Keang Sè POUV
Création et construction de matrices
Les fonctions ones, eye, zeros, et rand créent des matrices avec des
remplissages divers.
ones : matrice des uns
eye : matrice d’identité
zeros : matrice des zéros
rand : matrice des chiffres aléatoires
diag : matrice diagonale
magic : matrice carré
Exemples :
17
Matrices
Dr. Keang Sè POUV
Création et construction de matrices
Exemples :
>> zeros(3,3)
ans =
0 0 0
0 0 0
0 0 0
>> A=rand(3,2)
A =
0.8147 0.9134
0.9058 0.6324
0.1270 0.0975
>> B=rand(3,2)
B =
0.2785 0.9649
0.5469 0.1576
0.9575 0.9706
18
Matrices
Dr. Keang Sè POUV
Création et construction de matrices
Exemples :
>> A=[1 2 3 4]
A =
1 2 3 4
>> diag(A) (application de diag à un vecteur)
ans =
1 0 0 0
0 2 0 0
0 0 3 0
0 0 0 4
>> B=[1 2 3 4; 5 6 7 8; 9 10 11 12]
B =
1 2 3 4
5 6 7 8
9 10 11 12
>> diag(B) (application de diag à une matrice)
ans =
1
6
11
19
Matrices
Dr. Keang Sè POUV
Création et construction de matrices
Les crochets carrés [], et la fonction repmat permettent d’empiler les matrices
Exemples :
20
Matrices
Dr. Keang Sè POUV
Création et construction de matrices
reshape : changement de la dimension de la matrice
Exemples :
>> A=[1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16]
A =
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
>> reshape(A,1,16)
ans =
1 5 9 13 2 6 10 14 3 7 11 15 4 8 12 16
>> reshape(A,2,8)
ans =
1 9 2 10 3 11 4 12
5 13 6 14 7 15 8 16
m x n : dimension initiale de la matrice A
p x q : nouvelle dimension de la matrice A (p x q = m x n), reshape(A,p,q)
21
Matrices
Dr. Keang Sè POUV
Opérations sur les matrices
Opérateurs arithmétiques logiques termes à termes
+, - addition et soustraction
.*, ./ multiplication et divisions termes à termes
.^ puissance terme à terme
Exemples :
>> A=[2 5 0];
>> B=[1 2 3];
>> A+B
ans = 3 7 3
>> A-B
ans = 1 3 -3
>> A.*B
ans = 2 10 0
>> A./B
ans = 2.0000 2.5000 0
>> A.^B
ans = 2 25 0
22
Matrices
Dr. Keang Sè POUV
Opérations sur les matrices
Opérateurs algébriques
* multiplication matricielle
^ puissance
/,  résolution de systèmes linéaires
Exemples :
>> a=[2 1 1; 1 3 2];
>> b=[0 6; 1 5; 4 1];
>> a*b
ans =
5 18 (2*0+1*1+1*4=5, 2*6+1*5+1*1=18,
11 23 (1*0+3*1+2*4=11, 1*6+3*5+2*1=23)
>> b*a
ans =
6 18 12
7 16 11
9 7 6
Note : a(m,n)*b(n,p)=c(m,p)
23
Matrices
Dr. Keang Sè POUV
Exemples :
>> A=[2 4; 1 1];
>> A^2
ans =
8 12
3 5
Note : a(m,m)^i=A(m,m) (matrice carrée m x m)
>> A=[2 4; 1 1];
>> B=[1 0; 2 1];
>> A/B (=A*B-1, inv(B)=B-1)
ans =
-6 4
-1 1
>> AB (=A-1*B)
ans =
3.5000 2.0000
-1.5000 -1.0000
Note : A(m,n)/B(n,n)=C(m,n), A(m,m)B(m,n)=D(m,n)
24
Matrices
Dr. Keang Sè POUV
Opérateurs de transposition
Exemples :
>> a=[1 2; 9 3]
a =
1 2
9 3
>> a'
ans =
1 9
2 3
>> a.'
ans =
1 9
2 3
25
Matrices
Dr. Keang Sè POUV
Nombres complexes
real : partie réelle
imag : partie imaginaire
abs : valeur absolue ou module
conj : conjugé
Exemples :
>> a=3-4i;
>> real(a)
ans =
3
>> imag(a)
ans =
-4
>> abs(a) >> abs(-20)
ans = ans =
5 20
>> conj(a)
ans =
3.0000 + 4.0000i
26
Matrices
Dr. Keang Sè POUV
Nombres complexes
angle : phase angle (entre -π et π)
r = abs(z)
phi = angle(z)
z = |z|.*exp(i*arg(z)) = r.*exp(i*phi)
Exemples :
>> angle(3)
ans =
0
>> angle(1)
ans =
0
>> angle(-0.5)
ans =
3.1416
>> angle(-1)
ans =
3.1416
27
Matrices
Dr. Keang Sè POUV
Nombres complexes
>> z=[1-1i 1i 2+2i; 3-2i 1+1i -1i; 4+2i -2+1i 2i]
>> angle(z)
ans =
-0.7854 1.5708 0.7854
-0.5880 0.7854 -1.5708
0.4636 2.6779 1.5708
>> angle(z)*180/pi
ans =
-45.0000 90.0000 45.0000
-33.6901 45.0000 -90.0000
26.5651 153.4349 90.0000
Note:
angle(a+bi)=arctan(b/a)*pi/180 (argument d’un complexe)
28
Matrices
Dr. Keang Sè POUV
Constantes spéciales
ans : dernier résultat de calcul
inf : infini
NaN : Not a Number, résultat d’un calcul indéfini
pi : constante π
Exemples :
>> 2/0
ans =
Inf
>> 0/0
ans =
NaN
>> pi
ans =
3.1416
>> 2*pi
ans =
6.2832
29
Matrices
Dr. Keang Sè POUV
Transformations de matrices
fliplr : Flip matrix in left/right direction.
fliplr(X) returns X with row preserved and columns flipped
in the left/right direction.
Exemples :
>> A=[1 2 3; 4 5 6]
A =
1 2 3
4 5 6
>> fliplr(A)
ans =
3 2 1
6 5 4
30
Matrices
Dr. Keang Sè POUV
Transformations de matrices
flipud : Flip matrix in up/down direction.
flipud(X) returns X with columns preserved and rows flipped
in the up/down direction.
Exemples :
>> A=[1 4; 2 5; 3 6]
A =
1 4
2 5
3 6
>> flipud(A)
ans =
3 6
2 5
1 4
31
Matrices
Dr. Keang Sè POUV
Transformations de matrices
rot90 : Rotate matrix 90 degrees.
rot90(A) is the 90 degree counter-clockwise rotation of matrix A.
Exemples :
>> A=[1 2 3; 4 5 6]
A =
1 2 3
4 5 6
>> rot90(A)
ans =
3 6
2 5
1 4
32
Matrices
Dr. Keang Sè POUV
Transformations de matrices
tril : Extract lower triangular part.
>> X=[1 2 3 4; 5 6 7 8]
X =
1 2 3 4
5 6 7 8
>> tril(X)
ans =
1 0 0 0
5 6 0 0
>> Y=[1 2 3; 4 5 6; 7 8 9]
Y =
1 2 3
4 5 6
7 8 9
>> tril(Y)
ans =
1 0 0
4 5 0
7 8 9
33
Matrices
Dr. Keang Sè POUV
Transformations de matrices
triu : Extract upper triangular part.
>> X=[1 2 3 4; 5 6 7 8]
X =
1 2 3 4
5 6 7 8
>> triu(X)
ans =
1 2 3 4
0 6 7 8
>> Y=[1 2 3; 4 5 6; 7 8 9]
Y =
1 2 3
4 5 6
7 8 9
>> triu(Y)
ans =
1 2 3
0 5 6
0 0 9
34
Matrices
Dr. Keang Sè POUV
Exercices
Exercice 1 :
La formule permettant de calculer rapidement la valeur de la somme des n
premiers entiers naturels est la suivante : sn=1+2+3+…+n=n(n+1)/2. Vérifier
cette formule pour différentes valeurs de n : n=100, n=100 000.
Exercice 2 :
1. Générer un vecteur x à 1 ligne et 30 colonnes rempli de 3 en utilisant la
fonction ones().
2. Calculer la somme cumulée de x (fonction cumsum()) et l’affecter à la
variable y.
3. Prélever un échantillon sur 9 de y et placer ces échantillons dans un vecteur
z.
Exercice 3 :
1. Générer un vecteur x à 1 colonne et 1000 lignes rempli de nombre aléatoires
distribués uniformément entre 0 et 1 en utilisant la fonction rand().
2. Calculer la moyenne et l’écart type du vecteur x en utilisant mean() et
std().
35
Matrices
Dr. Keang Sè POUV
Exercices
Exercice 4 :
Résoudre les systèmes AX=b et AY=b+δb
Exercice 5 :
On a :
M=[1 4 7 -2; 3 5 10 0; 8 2 4 1; -2 4 5 1];
En utilisant la matrice d’identité, vérifier que :
M-1=[0.0628 -0.0921 0.1464 -0.0209
0.4310 -0.6987 0.3389 0.5230
-0.2343 0.4770 -0.2134 -0.2552
-0.4268 0.2259 0.0042 0.1423]
36
Chaînes de caractères
Dr. Keang Sè POUV
Définition d’une chaîne de caractère
Les chaînes de caractères sont les matrices de caractères.
Pour définir une chaîne de caractère on utilise les apostrophes.
Exemple :
>> nom='POUV'
nom =
POUV
>> phrase='Ceci est une phrase'
phrase =
Ceci est une phrase
>> Couple=['homme';'femme']
Couple =
homme
femme
37
Chaînes de caractères
Dr. Keang Sè POUV
Eléments d’une chaîne de caractère
Pour récupérer certains caractères d'une chaîne de caractères, il suffit de
préciser les indices des numéros de lignes et de colonnes correspondant.
Exemple :
>> nom_du_capitaine='Archibald Haddock';
Pour prélever son prénom et le mettre dans la variable prenom_du_capitaine, on
peut faire :
>> prenom_du_capitaine=nom_du_capitaine(1:9)
prenom_du_capitaine =
Archibald
1:9 détermine la longueur de la chaîne de caractère correspondant au prénom.
38
Chaînes de caractères
Dr. Keang Sè POUV
Opération sur les chaînes de caractères
Concaténation : pour concaténer 2 chaînes de caractères, on peut utiliser les
symbole [].
>> a=‘Un oiseau';
>> b='fait son nid';
>> c=[a b]
c =
Un oiseaufait son nid
>> d=' fait son nid';
>> e=[a d]
e =
Un oiseau fait son nid
Transposition : on peut transposer une chaîne de caractères avec le symbole ‘.
>> A='abc';
>> A'
ans =
a
b
c
39
Ecriture des instructions
Dr. Keang Sè POUV
Syntaxe simplifiée
1. Définition des variables (e.g. Nom_variable=valeur ou expression)
2. Exécution et affichage des résultats intermédiaires.
3. Exécution et affichage des résultats finaux.
Exemples :
>> g=-9.81;
>> alpha=pi/3;
>> b=g*cos(alpha)
b =
-4.9050
Les variables g et alpha sont déjà initialisées, cos est une fonction.
Si on utilise une variable non définie, Matlab affiche un message d’erreur.
>> c=b*d
Undefined function or variable 'd'.
40
Ecriture des instructions
Dr. Keang Sè POUV
Résultats
On définit le résultat par l’initialisation d’une variable de sortie. Si force est la
variable de sortie, le résultat est donné par :
force=expression
Exercice 6 :
On lance une pierre verticalement vers le haut avec une vitesse initiale de 5 m/s.
Calculer la hauteur maximal de la pierre.
41
Scripts et fonctions
Dr. Keang Sè POUV
Pour écrire plusieurs instructions à la fois, il est utile d’utiliser des fichiers
scripts ou des fonctions. Les scripts exécutent une série de déclaration
MATLAB. Les fonctions acceptent les arguments d’entrée et produisent les
résultats. Les scripts et les fonctions contiennent les codes MATLAB et sont
stockés dans les fichiers textes d’extension .m. Pourtant, les fonctions sont plus
flexibles et plus facilement extensibles.
Script
- suite d’instructions
- pas de paramètre d’entrée
- ne renvoie aucune valeur
- appels à d’autres scripts ou d’autres fonctions
Fonction
- peut prendre des arguments d’entrée
- retourne une ou plusieurs valeurs
- les variables locales inaccessibles depuis l’extérieur
- contrainte syntaxique : seule la fonction portant le nom du M-fichier est
accessible
42
Scripts et fonctions
Dr. Keang Sè POUV
Créer des fichier scripts ou des fonctions / Editeur Matlab
43
Scripts et fonctions
Dr. Keang Sè POUV
Exemples de script
Fichier exScript.m
x=1;
y=2;
z=x+y;
Dans la fenêtre de commande :
>> exScript  Exécution du script stocké dans le fichier exScript.m
>> x  Renvoie les valeurs des variables x, y et z.
>> y Les variables déclarées dans le script sont connues
>> z
NB : Le fichier exScript.m doit être dans le répertoire courant.
44
Scripts et fonctions
Dr. Keang Sè POUV
Exemples de fonction
Fichier SommeEtProduit.m
function [s,p]=SommeEtProduit(x,y)
s=x+y;
p=x*y;
(end function)
NB : s et p sont les arguments de sortie. x et y sont les arguments d’entrée.
Dans la fenêtre de commande :
(sans besoins de compiler dans le fichier SommeEtProduit.m)
>> a=1;  Définition des variables a et b
>> b=2;
>> [c,d]=SommeEtProduit(a,b)  Appel et exécution de la fonction
SommeEtProduit (c=3, d=2)
>> x  Erreur, x n’est pas connue
NB: Le fichier SommeEtProduit.m doit être dans le répertoire courant.
Le nom du fichier .m et le nom de la fonction doivent être les mêmes.
45
Scripts et fonctions
Dr. Keang Sè POUV
Exercices
Exercice 7 : Renommage de nom du ficiher.
Soit la variable nom_fich=‘fichier_1.txt’ :
1. Définir une variable contenant le nom du fichier sans son extension
2. Ajouter à cette variable le suffixe ‘_new.txt’ par concaténation de chaîne de
caractère.
3. Générer une fonction change_extension qui accepte une variable d’entrée des
chaînes de caractère de type nom_de_fichier.extension et qui transforme
automatiquement le nom de l’extension (à 3 caractères) en « dat ». La valeur
de la sortie étant alors nom_de_fichier.dat.
Exercice 8 : Gestion de matrices de chaînes de caractères.
Générer une variable nom_fichier contenant sur 3 lignes 3 noms de fichiers :
toto_1.txt, toto_2.txt, toto_3.txt.
Que se passe t’il si l’on y concatène la chaîne ‘toto_10.txt’?
46
Opérateurs relationnels et logiques
Dr. Keang Sè POUV
Opérateurs relationnels
< strictement inférieur
> strictement supérieur
<= inférieur ou égal
>= supérieur ou égal
== égal
~= différent (non égal)
Exemples :
>> 2>3
ans =
0
>> 3>1
ans =
1
NB:
Valeur logique 0 = Faux
Valeur logique 1 = Vrai
47
Opérateurs relationnels et logiques
Dr. Keang Sè POUV
Opérateurs relationnels
Exemples :
>> a=magic(4)
a =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
>> b=repmat(magic(2),2,2)
b =
1 3 1 3
4 2 4 2
1 3 1 3
4 2 4 2
>> a==b
ans =
0 0 0 0
0 0 0 0
0 0 0 0
1 0 0 0
>> a<=b
ans =
0 1 0 0
0 0 0 0
0 0 0 0
1 0 0 1
48
Opérateurs relationnels et logiques
Dr. Keang Sè POUV
Opérateurs logiques
& : logique AND
| : logique OR
Exemples :
>> a=3;
>> b=6;
>> a>2 & b>3
ans =
1
>> a>4 | b<5
ans =
0
>> x=[1 2 4];
>> y=[3 4 5];
>> x>0 & y<4
ans =
1 0 0
>> x>0 | y<4
ans =
1 1 1
49
Opérateurs relationnels et logiques
Dr. Keang Sè POUV
Opérateurs logiques
~ : logique NON
xor : logique EXCLUSIVE OR
Exemples :
>> a=[1 0 4];
>> b=~a (~a = not(a))
b =
0 1 0
>> x=5;
>> y=12;
>> xor(x>4,y<16)
ans =
0
>> xor(x>5,y<16)
ans =
1
xor : The result is logical 1 (TRUE) where either S or T, but not both, is nonzero.
50
Fonctions prédéfinies
Dr. Keang Sè POUV
Fonctions trigonométriques de base
Exemples :
>> sin(pi/2)
ans =
1
>> asin(1)*180/pi
ans =
90
>> sinh(0)
ans =
0
>> cosh(0)
ans =
1
sin cos tan asin acos atan
sihh cosh tanh asinh acosh atanh
51
Fonctions prédéfinies
Dr. Keang Sè POUV
Fonctions mathématiques de base
Exemples :
>> exp(1)
ans =
2.7183
>> log2(4)
ans =
2
>> sqrt(100)
ans =
10
>> log(exp(5))
ans =
5
exp
exponentiel
log
logarithme à
base e
log10
logarithme à
base 10
log2
logarithme à
base 2
pow2
puissance 2
sqrt
racine carrée
52
Fonctions prédéfinies
Dr. Keang Sè POUV
Fonctions mathématiques de base
Exemples :
>> A=[2 1.2 -4.5 8];
>> a=min(A)
a =
-4.5000
>> round(A)
ans =
2 1 -5 8
>> fix(A)
ans =
2 1 -4 8
min
valeur
minimale
max
valeur
maximale
mean
valeur
moyenne
std
écart type
cov
covariance
sum
somme
round
arrondir
fix
arrondir (vers
zéro)
floor
arrondir (vers -
∞)
ceil
arrondir (vers
∞)
rem
reste
mod
module
>> mean(A)
ans =
1.6750
>> sum(A)
ans =
6.7000
>> cov(A)
ans =
26.1558
53
Fonctions prédéfinies
Dr. Keang Sè POUV
Fonctions mathématiques de base
rem : reste de la division
rem(x,y) est x-n*y où n=fix(x./y) si y~=0 (x et y ont les mêmes dimensions)
rem(x,0) est x
rem(x,y) a la même signe que x
rem(x,y)=mod(x,y) si x et y ont la même signe
mod : module après division
mod(x,y) est x-n*y où n=floor(x./y) si y~=0 (x et y ont les mêmes dimensions)
mod(x,0) est x
mod(x,y) a la même signe que y
Exemples :
>> rem(9,-3.5)
ans =
2
>> rem(9,3.5)
ans =
2
>> rem(-10,3)
ans =
-1
>> mod(9,-3.5)
ans =
-1.5000
>> mod(9,3.5)
ans =
2
>> mod(-10,3)
ans =
2
54
Fonctions prédéfinies
Dr. Keang Sè POUV
Fonctions mathématiques de base
Exemples :
>> M=[1 4; 4 1]
M =
1 4
4 1
>> inv(M)
ans =
-0.0667 0.2667
0.2667 -0.0667
>> transpose(M)
ans =
1 4
4 1
inv
inversion de
matrice carrée
transpose
transposition
de matrice
det
déterminant de
matrice
size
dimension de
matrice
rank
rang de
matrice
>> det(M)
ans =
-15
>> rank(M)
ans =
2
>> [i j]=size(M)
i =
2
j =
2
55
Fonctions prédéfinies
Dr. Keang Sè POUV
Fonctions mathématiques de base
Exemples :
>> M=magic(3)
M =
8 1 6
3 5 7
4 9 2
>> sum(M)
ans =
15 15 15
>> cumsum(M)
ans =
8 1 6
11 6 13
15 15 15
sum
somme des
éléments
cumsum
somme
cumulative
prod
produit des
éléments
cumprod
produit
cumulative
norm
norme matrice
ou vecteur
>> P=prod(M)
P =
96 45 84
>> normM=sqrt(sum(P))
normM =
15
>> norm(M)
ans =
15.0000
>> cumprod(M)
ans =
8 1 6
24 5 42
96 45 84
56
Fonctions prédéfinies
Dr. Keang Sè POUV
Exercices
Exercice 9 :
1. Déterminer les valeurs arrondies de x, y, z et t en degré à partir des
équations suivantes : sin(2x2)=0.4; cos(y3)=0.5; tan(z/1.4)=2; t=3ln(xyz).
2. Déterminer la moyenne arithmétique entre les valeurs de x, y et z.
Exercice 10 :
On a une matrice M suivante :
M =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
1. Supprimer la troisième colonne de la matrice M.
2. Supprimer la dernière ligne de la matrice M.
3. Déterminer les dimensions m et n de la nouvelle matrice M.
4. Déterminer le déterminant de la nouvelle matrice M.

Mais conteúdo relacionado

Mais procurados

Exercices corrigés sur le gradateur triphasé
 Exercices corrigés sur le gradateur triphasé Exercices corrigés sur le gradateur triphasé
Exercices corrigés sur le gradateur triphasémorin moli
 
Transfer de chaleur exercice corriger
Transfer de chaleur exercice corriger Transfer de chaleur exercice corriger
Transfer de chaleur exercice corriger ChennoufHalim
 
Exercices sur-python-turtle-corrige
Exercices sur-python-turtle-corrigeExercices sur-python-turtle-corrige
Exercices sur-python-turtle-corrigeWajihBaghdadi1
 
Devoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 siDevoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 siNarûtö Bàl'Sèm
 
Fiche de TP 4 sur les bases de données avec les SGBD(Système de Gestion des B...
Fiche de TP 4 sur les bases de données avec les SGBD(Système de Gestion des B...Fiche de TP 4 sur les bases de données avec les SGBD(Système de Gestion des B...
Fiche de TP 4 sur les bases de données avec les SGBD(Système de Gestion des B...ATPENSC-Group
 
Slides_Choppers_2022.pdf
Slides_Choppers_2022.pdfSlides_Choppers_2022.pdf
Slides_Choppers_2022.pdfmouadbouaicha
 
Fiche de TP 3 sur les bases de données avec les SGBD(Système de Gestion des B...
Fiche de TP 3 sur les bases de données avec les SGBD(Système de Gestion des B...Fiche de TP 3 sur les bases de données avec les SGBD(Système de Gestion des B...
Fiche de TP 3 sur les bases de données avec les SGBD(Système de Gestion des B...ATPENSC-Group
 
Exercices gestion financière et choix d’investissement en avenir certain
Exercices gestion financière et choix d’investissement en avenir certain Exercices gestion financière et choix d’investissement en avenir certain
Exercices gestion financière et choix d’investissement en avenir certain Lotfi TALEB, ESSECT
 
Lecture 3: Visualization and Programming
Lecture 3: Visualization and ProgrammingLecture 3: Visualization and Programming
Lecture 3: Visualization and ProgrammingSmee Kaem Chann
 
Cours Algorithme: Matrice
Cours Algorithme: MatriceCours Algorithme: Matrice
Cours Algorithme: MatriceInforMatica34
 
TPs-TDs : Travaux Pratiques & Dérigés (version 2014-2017) Génie Electrique/Ex...
TPs-TDs : Travaux Pratiques & Dérigés (version 2014-2017) Génie Electrique/Ex...TPs-TDs : Travaux Pratiques & Dérigés (version 2014-2017) Génie Electrique/Ex...
TPs-TDs : Travaux Pratiques & Dérigés (version 2014-2017) Génie Electrique/Ex...Mohammed TAMALI
 
Limites classiques de toutes les fonctions 4
Limites classiques de toutes les fonctions 4Limites classiques de toutes les fonctions 4
Limites classiques de toutes les fonctions 4ulrich loemba
 
Comptabilite generale + les operations courante exercices et corriges 1
Comptabilite generale + les operations courante exercices et corriges 1Comptabilite generale + les operations courante exercices et corriges 1
Comptabilite generale + les operations courante exercices et corriges 1K. Badre
 
Support de cours ACCESS
Support de cours ACCESSSupport de cours ACCESS
Support de cours ACCESSChingongou ­
 
Les algorithmes d'arithmetique
Les algorithmes d'arithmetiqueLes algorithmes d'arithmetique
Les algorithmes d'arithmetiquemohamed_SAYARI
 
CHAPITRE 1 CONTRAINTES ET DEFORMATIONS.docx
CHAPITRE 1 CONTRAINTES ET DEFORMATIONS.docxCHAPITRE 1 CONTRAINTES ET DEFORMATIONS.docx
CHAPITRE 1 CONTRAINTES ET DEFORMATIONS.docxRaoulGakeBelle
 
Automatisme) www.cours-online.com
Automatisme) www.cours-online.comAutomatisme) www.cours-online.com
Automatisme) www.cours-online.commorin moli
 
Corrige exercices pascal_fenni_2018
Corrige exercices pascal_fenni_2018Corrige exercices pascal_fenni_2018
Corrige exercices pascal_fenni_2018salah fenni
 

Mais procurados (20)

Exercices corrigés sur le gradateur triphasé
 Exercices corrigés sur le gradateur triphasé Exercices corrigés sur le gradateur triphasé
Exercices corrigés sur le gradateur triphasé
 
Transfer de chaleur exercice corriger
Transfer de chaleur exercice corriger Transfer de chaleur exercice corriger
Transfer de chaleur exercice corriger
 
Exercices sur-python-turtle-corrige
Exercices sur-python-turtle-corrigeExercices sur-python-turtle-corrige
Exercices sur-python-turtle-corrige
 
Tp3 matlab
Tp3 matlabTp3 matlab
Tp3 matlab
 
Devoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 siDevoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 si
 
Fiche de TP 4 sur les bases de données avec les SGBD(Système de Gestion des B...
Fiche de TP 4 sur les bases de données avec les SGBD(Système de Gestion des B...Fiche de TP 4 sur les bases de données avec les SGBD(Système de Gestion des B...
Fiche de TP 4 sur les bases de données avec les SGBD(Système de Gestion des B...
 
Tp4 matlab
Tp4 matlabTp4 matlab
Tp4 matlab
 
Slides_Choppers_2022.pdf
Slides_Choppers_2022.pdfSlides_Choppers_2022.pdf
Slides_Choppers_2022.pdf
 
Fiche de TP 3 sur les bases de données avec les SGBD(Système de Gestion des B...
Fiche de TP 3 sur les bases de données avec les SGBD(Système de Gestion des B...Fiche de TP 3 sur les bases de données avec les SGBD(Système de Gestion des B...
Fiche de TP 3 sur les bases de données avec les SGBD(Système de Gestion des B...
 
Exercices gestion financière et choix d’investissement en avenir certain
Exercices gestion financière et choix d’investissement en avenir certain Exercices gestion financière et choix d’investissement en avenir certain
Exercices gestion financière et choix d’investissement en avenir certain
 
Lecture 3: Visualization and Programming
Lecture 3: Visualization and ProgrammingLecture 3: Visualization and Programming
Lecture 3: Visualization and Programming
 
Cours Algorithme: Matrice
Cours Algorithme: MatriceCours Algorithme: Matrice
Cours Algorithme: Matrice
 
TPs-TDs : Travaux Pratiques & Dérigés (version 2014-2017) Génie Electrique/Ex...
TPs-TDs : Travaux Pratiques & Dérigés (version 2014-2017) Génie Electrique/Ex...TPs-TDs : Travaux Pratiques & Dérigés (version 2014-2017) Génie Electrique/Ex...
TPs-TDs : Travaux Pratiques & Dérigés (version 2014-2017) Génie Electrique/Ex...
 
Limites classiques de toutes les fonctions 4
Limites classiques de toutes les fonctions 4Limites classiques de toutes les fonctions 4
Limites classiques de toutes les fonctions 4
 
Comptabilite generale + les operations courante exercices et corriges 1
Comptabilite generale + les operations courante exercices et corriges 1Comptabilite generale + les operations courante exercices et corriges 1
Comptabilite generale + les operations courante exercices et corriges 1
 
Support de cours ACCESS
Support de cours ACCESSSupport de cours ACCESS
Support de cours ACCESS
 
Les algorithmes d'arithmetique
Les algorithmes d'arithmetiqueLes algorithmes d'arithmetique
Les algorithmes d'arithmetique
 
CHAPITRE 1 CONTRAINTES ET DEFORMATIONS.docx
CHAPITRE 1 CONTRAINTES ET DEFORMATIONS.docxCHAPITRE 1 CONTRAINTES ET DEFORMATIONS.docx
CHAPITRE 1 CONTRAINTES ET DEFORMATIONS.docx
 
Automatisme) www.cours-online.com
Automatisme) www.cours-online.comAutomatisme) www.cours-online.com
Automatisme) www.cours-online.com
 
Corrige exercices pascal_fenni_2018
Corrige exercices pascal_fenni_2018Corrige exercices pascal_fenni_2018
Corrige exercices pascal_fenni_2018
 

Destaque

JulieBookman-ResumeJuly2016
JulieBookman-ResumeJuly2016JulieBookman-ResumeJuly2016
JulieBookman-ResumeJuly2016Julie Bookman
 
Resume cp general 03.07.2015
Resume cp general 03.07.2015Resume cp general 03.07.2015
Resume cp general 03.07.2015Cathy Pace
 
Resume 11-2015 (Andrew Fristoe)
Resume 11-2015 (Andrew Fristoe)Resume 11-2015 (Andrew Fristoe)
Resume 11-2015 (Andrew Fristoe)Andrew Fristoe
 
Chapitre 2 potentiel électrostatique
Chapitre 2  potentiel électrostatiqueChapitre 2  potentiel électrostatique
Chapitre 2 potentiel électrostatiquecoursuniv
 
green building concept
green building conceptgreen building concept
green building conceptAVDHUT PALANDE
 

Destaque (7)

JulieBookman-ResumeJuly2016
JulieBookman-ResumeJuly2016JulieBookman-ResumeJuly2016
JulieBookman-ResumeJuly2016
 
yourprezi
yourpreziyourprezi
yourprezi
 
Resume cp general 03.07.2015
Resume cp general 03.07.2015Resume cp general 03.07.2015
Resume cp general 03.07.2015
 
Resume 11-2015 (Andrew Fristoe)
Resume 11-2015 (Andrew Fristoe)Resume 11-2015 (Andrew Fristoe)
Resume 11-2015 (Andrew Fristoe)
 
Chapitre 2 potentiel électrostatique
Chapitre 2  potentiel électrostatiqueChapitre 2  potentiel électrostatique
Chapitre 2 potentiel électrostatique
 
Tp 1 introduction à matlab
Tp 1 introduction à matlabTp 1 introduction à matlab
Tp 1 introduction à matlab
 
green building concept
green building conceptgreen building concept
green building concept
 

Semelhante a Slide matlab

Mat lab1
Mat lab1Mat lab1
Mat lab1fouadDD
 
Ch8 correction exercices (1)
Ch8 correction exercices (1)Ch8 correction exercices (1)
Ch8 correction exercices (1)abdellah12
 
Introduction à MATLAB et Simulink.pdf
Introduction à MATLAB et Simulink.pdfIntroduction à MATLAB et Simulink.pdf
Introduction à MATLAB et Simulink.pdfTarakBenslimane
 
Introduction à MATLAB et Simulink.pdf
Introduction à MATLAB et Simulink.pdfIntroduction à MATLAB et Simulink.pdf
Introduction à MATLAB et Simulink.pdfTarakBenslimane
 
Ex determ
Ex determEx determ
Ex determbades12
 
Introduction a Matlab Introduction a Matlab
Introduction a Matlab Introduction a MatlabIntroduction a Matlab Introduction a Matlab
Introduction a Matlab Introduction a MatlabMarouaneMyyara2
 
Les Fonctions de référence.pptx
Les Fonctions de référence.pptxLes Fonctions de référence.pptx
Les Fonctions de référence.pptxrezgui10
 
Support matlab st
Support matlab stSupport matlab st
Support matlab stN NASRI
 
Ebook matlab
Ebook matlabEbook matlab
Ebook matlabN NASRI
 
Cours analyse-num source1
Cours analyse-num source1Cours analyse-num source1
Cours analyse-num source1Lacina Zina
 
Corrigé TD chapitre I.pptx
Corrigé TD chapitre I.pptxCorrigé TD chapitre I.pptx
Corrigé TD chapitre I.pptxMidoxotk
 
01_LES_TENSEURS.pdf
01_LES_TENSEURS.pdf01_LES_TENSEURS.pdf
01_LES_TENSEURS.pdfNSANGOU1
 
Calcul scientifique avec python Numpy
Calcul scientifique avec python NumpyCalcul scientifique avec python Numpy
Calcul scientifique avec python NumpyHaytam EL YOUSSFI
 

Semelhante a Slide matlab (20)

Matlab by Prof.Keang Sè Pouv
Matlab by Prof.Keang Sè PouvMatlab by Prof.Keang Sè Pouv
Matlab by Prof.Keang Sè Pouv
 
Matlab
MatlabMatlab
Matlab
 
Mat lab1
Mat lab1Mat lab1
Mat lab1
 
Ch8 correction exercices (1)
Ch8 correction exercices (1)Ch8 correction exercices (1)
Ch8 correction exercices (1)
 
Introduction à MATLAB et Simulink.pdf
Introduction à MATLAB et Simulink.pdfIntroduction à MATLAB et Simulink.pdf
Introduction à MATLAB et Simulink.pdf
 
Introduction à MATLAB et Simulink.pdf
Introduction à MATLAB et Simulink.pdfIntroduction à MATLAB et Simulink.pdf
Introduction à MATLAB et Simulink.pdf
 
Initiation r
Initiation rInitiation r
Initiation r
 
courstic2.pptx
courstic2.pptxcourstic2.pptx
courstic2.pptx
 
Ex determ
Ex determEx determ
Ex determ
 
Introduction a Matlab Introduction a Matlab
Introduction a Matlab Introduction a MatlabIntroduction a Matlab Introduction a Matlab
Introduction a Matlab Introduction a Matlab
 
cours algorithme
cours algorithmecours algorithme
cours algorithme
 
algo-imsi-2.pdf
algo-imsi-2.pdfalgo-imsi-2.pdf
algo-imsi-2.pdf
 
Les Fonctions de référence.pptx
Les Fonctions de référence.pptxLes Fonctions de référence.pptx
Les Fonctions de référence.pptx
 
Support matlab st
Support matlab stSupport matlab st
Support matlab st
 
Ebook matlab
Ebook matlabEbook matlab
Ebook matlab
 
Td logique
Td logiqueTd logique
Td logique
 
Cours analyse-num source1
Cours analyse-num source1Cours analyse-num source1
Cours analyse-num source1
 
Corrigé TD chapitre I.pptx
Corrigé TD chapitre I.pptxCorrigé TD chapitre I.pptx
Corrigé TD chapitre I.pptx
 
01_LES_TENSEURS.pdf
01_LES_TENSEURS.pdf01_LES_TENSEURS.pdf
01_LES_TENSEURS.pdf
 
Calcul scientifique avec python Numpy
Calcul scientifique avec python NumpyCalcul scientifique avec python Numpy
Calcul scientifique avec python Numpy
 

Mais de Smee Kaem Chann

Matlab_Prof Pouv Keangsé
Matlab_Prof Pouv KeangséMatlab_Prof Pouv Keangsé
Matlab_Prof Pouv KeangséSmee Kaem Chann
 
Travaux Pratique Matlab + Corrige_Smee Kaem Chann
Travaux Pratique Matlab + Corrige_Smee Kaem ChannTravaux Pratique Matlab + Corrige_Smee Kaem Chann
Travaux Pratique Matlab + Corrige_Smee Kaem ChannSmee Kaem Chann
 
New Interchange 3ed edition Vocabulary unit 8
New Interchange 3ed edition Vocabulary unit 8 New Interchange 3ed edition Vocabulary unit 8
New Interchange 3ed edition Vocabulary unit 8 Smee Kaem Chann
 
The technologies of building resists the wind load and earthquake
The technologies of building resists the wind load and earthquakeThe technologies of building resists the wind load and earthquake
The technologies of building resists the wind load and earthquakeSmee Kaem Chann
 
Devoir d'électricite des bêtiment
Devoir d'électricite des bêtimentDevoir d'électricite des bêtiment
Devoir d'électricite des bêtimentSmee Kaem Chann
 
Rapport topographie 2016-2017
Rapport topographie 2016-2017  Rapport topographie 2016-2017
Rapport topographie 2016-2017 Smee Kaem Chann
 
Case study: Probability and Statistic
Case study: Probability and StatisticCase study: Probability and Statistic
Case study: Probability and StatisticSmee Kaem Chann
 

Mais de Smee Kaem Chann (20)

stress-and-strain
stress-and-strainstress-and-strain
stress-and-strain
 
Robot khmer engineer
Robot khmer engineerRobot khmer engineer
Robot khmer engineer
 
15 poteau-2
15 poteau-215 poteau-2
15 poteau-2
 
14 poteau-1
14 poteau-114 poteau-1
14 poteau-1
 
12 plancher-Eurocode 2
12 plancher-Eurocode 212 plancher-Eurocode 2
12 plancher-Eurocode 2
 
Matlab_Prof Pouv Keangsé
Matlab_Prof Pouv KeangséMatlab_Prof Pouv Keangsé
Matlab_Prof Pouv Keangsé
 
Vocabuary
VocabuaryVocabuary
Vocabuary
 
Journal de bord
Journal de bordJournal de bord
Journal de bord
 
8.4 roof leader
8.4 roof leader8.4 roof leader
8.4 roof leader
 
Rapport de stage
Rapport de stage Rapport de stage
Rapport de stage
 
Travaux Pratique Matlab + Corrige_Smee Kaem Chann
Travaux Pratique Matlab + Corrige_Smee Kaem ChannTravaux Pratique Matlab + Corrige_Smee Kaem Chann
Travaux Pratique Matlab + Corrige_Smee Kaem Chann
 
Td triphasé
Td triphaséTd triphasé
Td triphasé
 
Tp2 Matlab
Tp2 MatlabTp2 Matlab
Tp2 Matlab
 
Cover matlab
Cover matlabCover matlab
Cover matlab
 
New Interchange 3ed edition Vocabulary unit 8
New Interchange 3ed edition Vocabulary unit 8 New Interchange 3ed edition Vocabulary unit 8
New Interchange 3ed edition Vocabulary unit 8
 
The technologies of building resists the wind load and earthquake
The technologies of building resists the wind load and earthquakeThe technologies of building resists the wind load and earthquake
The technologies of building resists the wind load and earthquake
 
Devoir d'électricite des bêtiment
Devoir d'électricite des bêtimentDevoir d'électricite des bêtiment
Devoir d'électricite des bêtiment
 
Rapport topographie 2016-2017
Rapport topographie 2016-2017  Rapport topographie 2016-2017
Rapport topographie 2016-2017
 
Case study: Probability and Statistic
Case study: Probability and StatisticCase study: Probability and Statistic
Case study: Probability and Statistic
 
Hydrologie générale
Hydrologie générale Hydrologie générale
Hydrologie générale
 

Slide matlab

  • 1. MATLAB Dr. Keang Sè POUV Phnom Penh Printemps, 2015 Institut de Technologie du Cambodge
  • 2. 2 Introduction Dr. Keang Sè POUV Qu’est ce que MATLAB ? Développé par la société The MathWorks, Matlab (Matrix Laboratory) est un langage de programmation adapté pour les problèmes scientifiques. MATLAB est un interpréteur de commandes: les instructions sont interprétées et exécutées ligne par ligne (pas de compilation avant de les exécuter). Modes de fonctionnement 1. mode interactif: MATLAB exécute les instructions au fur et à mesure qu'elles sont données par l'usager. 2. mode exécutif: MATLAB exécute ligne par ligne un fichier ".m" (programme en langage MATLAB). Les avantages : - Facilité d’utilisation, prise en main rapide - Existence de toolboxes utiles pour l’ingénieur - Possibilité de l’interfacer avec d’autres langages (C, C++, Fortran) - Permet de faire du calcul parallèle. Désavantages : - Limitation en mémoire - Payant
  • 3. 3 Premières notions Dr. Keang Sè POUV Lancement de MATLAB Current Folder: Liste de fichiers Command Window: Fenêtre principale pour l'exécution des instructions Workspace: Contenu des variables Command History: Historique des commandes
  • 4. 4 Premières notions Dr. Keang Sè POUV Documentation MATLAB • Commande Help Exemple : pour avoir de la documentation sur la commande plot >> help plot • Pour une documentation plus complète : Help/Documentation
  • 5. 5 Premières notions Dr. Keang Sè POUV Ligne de commande, mode immédiat Il y a deux types de commande : 1. Expression : formule permettant de calculer immédiatement un résultat Exemples d’expressions : Tous les éléments de l’expression doivent être connus au moment de son évaluation par l’interpréteur. 2. Instruction : ensemble structuré d’expressions Exemples d’instructions : Remarque : le point-virgule (;) est un inhibiteur d’affichage.
  • 6. 6 Premières notions Dr. Keang Sè POUV Nombres Les nombres réels peuvent être sous différents formats : 2 -1.0235 0.5124E-12 25.61e6 0.001234 Les nombres complexes peuvent être écrits sous forme cartésienne ou polaire : Forme cartésienne : 0.5+i*2.7 -1.2+j*0.163 2.5+6.8i Forme polaire : 1.25*exp(j*0.142) Formats d’affichage Pour choisir le format d’affichage pour les nombres, on utilise l’instruction format : format défaut (même que format short) format short 0.1234 format long 0.12345678901234 format short e 1.2345E+002 format long e 0.123456789012345E+002 format hex ABCDEF0123456789
  • 7. 7 Premières notions Dr. Keang Sè POUV Opérations arithmétiques + Addition - Soustraction * Multiplication / Division à droite Division à gauche ^ Puissance Exemples : >> format short >> 3.5+1.2 ans = 4.7000 >> 102 ans = 0.2000 >> 3^2+0.4*10 ans = 13
  • 8. 8 Matrices Dr. Keang Sè POUV Définitions - Matrice : Tableau rectangulaire (m lignes et n colonnes) - Vecteur : Matrice comportant 1 ligne et plusieurs colonnes) - Scalaire : Matrice comportant 1 ligne et 1 colonne Sous Matlab, les données sont généralement définies comme des matrices, i.e. des tableaux à 1, 2 … n dimensions. On ne considérera ici que des tableaux à 1 ou 2 dimensions. Exemples : >> A=224 (on définit une variable A correspondant à une matrice à A = 1 ligne et 1 colonne contenant le nombre 224) 224 >> B=[12 15 138] (on définit une variable B correspondant à une matrice à B = 1 ligne et 3 colonnes. Les espaces ou les virgules , entre 12 15 138 les nombres permettent de délimiter les colonnes.) >> C=[1,13,24] C = 1 13 24
  • 9. 9 Matrices Dr. Keang Sè POUV Définitions Exemples : >> D=[1 3 4; 7 2 5] (on définit une matrice D à 2 lignes et 3 colonnes. Les D = caractères ; permettent de passer à la ligne) 1 3 4 7 2 5 >> E=[1 3] E = 1 3 >> F=[2 8] F = 2 8 >> G=[E F] (concaténation les varaibles E et F en une seule) G = 1 3 2 8 >> H=[E;F] H = 1 3 2 8
  • 10. 10 Matrices Dr. Keang Sè POUV Variables scalaires • Définition des variables >> a = 2 ; >> b = 2.5 ; >> c = a * b ; • Liste des variables : commande who >> a = 2 ; ---- Définition des variables a et b >> b = 5 ; >> who ---- a b • Suppression des variables : commande clear >> clear a ---- Supprime la variable a >> clear all ---- Supprime toutes les variables • Variables (constantes prédéfinies) : pi, 1i
  • 11. 11 Matrices Dr. Keang Sè POUV Eléments d’une matrice Chaque élément d'une matrice est accessible à condition de spécifier sa place dans la matrice. Pour cela, il suffit de donner le numéro de ligne et de colonne entre (). Exemples : >> A=[1 5 2 6]; >> A(1,2) ans = 5 >> A(2) (car la matrice A ne contient qu’une seule ligne) ans = 5 >> B=[1 5 6; 2 3 4]; (la variable end permet de récupérer le dernier élément.) >> B(2,2) ans = 3 >> B(end) ans = 4
  • 12. 12 Matrices Dr. Keang Sè POUV Eléments d’une matrice Pour récupérer plusieurs éléments d'une matrice, il suffit de préciser l'ensemble des numéros de lignes et de colonnes des éléments à prélever. En particulier, pour récupérer l'ensemble des éléments d'une ligne ou d'une colonne on utilise le caractère ' :'. Exemples : >> A=[1 2 4 0; 3 -2 6 8; 1 -3 5 4; 0 2 4 5]; >> A A = 1 2 4 0 3 -2 6 8 1 -3 5 4 0 2 4 5 >> A(2,[1 2]) ans = 3 -2 >> A(3,:) ans = 1 -3 5 4
  • 13. 13 Matrices Dr. Keang Sè POUV Eléments d’une matrice >> A(:,2) ans = 2 -2 -3 2 >> A([1 3],[1 3]) ans = 1 4 1 5 >> A([1:3],[1:3]) ans = 1 2 4 3 -2 6 1 -3 5
  • 14. 14 Matrices Dr. Keang Sè POUV Tailles d’un vecteur, dimension d’une matrice
  • 15. 15 Matrices Dr. Keang Sè POUV Création et construction de vecteurs
  • 16. 16 Matrices Dr. Keang Sè POUV Création et construction de matrices Les fonctions ones, eye, zeros, et rand créent des matrices avec des remplissages divers. ones : matrice des uns eye : matrice d’identité zeros : matrice des zéros rand : matrice des chiffres aléatoires diag : matrice diagonale magic : matrice carré Exemples :
  • 17. 17 Matrices Dr. Keang Sè POUV Création et construction de matrices Exemples : >> zeros(3,3) ans = 0 0 0 0 0 0 0 0 0 >> A=rand(3,2) A = 0.8147 0.9134 0.9058 0.6324 0.1270 0.0975 >> B=rand(3,2) B = 0.2785 0.9649 0.5469 0.1576 0.9575 0.9706
  • 18. 18 Matrices Dr. Keang Sè POUV Création et construction de matrices Exemples : >> A=[1 2 3 4] A = 1 2 3 4 >> diag(A) (application de diag à un vecteur) ans = 1 0 0 0 0 2 0 0 0 0 3 0 0 0 0 4 >> B=[1 2 3 4; 5 6 7 8; 9 10 11 12] B = 1 2 3 4 5 6 7 8 9 10 11 12 >> diag(B) (application de diag à une matrice) ans = 1 6 11
  • 19. 19 Matrices Dr. Keang Sè POUV Création et construction de matrices Les crochets carrés [], et la fonction repmat permettent d’empiler les matrices Exemples :
  • 20. 20 Matrices Dr. Keang Sè POUV Création et construction de matrices reshape : changement de la dimension de la matrice Exemples : >> A=[1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16] A = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 >> reshape(A,1,16) ans = 1 5 9 13 2 6 10 14 3 7 11 15 4 8 12 16 >> reshape(A,2,8) ans = 1 9 2 10 3 11 4 12 5 13 6 14 7 15 8 16 m x n : dimension initiale de la matrice A p x q : nouvelle dimension de la matrice A (p x q = m x n), reshape(A,p,q)
  • 21. 21 Matrices Dr. Keang Sè POUV Opérations sur les matrices Opérateurs arithmétiques logiques termes à termes +, - addition et soustraction .*, ./ multiplication et divisions termes à termes .^ puissance terme à terme Exemples : >> A=[2 5 0]; >> B=[1 2 3]; >> A+B ans = 3 7 3 >> A-B ans = 1 3 -3 >> A.*B ans = 2 10 0 >> A./B ans = 2.0000 2.5000 0 >> A.^B ans = 2 25 0
  • 22. 22 Matrices Dr. Keang Sè POUV Opérations sur les matrices Opérateurs algébriques * multiplication matricielle ^ puissance /, résolution de systèmes linéaires Exemples : >> a=[2 1 1; 1 3 2]; >> b=[0 6; 1 5; 4 1]; >> a*b ans = 5 18 (2*0+1*1+1*4=5, 2*6+1*5+1*1=18, 11 23 (1*0+3*1+2*4=11, 1*6+3*5+2*1=23) >> b*a ans = 6 18 12 7 16 11 9 7 6 Note : a(m,n)*b(n,p)=c(m,p)
  • 23. 23 Matrices Dr. Keang Sè POUV Exemples : >> A=[2 4; 1 1]; >> A^2 ans = 8 12 3 5 Note : a(m,m)^i=A(m,m) (matrice carrée m x m) >> A=[2 4; 1 1]; >> B=[1 0; 2 1]; >> A/B (=A*B-1, inv(B)=B-1) ans = -6 4 -1 1 >> AB (=A-1*B) ans = 3.5000 2.0000 -1.5000 -1.0000 Note : A(m,n)/B(n,n)=C(m,n), A(m,m)B(m,n)=D(m,n)
  • 24. 24 Matrices Dr. Keang Sè POUV Opérateurs de transposition Exemples : >> a=[1 2; 9 3] a = 1 2 9 3 >> a' ans = 1 9 2 3 >> a.' ans = 1 9 2 3
  • 25. 25 Matrices Dr. Keang Sè POUV Nombres complexes real : partie réelle imag : partie imaginaire abs : valeur absolue ou module conj : conjugé Exemples : >> a=3-4i; >> real(a) ans = 3 >> imag(a) ans = -4 >> abs(a) >> abs(-20) ans = ans = 5 20 >> conj(a) ans = 3.0000 + 4.0000i
  • 26. 26 Matrices Dr. Keang Sè POUV Nombres complexes angle : phase angle (entre -π et π) r = abs(z) phi = angle(z) z = |z|.*exp(i*arg(z)) = r.*exp(i*phi) Exemples : >> angle(3) ans = 0 >> angle(1) ans = 0 >> angle(-0.5) ans = 3.1416 >> angle(-1) ans = 3.1416
  • 27. 27 Matrices Dr. Keang Sè POUV Nombres complexes >> z=[1-1i 1i 2+2i; 3-2i 1+1i -1i; 4+2i -2+1i 2i] >> angle(z) ans = -0.7854 1.5708 0.7854 -0.5880 0.7854 -1.5708 0.4636 2.6779 1.5708 >> angle(z)*180/pi ans = -45.0000 90.0000 45.0000 -33.6901 45.0000 -90.0000 26.5651 153.4349 90.0000 Note: angle(a+bi)=arctan(b/a)*pi/180 (argument d’un complexe)
  • 28. 28 Matrices Dr. Keang Sè POUV Constantes spéciales ans : dernier résultat de calcul inf : infini NaN : Not a Number, résultat d’un calcul indéfini pi : constante π Exemples : >> 2/0 ans = Inf >> 0/0 ans = NaN >> pi ans = 3.1416 >> 2*pi ans = 6.2832
  • 29. 29 Matrices Dr. Keang Sè POUV Transformations de matrices fliplr : Flip matrix in left/right direction. fliplr(X) returns X with row preserved and columns flipped in the left/right direction. Exemples : >> A=[1 2 3; 4 5 6] A = 1 2 3 4 5 6 >> fliplr(A) ans = 3 2 1 6 5 4
  • 30. 30 Matrices Dr. Keang Sè POUV Transformations de matrices flipud : Flip matrix in up/down direction. flipud(X) returns X with columns preserved and rows flipped in the up/down direction. Exemples : >> A=[1 4; 2 5; 3 6] A = 1 4 2 5 3 6 >> flipud(A) ans = 3 6 2 5 1 4
  • 31. 31 Matrices Dr. Keang Sè POUV Transformations de matrices rot90 : Rotate matrix 90 degrees. rot90(A) is the 90 degree counter-clockwise rotation of matrix A. Exemples : >> A=[1 2 3; 4 5 6] A = 1 2 3 4 5 6 >> rot90(A) ans = 3 6 2 5 1 4
  • 32. 32 Matrices Dr. Keang Sè POUV Transformations de matrices tril : Extract lower triangular part. >> X=[1 2 3 4; 5 6 7 8] X = 1 2 3 4 5 6 7 8 >> tril(X) ans = 1 0 0 0 5 6 0 0 >> Y=[1 2 3; 4 5 6; 7 8 9] Y = 1 2 3 4 5 6 7 8 9 >> tril(Y) ans = 1 0 0 4 5 0 7 8 9
  • 33. 33 Matrices Dr. Keang Sè POUV Transformations de matrices triu : Extract upper triangular part. >> X=[1 2 3 4; 5 6 7 8] X = 1 2 3 4 5 6 7 8 >> triu(X) ans = 1 2 3 4 0 6 7 8 >> Y=[1 2 3; 4 5 6; 7 8 9] Y = 1 2 3 4 5 6 7 8 9 >> triu(Y) ans = 1 2 3 0 5 6 0 0 9
  • 34. 34 Matrices Dr. Keang Sè POUV Exercices Exercice 1 : La formule permettant de calculer rapidement la valeur de la somme des n premiers entiers naturels est la suivante : sn=1+2+3+…+n=n(n+1)/2. Vérifier cette formule pour différentes valeurs de n : n=100, n=100 000. Exercice 2 : 1. Générer un vecteur x à 1 ligne et 30 colonnes rempli de 3 en utilisant la fonction ones(). 2. Calculer la somme cumulée de x (fonction cumsum()) et l’affecter à la variable y. 3. Prélever un échantillon sur 9 de y et placer ces échantillons dans un vecteur z. Exercice 3 : 1. Générer un vecteur x à 1 colonne et 1000 lignes rempli de nombre aléatoires distribués uniformément entre 0 et 1 en utilisant la fonction rand(). 2. Calculer la moyenne et l’écart type du vecteur x en utilisant mean() et std().
  • 35. 35 Matrices Dr. Keang Sè POUV Exercices Exercice 4 : Résoudre les systèmes AX=b et AY=b+δb Exercice 5 : On a : M=[1 4 7 -2; 3 5 10 0; 8 2 4 1; -2 4 5 1]; En utilisant la matrice d’identité, vérifier que : M-1=[0.0628 -0.0921 0.1464 -0.0209 0.4310 -0.6987 0.3389 0.5230 -0.2343 0.4770 -0.2134 -0.2552 -0.4268 0.2259 0.0042 0.1423]
  • 36. 36 Chaînes de caractères Dr. Keang Sè POUV Définition d’une chaîne de caractère Les chaînes de caractères sont les matrices de caractères. Pour définir une chaîne de caractère on utilise les apostrophes. Exemple : >> nom='POUV' nom = POUV >> phrase='Ceci est une phrase' phrase = Ceci est une phrase >> Couple=['homme';'femme'] Couple = homme femme
  • 37. 37 Chaînes de caractères Dr. Keang Sè POUV Eléments d’une chaîne de caractère Pour récupérer certains caractères d'une chaîne de caractères, il suffit de préciser les indices des numéros de lignes et de colonnes correspondant. Exemple : >> nom_du_capitaine='Archibald Haddock'; Pour prélever son prénom et le mettre dans la variable prenom_du_capitaine, on peut faire : >> prenom_du_capitaine=nom_du_capitaine(1:9) prenom_du_capitaine = Archibald 1:9 détermine la longueur de la chaîne de caractère correspondant au prénom.
  • 38. 38 Chaînes de caractères Dr. Keang Sè POUV Opération sur les chaînes de caractères Concaténation : pour concaténer 2 chaînes de caractères, on peut utiliser les symbole []. >> a=‘Un oiseau'; >> b='fait son nid'; >> c=[a b] c = Un oiseaufait son nid >> d=' fait son nid'; >> e=[a d] e = Un oiseau fait son nid Transposition : on peut transposer une chaîne de caractères avec le symbole ‘. >> A='abc'; >> A' ans = a b c
  • 39. 39 Ecriture des instructions Dr. Keang Sè POUV Syntaxe simplifiée 1. Définition des variables (e.g. Nom_variable=valeur ou expression) 2. Exécution et affichage des résultats intermédiaires. 3. Exécution et affichage des résultats finaux. Exemples : >> g=-9.81; >> alpha=pi/3; >> b=g*cos(alpha) b = -4.9050 Les variables g et alpha sont déjà initialisées, cos est une fonction. Si on utilise une variable non définie, Matlab affiche un message d’erreur. >> c=b*d Undefined function or variable 'd'.
  • 40. 40 Ecriture des instructions Dr. Keang Sè POUV Résultats On définit le résultat par l’initialisation d’une variable de sortie. Si force est la variable de sortie, le résultat est donné par : force=expression Exercice 6 : On lance une pierre verticalement vers le haut avec une vitesse initiale de 5 m/s. Calculer la hauteur maximal de la pierre.
  • 41. 41 Scripts et fonctions Dr. Keang Sè POUV Pour écrire plusieurs instructions à la fois, il est utile d’utiliser des fichiers scripts ou des fonctions. Les scripts exécutent une série de déclaration MATLAB. Les fonctions acceptent les arguments d’entrée et produisent les résultats. Les scripts et les fonctions contiennent les codes MATLAB et sont stockés dans les fichiers textes d’extension .m. Pourtant, les fonctions sont plus flexibles et plus facilement extensibles. Script - suite d’instructions - pas de paramètre d’entrée - ne renvoie aucune valeur - appels à d’autres scripts ou d’autres fonctions Fonction - peut prendre des arguments d’entrée - retourne une ou plusieurs valeurs - les variables locales inaccessibles depuis l’extérieur - contrainte syntaxique : seule la fonction portant le nom du M-fichier est accessible
  • 42. 42 Scripts et fonctions Dr. Keang Sè POUV Créer des fichier scripts ou des fonctions / Editeur Matlab
  • 43. 43 Scripts et fonctions Dr. Keang Sè POUV Exemples de script Fichier exScript.m x=1; y=2; z=x+y; Dans la fenêtre de commande : >> exScript  Exécution du script stocké dans le fichier exScript.m >> x  Renvoie les valeurs des variables x, y et z. >> y Les variables déclarées dans le script sont connues >> z NB : Le fichier exScript.m doit être dans le répertoire courant.
  • 44. 44 Scripts et fonctions Dr. Keang Sè POUV Exemples de fonction Fichier SommeEtProduit.m function [s,p]=SommeEtProduit(x,y) s=x+y; p=x*y; (end function) NB : s et p sont les arguments de sortie. x et y sont les arguments d’entrée. Dans la fenêtre de commande : (sans besoins de compiler dans le fichier SommeEtProduit.m) >> a=1;  Définition des variables a et b >> b=2; >> [c,d]=SommeEtProduit(a,b)  Appel et exécution de la fonction SommeEtProduit (c=3, d=2) >> x  Erreur, x n’est pas connue NB: Le fichier SommeEtProduit.m doit être dans le répertoire courant. Le nom du fichier .m et le nom de la fonction doivent être les mêmes.
  • 45. 45 Scripts et fonctions Dr. Keang Sè POUV Exercices Exercice 7 : Renommage de nom du ficiher. Soit la variable nom_fich=‘fichier_1.txt’ : 1. Définir une variable contenant le nom du fichier sans son extension 2. Ajouter à cette variable le suffixe ‘_new.txt’ par concaténation de chaîne de caractère. 3. Générer une fonction change_extension qui accepte une variable d’entrée des chaînes de caractère de type nom_de_fichier.extension et qui transforme automatiquement le nom de l’extension (à 3 caractères) en « dat ». La valeur de la sortie étant alors nom_de_fichier.dat. Exercice 8 : Gestion de matrices de chaînes de caractères. Générer une variable nom_fichier contenant sur 3 lignes 3 noms de fichiers : toto_1.txt, toto_2.txt, toto_3.txt. Que se passe t’il si l’on y concatène la chaîne ‘toto_10.txt’?
  • 46. 46 Opérateurs relationnels et logiques Dr. Keang Sè POUV Opérateurs relationnels < strictement inférieur > strictement supérieur <= inférieur ou égal >= supérieur ou égal == égal ~= différent (non égal) Exemples : >> 2>3 ans = 0 >> 3>1 ans = 1 NB: Valeur logique 0 = Faux Valeur logique 1 = Vrai
  • 47. 47 Opérateurs relationnels et logiques Dr. Keang Sè POUV Opérateurs relationnels Exemples : >> a=magic(4) a = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1 >> b=repmat(magic(2),2,2) b = 1 3 1 3 4 2 4 2 1 3 1 3 4 2 4 2 >> a==b ans = 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 >> a<=b ans = 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1
  • 48. 48 Opérateurs relationnels et logiques Dr. Keang Sè POUV Opérateurs logiques & : logique AND | : logique OR Exemples : >> a=3; >> b=6; >> a>2 & b>3 ans = 1 >> a>4 | b<5 ans = 0 >> x=[1 2 4]; >> y=[3 4 5]; >> x>0 & y<4 ans = 1 0 0 >> x>0 | y<4 ans = 1 1 1
  • 49. 49 Opérateurs relationnels et logiques Dr. Keang Sè POUV Opérateurs logiques ~ : logique NON xor : logique EXCLUSIVE OR Exemples : >> a=[1 0 4]; >> b=~a (~a = not(a)) b = 0 1 0 >> x=5; >> y=12; >> xor(x>4,y<16) ans = 0 >> xor(x>5,y<16) ans = 1 xor : The result is logical 1 (TRUE) where either S or T, but not both, is nonzero.
  • 50. 50 Fonctions prédéfinies Dr. Keang Sè POUV Fonctions trigonométriques de base Exemples : >> sin(pi/2) ans = 1 >> asin(1)*180/pi ans = 90 >> sinh(0) ans = 0 >> cosh(0) ans = 1 sin cos tan asin acos atan sihh cosh tanh asinh acosh atanh
  • 51. 51 Fonctions prédéfinies Dr. Keang Sè POUV Fonctions mathématiques de base Exemples : >> exp(1) ans = 2.7183 >> log2(4) ans = 2 >> sqrt(100) ans = 10 >> log(exp(5)) ans = 5 exp exponentiel log logarithme à base e log10 logarithme à base 10 log2 logarithme à base 2 pow2 puissance 2 sqrt racine carrée
  • 52. 52 Fonctions prédéfinies Dr. Keang Sè POUV Fonctions mathématiques de base Exemples : >> A=[2 1.2 -4.5 8]; >> a=min(A) a = -4.5000 >> round(A) ans = 2 1 -5 8 >> fix(A) ans = 2 1 -4 8 min valeur minimale max valeur maximale mean valeur moyenne std écart type cov covariance sum somme round arrondir fix arrondir (vers zéro) floor arrondir (vers - ∞) ceil arrondir (vers ∞) rem reste mod module >> mean(A) ans = 1.6750 >> sum(A) ans = 6.7000 >> cov(A) ans = 26.1558
  • 53. 53 Fonctions prédéfinies Dr. Keang Sè POUV Fonctions mathématiques de base rem : reste de la division rem(x,y) est x-n*y où n=fix(x./y) si y~=0 (x et y ont les mêmes dimensions) rem(x,0) est x rem(x,y) a la même signe que x rem(x,y)=mod(x,y) si x et y ont la même signe mod : module après division mod(x,y) est x-n*y où n=floor(x./y) si y~=0 (x et y ont les mêmes dimensions) mod(x,0) est x mod(x,y) a la même signe que y Exemples : >> rem(9,-3.5) ans = 2 >> rem(9,3.5) ans = 2 >> rem(-10,3) ans = -1 >> mod(9,-3.5) ans = -1.5000 >> mod(9,3.5) ans = 2 >> mod(-10,3) ans = 2
  • 54. 54 Fonctions prédéfinies Dr. Keang Sè POUV Fonctions mathématiques de base Exemples : >> M=[1 4; 4 1] M = 1 4 4 1 >> inv(M) ans = -0.0667 0.2667 0.2667 -0.0667 >> transpose(M) ans = 1 4 4 1 inv inversion de matrice carrée transpose transposition de matrice det déterminant de matrice size dimension de matrice rank rang de matrice >> det(M) ans = -15 >> rank(M) ans = 2 >> [i j]=size(M) i = 2 j = 2
  • 55. 55 Fonctions prédéfinies Dr. Keang Sè POUV Fonctions mathématiques de base Exemples : >> M=magic(3) M = 8 1 6 3 5 7 4 9 2 >> sum(M) ans = 15 15 15 >> cumsum(M) ans = 8 1 6 11 6 13 15 15 15 sum somme des éléments cumsum somme cumulative prod produit des éléments cumprod produit cumulative norm norme matrice ou vecteur >> P=prod(M) P = 96 45 84 >> normM=sqrt(sum(P)) normM = 15 >> norm(M) ans = 15.0000 >> cumprod(M) ans = 8 1 6 24 5 42 96 45 84
  • 56. 56 Fonctions prédéfinies Dr. Keang Sè POUV Exercices Exercice 9 : 1. Déterminer les valeurs arrondies de x, y, z et t en degré à partir des équations suivantes : sin(2x2)=0.4; cos(y3)=0.5; tan(z/1.4)=2; t=3ln(xyz). 2. Déterminer la moyenne arithmétique entre les valeurs de x, y et z. Exercice 10 : On a une matrice M suivante : M = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1 1. Supprimer la troisième colonne de la matrice M. 2. Supprimer la dernière ligne de la matrice M. 3. Déterminer les dimensions m et n de la nouvelle matrice M. 4. Déterminer le déterminant de la nouvelle matrice M.