Vous êtes sur la page 1sur 16

Rpublique Algrienne Dmocratique et populaire Universit Msila - Facult de Technologie Dpartement de Gnie lectrique Cycle LMD

Outils de simulation des S.E.M


Master: Ingnierie des systmes lectromcaniques
Anne 2010/2011

Semaine 3: 09/11/2010

Enseignant : Dr. BENSAID Samir

Rfrences bibliographiques
1- Christophe Dabancourt, "Apprendre programmer, Algorithme et conception dobjet , Eyrolles Edition, 2me dition, Juillet 2008. 2- Brian D. Hahn and Daniel T. Valentine, "Essential MATLAB for Engineers and Scientists, ButterworthHeinemann Elseiver, Third edition 2007 3- Guide Matlab, MathWorks Inc. 4- S.R. Otto and J.P. Denier, "An Introduction to Programming and Numerical Methods in MATLAB, springer, 2005 5- Lien internet: Site web ddi au master ISE : http://samirbens.cfun.fr/ ou www.mise-univ-msila.net84.net/

2
S. BENSAID COURS Outils de simulation des S.E.M UNIVERSITE MSILA

Plan du cours distribu en semaines


Introduction gnrale. Semaine1 Chapitre I Rappels dalgorithmique.... ...Semaine1 Chapitre II Matlab logiciel.. Semaine2 II.1 Introduction.. ......Semaine2 II.2 Gnralits et prise en main. ..Semaine2 II.3 Variables et fonctions prdfinies. .Semaine2 II.4 Matrices et tableaux. .....Semaine3 II.5 Graphique 2D... Semaine4 II.6 Graphiques 3D et animations. ...Semaine4

Chapitre III Programmation avec Matlab, Echanges entre MATLAB et l'extrieur, ..semaine4-5-6-7 Chapitre IV Calcul numrique et exemples dapplications avec Matlab, Semaine8-9 Chapitre V Calculs symboliques sous Matlab. ..Semaine10-11

Sem 1 26/10/10

Sem 2 02/11/10

Sem 3 09/11/10

Sem 4 23/11/10

Sem 5 30/11/10

Sem 6 07/12/10

Sem 7 14/12/10

Sem 8

Sem 9

Sem 10

3
S. BENSAID COURS Outils de simulation des S.E.M UNIVERSITE MSILA

Quelques commandes rputes de Matlab

4
S. BENSAID COURS Outils de simulation des S.E.M UNIVERSITE MSILA

Quelques commandes rputes de Matlab


help: donne de laide sur une fonction ou un toolkit (help). helpdesk : documentation en hypertexte (requiert Netscape ou autre). helpwin: aide en ligne dans une fentre spare. lookfor: recherche dun mot cl (lent). Which: fichiers. localise fonctions et Pathtool: grer les accs aux rpertoires / fichiers. On peut grer galement les accs aux rpertoires et fichiers par le biais de la commande: addpath Si on souhaite par exemple lire et modifier les fichiers se trouvant dans le rpertoire ANIMAL. Dont le chemin daccs est "C:\ANIMAL" sans quil soit le rpertoire de travail. On utilise linstruction suivante:
addpath('C:\ANIMAL')

What: liste des fichiers Matlab dans le rpertoire courant. Exist: check si une fonction ou une variable existe dans le workspace. who, whos: liste des variables dans le workspace.

5
S. BENSAID COURS Outils de simulation des S.E.M UNIVERSITE MSILA

Cration de vecteurs

Vecteurs, matrices et tableaux

Par dfaut, le vecteur est une ligne plusieurs colonnes

vecteur ligne par numration des composantes :


>>v= [1 3.4 5 -6]
v = 1.0000 3.4000 5.0000 -6.0000

Gnration automatique de vecteur ligne par description:


>>x= [0 : pi/8 : pi] % [valeur-initiale : incrment : valeur-finale]
x = 0 0.3927 0.7854 1.1781 1.5708 1.9635 2.3562 2.7489 3.1416

vecteur colonne (transposition)


>>xcol= x
xcol = 0 0.3927 0.7854 1.1781 1.5708 1.9635 2.3562 2.7489 3.1416
S. BENSAID COURS Outils de simulation des S.E.M

