Introduction à MATLAB. 20081 w Georges Rodriguez-Guisantes Dépt. COMELEC 1Derni

Introduction à MATLAB. 20081 w Georges Rodriguez-Guisantes Dépt. COMELEC 1Dernière mise à jour : Janvier 2008 Introduction à MATLAB I Introduction. MATLAB est une application scienti que interactive orientée au calcul vectoriel et matriciel avec une puissante librairie de visualisation. Vous pouvez résoudre des problèmes de calcul très complexes d'une façon simple et rapide comparée aux langages de programmation traditionnels du type C ou FORTRAN. Le nom MATLAB est dérivé de l'anglais MATrix LABoratory. Ce résumé vous présente d'une façon simple, les principales idées pour pouvoir utiliser cet outil de simulation sur les stations de travail disponibles au Centre de Calcul. Il ne remplace pas le guide de l'utilisateur fourni avec l'application (User's Guide and Reference Guide for MATLAB). Ce résumé, plus l'aide en ligne, su t largement pour développer des applications relatives au cours de CAN. Vous êtes invités à véri er tous les exemples ici présentés directment sur un PC ou station UNIX. Une fois établie une session MATLAB, la commande help nomdefonction, fournie tous les ren- seignements relatifs à la fonction nomdefonction . Par exemple, la commande help plot donne toutes les options de la fonction de représentation graphique (plotting) en 2D. La commande help montre le liste des domaines qui ont une aide en ligne. Ainsi help domaine a che toutes les fonctions en relation au domaine. Essayez, par exemple, help comm. Ces fonctions sont re- groupées à la n de cet annexe (extrait du guide de l'utilisateur). La commande demo présente un tour d'horizon de MATLABsous la forme d'exemples. A Les commandes de base. Pour démarrer une session MATLABil su t d'entrer la commande matlab à partir de la ligne de commandes d'une session DOS ou en cliquant sur l'icône MATLAB, à partir de WINDOWS. Sur une station UNIX il su t de taper matlab à partir de la ligne de commande. Une session intéractive est automatiquement ouverte ; MATLABattend des commandes la suite du symbole . Essayez  help Pour quitter une session MATLABil su t de taper exit. B Les matrices. MATLABtravaille essentiellement avec un seul type d'objet mathématique : une matrice rec- tangulaire avec des valeurs entières, réelles ou complexes. Toutes les variables sous MATLABsont représentées comme des matrices. Ainsi un scalaire sera pour MATLABune matrice de 1 ligne et 1 colonne. Les matrices avec une seule ligne ou une seule colonne sera un vecteur. Comment introduire une matrice sous MATLAB ? Plusieurs formes peuvent être envisagées : 1. comme une liste explicite des éléments de la matrice, 2. grâce à des fonctions internes à MATLABou des fonction externes dé nies par l'utilisateur, 3. créée dans un chier externe avec votre éditeur préféré, 4. chargée à partir d'un chier externe produit par un autre utilisateur ou une autre applica- tion. Les commandes suivantes créent une matrice appelée A (3 × 3) : A = [1 2 3; 4 5 6; 7 8 9]; A = [ 2 2 Introduction à MATLAB 1 2 3 4 5 6 7 8 9 ]; Essayez ! ! Le ; dans la déclaration de la matrice indique passage à la ligne suivante. Le ; peut être supprimé si on passe à la ligne suivante. Essayez ! ! Pour entrer une matrice complexe il su t d'utiliser l'une des formes ci-dessous : A = [1 2;3 4] + i*[5 6;7 8] ; A = [1+5i 2+6i;3+7i 4+8i]; Pour visualiser le contenu de A il su t de faire A (attention sans ; à la n). Le symbole ; à la n d'une ligne de commande évite l'a chage du contenu de la variable dé nie. Essayez de faire : A = [1 2;3 4] + i*[5 6;7 8] Le symbole i ou j peut être utilisé comme unité imaginaire. ATTENTION ! : si vous utilisez i ou j pour dé nir une nouvelle variable, vous écrasez l'unité imaginaire. Dans ce cas elle peut être redé nie avec ii = sqrt(-1). Si la matrice est de très grandes dimensions, il est plus simple de la créer dans un chier externe ASCII avec votre éditeur préféré. Ce chier doit contenir tout simplement les valeurs du tableau rectangulaire souhaité. Soit A.ext le nom de ce chier. La commande load A.ext, lit ce chier et dé nit la matrice A dans l'environnement de travail MATLAB(le workspace). Il y a des fonctions MATLABpré-dé nies qui permettent de créer des matrices rapidement. Les commandes rand, magic ou hilb, sont des exemples simples. La commande rand(n) dé nit dans le workspace une matrice de nxn à valeurs aléatoires uniformément distribués dans l'intervalle [0, 1). Les valeurs particulières d'un vecteur ou d'une matrice peuvent être lues en indiquant entre parenthèses les indices. Ainsi, la commande A(2,3) a che l'élément de la deuxième ligne et la troisième colonne de A. De façon similaire, x(3) indique le troisième élément du vecteur x. Essayez ! ! Les indices de ligne et colonne doivent être des entiers positifs. C Opérations avec les matrices. Les opérations matricielles suivantes sont valables sous MATLAB : + addition − soustraction ∗ multiplication b puissance ′ conjugée et transposée \ division à gauche / division à droite 3 3 Introduction à MATLAB Évidemment ses opérations sont aussi valables pour les scalaires (puisqu'il s'agit de matrices de 1 × 1 !). Si les dimensions des matrices sont incompatibles, un message d'erreur est a ché, sauf pour le cas d'une opération par scalaire ; dans ce cas, l'opération par le scalaire s'eectue sur tous les éléments du tableau. La division matricielle mérite un commentaire à part. Si A est une matrice carrée inversible et b est un vecteur de dimension compatible avec A, alors : x=A\b; est la solution de A ∗x = b. Respectivement x=b/A; est la solution de x ∗A = b. D Opérations avec les vecteurs. Les opérations d'addition et soustraction entre matrices se réalisent élément à élément. Il en est pas de même pour le produit, la division et la puissance de matrices. Le produit de deux matrices de mêmes dimensions ne correspond pas au produit élément à élément. Il est possible de faire des produits élément à élément grâce à l'opérateur .∗(il s'agit bien de point-étoile !). Ce genre d'opérateur est très utile puisqu'il permet de réaliser des opérations entre matrices de dimensions incompatibles. Par exemple, supposons vouloir le produit élément à élément des deux vecteurs suivants : x = [1 2 3 4 5]; y = [2 2 2 2 2]; Les commandes : z =x.*y; z a chent z = 2 4 6 8 10 Essayez la commande : z =x*y; La version élément à élément existe aussi pour les opérations puissance et division. 4 4 Introduction à MATLAB E Expressions et variables. MATLABest un langage interprète ; les expressions que vous entrez dans l'ordinateur sont in- terprétées et calculées. Une commande MATLABest de la forme variable = expression, ou bien tout simplement expression Les expressions sont composées par des opérateurs, des fonctions et des variables. Le résultat de l'expression est sauvegardé dans la matrice variable. Si variable n'est pas dé nie dans la ligne de commande, alors la matrice qui résulte de l'évaluation de l'expression, est sauvegardée dans la matrice ans (pour answer). ATTENTION ! ! MATLABdistingue mayuscules et minuscules ! Typiquement, UT c'est pas la même chose que ut. La commande who (ou bien whos), a che toutes les variables dé nies jusqu'à présent dans le wokspace. Une variable peut être supprimée avec la commande clear nomdevariable. La com- mande clear supprime TOUTES les variables du workspace. Un calcul interminable peut être arrêté avec CTL c. Après une longue journée de travail, toutes les variables du workspace sont perdues si on quitte la session MATLAB. La commande save permet de sauvegarder toutes les variables du workspace dans le chier matlab.mat (save nomdefichier permet de sauvegarder dans le chier nomdefichier.mat ). La commande load permet de charger les variables lors de la prochaine session MATLAB. F Les fonctions pour créer des matrices Les fonctions suivantes font partie du noyau MATLAB : eye identité zeros matrice de zéros ones matrice d'uns diag création, extraction de la diagonale triu matrice triangulaire supérieure tril matrice triangulaire inférieure rand matrice aléatoire hilb matrice de Hilbert magic carré magique toeplitz voir help toeplitz Par exemple, zeros(m,n) produit une matrice de m × n avec tous les éléments nuls ! Si A est une matrice, alors zeros(size(A)) produit une matrice de zéros avec les mêmes dimensions que A. Si x est un vecteur, diag(x) est une matrice diagonale avec x dans la diagonale ; si A est une matrice carrée, alors diag(A) est un vecteur avec les éléments de la diagonale de A. Qu'est-ce que c'est diag(diag(A)) ? Essayez ! Les matrices peuvent être construites à partir de sous-matrices. Par exemple si A est une ma- trice de 3x3, alors B = [A, zeros(3,2) ; zeros(2,3), eye(2)], construit une certaine matrice de 5x5. Essayez-la ! 5 5 Introduction à MATLAB G La gestion des itérations sous MATLAB. Les commande de contrôle des boucles d'itération, uploads/Industriel/ poly-matlab.pdf

  • 31
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager