•1 INTRODUCTION • MATrix LABoratory • Logiciel qui permet, de manière interacti
•1 INTRODUCTION • MATrix LABoratory • Logiciel qui permet, de manière interactive : – de faire des calculs matriciels ; – d ’analyser les données ; – de visualiser les résultats en 2D et 3D ... • Langage de programmation • Toolboxes : ensemble de fonctions (fichiers .M) développées pour des domaines d ’applications spécifiques • SIMULINK : interface graphique interactive de MATLAB Introduction (2) Fonctionnement • Mode interactif : Les instructions sont exécutées au fur et à mesure qu ’elles sont entrées par l ’utilisateur • Mode programme : MATLAB exécute, ligne par ligne, les instructions d ’un fichier .M • Type de variables : unique : la matrice L ’espace de travail : le Workspace (1) Espace de travail Données Historique •2 L ’espace de travail (2) • Déclarer des variables : >> x =12.5 ; y = [1 -5 0 2] ; – définies et dimensionnées automatiquement au fur et à mesure de leur déclaration – stockées dans l ’espace de travail • S ’informer sur les variables : >> who Your variables are: x y >> whos Name Size Bytes Class x 1x1 8 double array y 1x4 32 double array Grand total is 5 elements using 40 bytes L ’espace de travail (3) • Supprimer une (ou toutes les) variable(s) : >> clear x >> clear all • Entrer une valeur au clavier : >> x = input(‘Valeur de x =’) Valeur de x =12 x = 12 • Afficher un texte à l ’écran : >> disp(‘ Ceci est un test ’) Ceci est un test >> disp([‘ x vaut ’, num2str(x)]) x vaut 12 L ’espace de travail (4) • Gérer les accès aux répertoires / fichiers >> pathtool • Editer les commandes : ou lettre + (ou double clic dans l’historique) L ’aide sous MATLAB >> helpdesk >> help nom de commande fournit de l ’aide sur l ’utilisation de la commande (et les rubriques connexes). >> lookfor mot-clé fournit la liste des fonctions contenant le mot-clé. •3 Plan 1. Vecteurs et matrices 2. La programmation MATLAB 3. Les graphiques 4. Les polynômes et l ’analyse numérique 5. L’import/export de données •4 VECTEURS ET MATRICES • Scalaires et opérations scalaires • Vecteurs et opérations vectorielles • Matrices et opérations matricielles • Tableaux multidimensionnels • Structures Les scalaires (1) • Le scalaire : une matrice 1x1 >> s =2.5 ; >> size(s) ans = 1 1 ou >> [i,j] = size(s) i = 1 j = 1 • Les format d ’affichage format short 0.0333 format long 0.033333333333 format short e 3.3333E-002 format long e 3.333333333334E-002 format rat 1/30 format bank 0.03 Les scalaires (2) • Les complexes : >> x=1+j x = 1.0000 + 1.0000i • Les constantes prédéfinies : >> pi ans = 3.1416 >> eps ans = 2.2204e-016 >> 1/0 Warning : Divide by zero Inf >> 0/0 Warning : Divide by zero NaN Les scalaires (3) • Les opérations arithmétiques >> 3 +7 - 2 * 9 ans = -8 divisions droite (/) et gauche (\) élévation à une puissance (^) • Quelques fonctions – fonctions trigo : cos acos cosh – exponentielle : exp – log népérien : log – log décimal : log10 – racine : sqrt – |x|ou ||x||: abs – Re & Im : real imag – arrondis : round ceil floor fix •5 Créer un vecteur (1) • Vecteur ligne >> v1= [1 2 -5] ; ou >> v1(1) =1; v1(2) =2;v1(3)=-5; ou >> v1(1) = [1, 2 ,-5] ; • Vecteur colonne >> v2=[-7;3]; • Transposition : >> v3=v2 ’ v3 = -7 3 Créer un vecteur (2) • Le vecteur : une matrice 1xn >> size(v1) ans = 1 3 longueur d ’un vecteur >> long_v1 = length(v1) long_v1 = 3 • Concaténation >> v4 =[v1 v3] v4 = 1 2 -5 -7 3 • Vecteur vide >> v =[ ] ; Créer un vecteur (3) • Génération automatique composantes espacées d ’un pas constant syntaxe : v =debut : pas : fin >> v5=1:0.5:3 v5= 1.000 1.500 2.000 2.500 3.000 ⇔v =linspace(1, 3, 5) par défaut (pas = 1) v =debut : fin espacement logarithmique de 10debut à 10fin syntaxe : v =logspace(debut, fin, N) • Extraction >> v4(3) ans = -5 >> v4(2:4) ans = 2 -5 -7 • Extraction selon un critère >> i =find(v4 <0) i = 3 4 >> v4(i) ans = -5 -7 Sous MATLAB, le premier indice d ’un tableau est 1 Opérations vectorielles (1) ! •6 Opérations vectorielles (2) • opérations élémentaires – somme de vecteurs de même dimensions >> s = [2 1 -1]+ [1 -3 5] s = 3 -2 4 – ajout d ’un scalaire >> s + 2 ans = 5 0 6 – produit de vecteurs de même dimensions >> p = [2 1 -1] * [1 -3 5] ’ p = - 6 – produit élément par élément >> [2 1 -1] .* [1 -3 5] ans = 2 -3 -5 Opérations vectorielles (3) >> v = [1 2 -5 -7 3] – somme des éléments d ’un vecteur >> sum(v) ans = -6 – produit des éléments d ’un vecteur >> prod(v) ans = 210 – moyenne : mean(v) – médiane : median(v) – écart-type : std(v) – minimum : min(v) – maximum : max(v) Créer une matrice (1) • Saisie d ’une matrice – lignes séparées par un point virgule >> M1=[1 0 3;2 5 1] M1 = 1 0 3 2 5 1 – lignes séparées par un retour chariot >> M1=[1 0 3 2 5 1] M1 = 1 0 3 2 5 1 • Dimensions >> size(M1) ans = 2 3 Créer une matrice (2) • par concaténation >> M2= [0 7 12]; >> M3 = [M1 ; M2] M3 = 1 0 3 2 5 1 0 7 12 • par transformation >> reshape(M3, 1,9) ans = 1 2 0 0 5 7 3 1 12 • par extraction : triu tril Îmatrices triangulaires supérieures et infé- rieures •7 Les matrices spéciales (1) • Matrices identité, nulle et unité >> IDENTITE = eye( 2,3) IDENTITE = 1 0 0 0 1 0 – ones (m,n) : matrice m x n dont tous les éléments valent 1 – zeros(m,n) : matrice m x n dont tous les éléments valent 0 Si m=n, spécifier une seule dimension >> UNITE = ones( 2) UNITE = 1 1 1 1 Les matrices spéciales (2) • Matrices aléatoires – Distribution normale (m = 0 , σ = 1) : >> y = randn(10000,1) ; – Distribution uniforme (m = 1/2 , σ = 1/12) : >> y = rand(10000,1) ; -4 -3 -2 -1 0 1 2 3 4 0 200 400 600 800 0 0.2 0.4 0.6 0.8 1 0 50 100 150 200 250 Opérations matricielles (1) • Extraction – d ’un élément : >> M3(3,2) >> M3(6) ans = ans = 7 7 – d ’une ligne : >> M3(2, : ) ans = 2 5 1 – d ’une colonne : >> M3( : ,2) ans = 0 5 – d ’une sous-matrice : ?? Opérations matricielles (2) • 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 • Extension des instruction min, max ... >> max(M3) %maximum par colonnes ans = 2 7 12 >> max(M3(:)) %max(max(M3)) ans = 12 •8 Opérations matricielles (3) • Produit classique Rappel : le produit de A(mxn) par B(pxq) n ’est possible que si n = p et le résultat est de dimension mxq • Produit de Hadamard ou produit élément par élément de deux matrices de mêmes dimensions >> A = [1 2 ; 3 4] >> A * A >> A .* A ans = ans = 7 10 1 4 15 22 9 16 Opérations matricielles (4) • Transformations >> M = [1 2 ; 3 4] >> fliplr(M) %retournement gauche/droite ans = 2 1 4 3 >> flipud(M) %retournement haut/bas ans = 3 4 1 2 >> rot90(M) %transposition + flipud ans = 2 4 1 3 Opérations matricielles (5) • Fonctions diverses – déterminant : >> det(M) – norme >> norm(M) – rang >> rank(M) – inverse (et pseudo-inverse) >> inv(M) >> pinv(M) – conditionnement >> cond(M) – exponentielle expm : vecteurs et valeurs propres expm1 : approximation de Padé expm2 : série de Taylor Vecteurs et valeurs propres >> M = [2 1 ; 1 2] ; • Polynôme caractéristique : |λI - M| = 0 >> poly(M) ans = 1 -4 3 • Vecteurs et valeurs propres >> [vec val] = eig(M) vec = 0.7071 0.7071 - 0.7071 0.7071 val = 1 0 0 3 •9 Les tableaux multidimensionnels • Extension à n dimensions : – vecteur (1D) : 1 indice – matrice (2D) : 2 indices, ligne et uploads/Finance/ poly-matlab-le-pdf 1 .pdf
Documents similaires








-
34
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jan 10, 2022
- Catégorie Business / Finance
- Langue French
- Taille du fichier 0.4760MB