6
UNIVERSITE MSILA

Vecteurs, matrices et tableaux


Cration de vecteurs gnration de vecteurs mtriques
>> x = linspace(0, pi, 8) x = 0 0.4488 0.8976 1.3464 1.7952 2.2440 2.6928 3.1416

>> linspace(0 , 1, 8) *pi donne le mme rsultat >> logspace(0, 2, 8) % cre un vecteur log 8 composantes entre 100 et 102 ans = 1.0000 1.9307 3.7276 7.1969 13.8950 26.8270 51.7947 100.0000

Adressages et indexages : Accs un/ou ensemble dlments du vecteur,


>> x(3) % 3me lment du vecteur x ans = 0.8976 >> x(2 : 4) % un bloc de composantes ans = 0.4488 0.8976 1.3464 >> x([8 3 4 1]) % une slection de composantes ans = 3.1416 0.8976 1.3464 0 >> x(find(x>1 & x<2)) % un/ou ensemble dlments avec des conditions
7
S. BENSAID COURS Outils de simulation des S.E.M UNIVERSITE MSILA

Vecteurs, matrices et tableaux


Combinaison de vecteurs
Accolage ou assemblage de deux vecteurs :
>> a = [1:3] a = 1 2 3 >> b=[10:10:30] b = 10 20 30 >> c = [a b] c = 1 2

Dimensions dun vecteurs Le vecteur : une matrice 1xn


>> size(a) 1 3

Longueur d un vecteur :
>> long_v1 = length(a) long_v1 = 3

Vecteur vide
3 10 20 30 >> v =[] ;

On peut faire plus compliqu:


>> d=[a(2:-1:1) b] % on accole b avec une portion de a dans lordre renvers

d = 2 1 10 20 30

Sous MATLAB, le premier indice d un tableau est 1


8
S. BENSAID COURS Outils de simulation des S.E.M UNIVERSITE MSILA

Vecteurs, matrices et tableaux


Notez la diffrence entre () et [] :

9
S. BENSAID COURS Outils de simulation des S.E.M UNIVERSITE MSILA

Vecteurs, matrices et tableaux


Oprations lmentaires sur les vecteurs
Somme de vecteurs de mme dimensions >>s = [2 1 -1]+ [1 -3 5] s = 3 -2 4 Ajout d un scalaire >>s + 2 ans = 5 0 somme des lments d un vecteur

>> v = [1 2 -5 -7 3]
>> sum(v) ans = -6 produit vectoriel de deux vecteurs
(uniquement pour vecteurs 3 lments ):

6 >> v1=[1 3 5] >> v2=[2 4 6] >> cross(v1,v2) ans = -2 4 -2 produit scalaire de deux vecteurs
(uniquement pour vecteurs 3 lments ):

Produit de vecteurs de mme dimensions >> p = [2 1 -1] * [1 -3 5] p = - 6 Produit lments par lments (.*) >>[2 1 -1] .* [1 -3 5] ans = 2 -3 -5 produit des lments d un vecteur >> prod(v) ans = 210
S. BENSAID

>> dot (v1, v2) ans = 44

10
COURS Outils de simulation des S.E.M UNIVERSITE MSILA

Vecteurs, matrices et tableaux


Oprations lmentaires sur les vecteurs
Le carr des lments dun vecteur (.^) >> c = [2 3 -1].^2 c = 4 9 1 Racine carre des lments dun vecteur >> r = sqrt([4 9 1]) r = 2 3 1 Division des lments de deux vecteurs: >> d = [4 9 1] ./ [2 3 -1] d = 2 3 -1

Autres oprations lmentaires:


moyenne : mdiane : cart-type : minimum : maximum : mean(v) median(v) std(v) min(v) max(v)

Ordonner les lments dun vecteur par ordre croissant, sort(v) Inverser la position des lments du vecteur v: fliplr(v)

11
S. BENSAID COURS Outils de simulation des S.E.M UNIVERSITE MSILA

Vecteurs, matrices et tableaux


Cration de matrices
Par numration des lments
>> M1 = [1 2 3 ; 4 5 6] % on spare les lignes par des ; M1 = 1 2 3 4 5 6

par accolage ou assemblage


