slide matlab

56
MATLAB Dr. Keang Sè POUV Phnom Penh Printemps, 2015 Institut de Technologie du Cambodge

Upload: smee-kam-chann

Post on 17-Jan-2017

150 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: Slide matlab

MATLAB

Dr. Keang Sè POUV

Phnom Penh Printemps, 2015

Institut de Technologie du Cambodge

Page 2: Slide matlab

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 estun 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 fonctionnement1. 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

Page 3: Slide matlab

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

Page 4: Slide matlab

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

Page 5: Slide matlab

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.

Page 6: Slide matlab

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.8iForme 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.1234format long 0.12345678901234format short e 1.2345E+002format long e 0.123456789012345E+002format hex ABCDEF0123456789

Page 7: Slide matlab

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.2ans =

4.7000>> 10\2ans =

0.2000>> 3^2+0.4*10ans =

13

Page 8: Slide matlab

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

Page 9: Slide matlab

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 47 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 32 8

Page 10: Slide matlab

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

Page 11: Slide matlab

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

Page 12: Slide matlab

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];>> AA =

1 2 4 03 -2 6 81 -3 5 40 2 4 5

>> A(2,[1 2])ans =

3 -2>> A(3,:)ans =

1 -3 5 4

Page 13: Slide matlab

13

Matrices

Dr. Keang Sè POUV

Eléments d’une matrice

>> A(:,2)ans =

2-2-32

>> A([1 3],[1 3])ans =

1 41 5

>> A([1:3],[1:3])ans =

1 2 43 -2 61 -3 5

Page 14: Slide matlab

14

Matrices

Dr. Keang Sè POUV

Tailles d’un vecteur, dimension d’une matrice

Page 15: Slide matlab

15

Matrices

Dr. Keang Sè POUV

Création et construction de vecteurs

Page 16: Slide matlab

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 unseye : matrice d’identitézeros : matrice des zérosrand : matrice des chiffres aléatoiresdiag : matrice diagonalemagic : matrice carré

Exemples :

Page 17: Slide matlab

17

Matrices

Dr. Keang Sè POUV

Création et construction de matrices

Exemples :

>> zeros(3,3)ans =

0 0 00 0 00 0 0

>> A=rand(3,2)A =

0.8147 0.91340.9058 0.63240.1270 0.0975

>> B=rand(3,2)B =

0.2785 0.96490.5469 0.15760.9575 0.9706

Page 18: Slide matlab

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 00 2 0 00 0 3 00 0 0 4

>> B=[1 2 3 4; 5 6 7 8; 9 10 11 12] B =

1 2 3 45 6 7 89 10 11 12

>> diag(B) (application de diag à une matrice)ans =

16

11

Page 19: Slide matlab

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 :

Page 20: Slide matlab

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 45 6 7 89 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 125 13 6 14 7 15 8 16

m x n : dimension initiale de la matrice Ap x q : nouvelle dimension de la matrice A (p x q = m x n), reshape(A,p,q)

Page 21: Slide matlab

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+Bans = 3 7 3>> A-Bans = 1 3 -3>> A.*Bans = 2 10 0>> A./Bans = 2.0000 2.5000 0>> A.^Bans = 2 25 0

Page 22: Slide matlab

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*bans =

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*aans =

6 18 127 16 119 7 6

Note : a(m,n)*b(n,p)=c(m,p)

Page 23: Slide matlab

23

Matrices

Dr. Keang Sè POUV

Exemples :

>> A=[2 4; 1 1];>> A^2ans =

8 123 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

>> A\B (=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)

Page 24: Slide matlab

24

Matrices

Dr. Keang Sè POUV

Opérateurs de transposition

Exemples :

>> a=[1 2; 9 3]a =

1 29 3

>> a'ans =

1 92 3

>> a.'ans =

1 92 3

Page 25: Slide matlab

25

Matrices

Dr. Keang Sè POUV

Nombres complexes

real : partie réelleimag : partie imaginaireabs : valeur absolue ou moduleconj : 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

Page 26: Slide matlab

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

Page 27: Slide matlab

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.57080.4636 2.6779 1.5708

>> angle(z)*180/pians =

-45.0000 90.0000 45.0000-33.6901 45.0000 -90.000026.5651 153.4349 90.0000

Note:angle(a+bi)=arctan(b/a)*pi/180 (argument d’un complexe)

Page 28: Slide matlab

28

Matrices

Dr. Keang Sè POUV

Constantes spéciales

ans : dernier résultat de calculinf : infiniNaN : Not a Number, résultat d’un calcul indéfini

pi : constante π

Exemples :

>> 2/0ans =

Inf>> 0/0ans =

NaN>> pians =

3.1416>> 2*pians =

6.2832

Page 29: Slide matlab

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 flippedin the left/right direction.

Exemples :

>> A=[1 2 3; 4 5 6]A =

1 2 34 5 6

>> fliplr(A)ans =

3 2 16 5 4

Page 30: Slide matlab

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 flippedin the up/down direction.

Exemples :

>> A=[1 4; 2 5; 3 6]A =

1 42 53 6

>> flipud(A)ans =

3 62 51 4

Page 31: Slide matlab

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 34 5 6

>> rot90(A)ans =

3 62 51 4

Page 32: Slide matlab

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 45 6 7 8

>> tril(X)ans =

1 0 0 05 6 0 0

>> Y=[1 2 3; 4 5 6; 7 8 9]Y =

1 2 34 5 67 8 9

>> tril(Y)ans =

1 0 04 5 07 8 9

Page 33: Slide matlab

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 45 6 7 8

>> triu(X)ans =

1 2 3 40 6 7 8

>> Y=[1 2 3; 4 5 6; 7 8 9]Y =

1 2 34 5 67 8 9

>> triu(Y)ans =

1 2 30 5 60 0 9

Page 34: Slide matlab

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().

Page 35: Slide matlab

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]

Page 36: Slide matlab

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 =hommefemme

Page 37: Slide matlab

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.

Page 38: Slide matlab

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 =abc

Page 39: Slide matlab

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*dUndefined function or variable 'd'.

Page 40: Slide matlab

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.

Page 41: Slide matlab

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

Page 42: Slide matlab

42

Scripts et fonctions

Dr. Keang Sè POUV

Créer des fichier scripts ou des fonctions / Editeur Matlab

Page 43: Slide 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.

Page 44: Slide matlab

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.

Page 45: Slide matlab

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 extension2. 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’?

Page 46: Slide matlab

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>3ans =

0>> 3>1ans =

1

NB:Valeur logique 0 = FauxValeur logique 1 = Vrai

Page 47: Slide matlab

47

Opérateurs relationnels et logiques

Dr. Keang Sè POUV

Opérateurs relationnels

Exemples :

>> a=magic(4)a =

16 2 3 135 11 10 89 7 6 124 14 15 1

>> b=repmat(magic(2),2,2)b =

1 3 1 34 2 4 21 3 1 34 2 4 2

>> a==bans =

0 0 0 00 0 0 00 0 0 01 0 0 0

>> a<=bans =

0 1 0 00 0 0 00 0 0 01 0 0 1

Page 48: Slide matlab

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>3ans =

1>> a>4 | b<5ans =

0>> x=[1 2 4];>> y=[3 4 5];>> x>0 & y<4ans =

1 0 0>> x>0 | y<4ans =

1 1 1

Page 49: Slide matlab

49

Opérateurs relationnels et logiques

Dr. Keang Sè POUV

Opérateurs logiques

~ : logique NONxor : 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.

Page 50: Slide matlab

50

Fonctions prédéfinies

Dr. Keang Sè POUV

Fonctions trigonométriques de base

Exemples :

>> sin(pi/2)ans =

1>> asin(1)*180/pians =

90>> sinh(0)ans =

0>> cosh(0)ans =

1

sin cos tan asin acos atan

sihh cosh tanh asinh acosh atanh

Page 51: Slide matlab

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

Page 52: Slide matlab

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

Page 53: Slide matlab

53

Fonctions prédéfinies

Dr. Keang Sè POUV

Fonctions mathématiques de base

rem : reste de la divisionrem(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 xrem(x,y) a la même signe que xrem(x,y)=mod(x,y) si x et y ont la même signemod : module après divisionmod(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 xmod(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

Page 54: Slide matlab

54

Fonctions prédéfinies

Dr. Keang Sè POUV

Fonctions mathématiques de base

Exemples :

>> M=[1 4; 4 1]M =

1 44 1

>> inv(M)ans =

-0.0667 0.26670.2667 -0.0667

>> transpose(M)ans =

1 44 1

inv

inversion de matrice carrée

transpose

transpositionde 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 =

2j =

2

Page 55: Slide matlab

55

Fonctions prédéfinies

Dr. Keang Sè POUV

Fonctions mathématiques de base

Exemples :

>> M=magic(3)M =

8 1 63 5 74 9 2

>> sum(M)ans =

15 15 15>> cumsum(M)ans =

8 1 611 6 1315 15 15

sum

somme des éléments

cumsum

somme cumulative

prod

produit des éléments

cumprod

produit cumulative

norm

norme matriceou vecteur

>> P=prod(M)P =

96 45 84>> normM=sqrt(sum(P))normM =

15>> norm(M)ans =

15.0000>> cumprod(M)ans =

8 1 624 5 4296 45 84

Page 56: Slide matlab

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 135 11 10 89 7 6 124 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.