>> M2= [0 7 12]; >> M3 = [M1 ; M2] M3 = 1 2 3 4 5 6 0 7 12

Lignes spares par un retour chariot


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

par transposition
>> M3 ans = 1 4 2 5 3 6 3 colonnes 0 7 12

Dimensions
>> size(M1) ans = 2 lignes

par extraction : triu

tril

Matrices triangulaires suprieures et infrieures.

On peut tendre aux matrices les autres manires de dfinir des vecteurs
12
S. BENSAID COURS Outils de simulation des S.E.M UNIVERSITE MSILA

Vecteurs, matrices et tableaux


Les matrices spciales
Matrices identit, eye(m-lignes, n-colonnes)
>> IDENTITE = eye( 3,3) IDENTITE = 1 0 0 0 1 0 0 0 1

Matrice diagonale:
>> diag([1 ans = 1 0 0 0 : 4]) 0 2 0 0 0 0 3 0 0 0 0 4

Matrice unit,
ones (m,n) : matrice m x n dont tous les lments valent 1

Matrice nombre alatoire :

>> rand(1,7) % nombres alatoires Matrice nulle, entre 0 et 1 zeros(m,n) : matrice m x n dont tous ans = les lments valent 0 0.9355 0.9169 0.4103 0.8936 0.0579 0.3529 Si m=n, spcifier une seule dimension 0.8132 Exemple;: >> UNITE = ones( 2) UNITE = 1 1 1 1
13
S. BENSAID COURS Outils de simulation des S.E.M UNIVERSITE MSILA

Vecteurs, matrices et tableaux


Oprations sur les matrices
Extraction d un lment :
>> M3 = [1 2 3 ; 4 5 6; 0 7 12] >> M3(3,2) ans= 7 Remarque importante: Matlab classe les lignes et colonnes dune matrice avec lordre suivant:
Ligne par ligne puis colonne par colonne

Comparaison
>> M3 = [1 0 3 ; 2 5 1 ; 0 7 12] ; >> M4 = ones(3) ; >> M3 > M4 % find(M3 > 1) ans = 0 0 1 1 1 0 0 1 1

Exemple: >> M3(6) ans= 7

Extension des instructions min, max ...


>> max(M3) %maximum par colonnes ans = 2 7 12 >> max(M3(:)) %max(max(M3)) ans = 12

Extraction d une ligne :


>> M3(2, : ) ans = 4 >> M3( : ,2) ans = 2 5 7
S. BENSAID

Extraction d une colonne :

14
COURS Outils de simulation des S.E.M UNIVERSITE MSILA

Vecteurs, matrices et tableaux


Oprations sur les Matrices
Produit classique Rappel : le produit de A(n, m) par B(q, p) nest possible que si n = p et le rsultat est de dimension mxq. Produit de Hadamard ou produit lment par lment de deux matrices de mmes dimensions.
>> M = [1 2 ; 3 4] >> flipud(M) % change haut/bas ans = 3 4 1 2 >> rot90(M) %transposition+flipud ans = 2 4 1 3

Fonctions diverses
dterminant : norme : rang : >> det(M) >> norm(M) >> rank(M)

inverse (et pseudo-inverse) : >> inv(M) et >> pinv(M)

Transformations
>> M = [1 2 ; 3 4] >>fliplr(M) %change gauche/droite ans = 2 1 4 3
S. BENSAID

conditionnement : >> cond(M) exponentielle : expm :vecteurs et valeurs propres expm1 :approximation de Pad expm2 :srie de Taylor
15
COURS Outils de simulation des S.E.M UNIVERSITE MSILA

Vecteurs, matrices et tableaux


Les tableaux multidimensionnels
Extension n dimensions : vecteur (1D) : 1 indice matrice (2D) : 2 indices, ligne et colonne tableau tridimensionnel : 3 indices, ligne, colonne et page exemple :
>> M1 =ones(3) ; >> M2 =zeros(3) ; >> M3 =cat(3,M1,M2) ; M3( : , : , 1) = 1 1 1 1 1 1 M3( : , : , 2) = 0 0 0 0 0 0 1 1 1 0 0 0

16
S. BENSAID COURS Outils de simulation des S.E.M UNIVERSITE MSILA