Home

Kit de survie sur Matlab

image

Contents

1. Transposition C A S O C est de dimensions n x m et Chi j AG Test d galit l C A B M mes dimen C est de classe logical a les ment par l ment sions m p et m mes dimensions que et B n q et C i j vaut true ssi A i j et B i j sont gaux Test de non galit C A B M mes dimen C est de classe logical a les l ment par l sions m p et m mes dimensions que et B ment n q et C i j vaut true ssi A i j et B i j sont diff rents Comparaison l C A lt B M mes dimen C est de classe logical a les ment par l ment sions m p et m mes dimensions que A et B et n q C i j vaut true ssi A i j est strictement inf rieur B i j Si A et B sont des arrays de classe logical et de m mes dimensions on a les op rateurs suivants D finition Expression valuation N gation l ment C A C i j vaut true ssi A i j vaut false par l ment Ou logique l C A I B C i j vaut true ssi au moins l une des deux valeurs ment par l ment A i j ou B i j vaut true Et logique l C A amp amp B C i j vaut true ssi les deux valeurs A i j et B i j ment par l ment valent true Pour finir cette longue liste signalons que les raccourcis d incr mentation et de modification affectation que l on trouve dans d autres langages comme C ou C
2. emploi pour toutes les fonctions pr d finies et m mes pour celles que vous crivez si vous commentez votre code 1 2 Scripts Dans le dossier courant cr er un fichier texte avec extension m par exemple mon_script m ou taper edit mon_ script dans l interpr teur Exemple 2 On entre et sauvegarde le code suivant dans l diteur int gr ou dans votre diteur pr f r sous le nom mon_ script m exp 1 log 3 2 3 273 En tapant gt mon_script dans l interpr teur toutes les instructions il y en a 4 crites dans le fichier mon_script m seront ex cut es dans l ordre dans lequel elles sont crites Pour ce script MATLAB fera 4 calculs et il y aura 3 affichages Les commentaires dans un fichier m sont pr c d s d un symbole Ceci est un commentaire gt gt exp 1 4 Ceci est un autre commentaire gt gt exp 8 Encore un commentaire 1 mais la valeur est bien calcul e et stock e dans une variable nomm e ans 1 8 Universit Paris 13 Probabilit s et Statistiques L3 Info Ann e 2015 2016 2 Array et classes Les types de base en MATLAB sont appel s classes Pour simplifier notre propos nous nous limitons aux types suivants double Nombre virgule flottante double pr cision C est la classe num rique par d faut dans MATLAB Si vous tapez le nombre 5 MATLAB le consid rera par d faut comme un double et pas comme un entier Vu l objectif de MATLAB qui est
3. Ceci a pour effet de Cr er la variable a si elle n existe pas d j 2 Mettre la valeur 3 dans a 3 Maintenant a contient un array de type double et de dimensions 1 x 1 c est un scalaire Si l on tape maintenant l instruction b a MATLAB 1 cr e la variable b si elle n existait pas d j 2 lit le contenu de a ici un scalaire de type double gal 3 3 affecte b la valeur lue c est dire 3 La variable que l on affecte doit toujours tre gauche du signe tandis que l expression qui est droite est valu e et est la valeur qui sera ensuite affect e cette variable Continuons notre exemple L instruction a salut ne provoque aucune erreur Les variables dans MATLAB ne sont pas typ es on peut tout fait affecter une cha ne de caract re a apr s lui avoir affect un double Apr s cette instruction a contient un array de classe char et de dimensions 1 x 7 c est donc un vecteur Le contenu de b n a lui pas chang Il a toujours la m me classe la m me valeur 3 et les m mes dimensions Pour afficher sa valeur il suffit d entrer b dans l interpr teur Et c est peu pr s tout ce qu il y a savoir sur les variables en MATLAB On ne parlera pas de pointeur de r f rence de gestion de la m moire etc MATLAB est un langage fait pour tre tr s simple et rapide utiliser 3 2 Op rateurs Soient A et B deux matrices de cla
4. existent aussi en MAT 4 8 Universit Paris 13 Probabilit s et Statistiques L3 Info Ann e 2015 2016 LAB Par exemple A est quivalent A A 1 A 2 est quivalent A A 2 et A B est quivalent A AxB 3 3 Fonctions pr d finies L appel d une fonction MATLAB se fait tr s simplement Plut t qu un long discours donnons quelques exemples importants e A zeros 3 affecte A une matrice carr e de dimensions 3 x 3 de classe double et dont tous les l ments ont la valeur 0 e zeros 4 15 renvoie une matrice de dimensions 4 x 15 remplie de 0 e ones 10 1000 renvoie une matrice de dimensions 10 x 1000 remplie de 1 i 1 0 e eye 2 renvoie la matrice identit 0 e size A renvoie une matrice 1 x 2 contenant le nombre de lignes puis le nombre de colonnes de A e numel A renvoie un scalaire gal au nombre total d l ments de A e exp A renvoie une matrice de double de m mes dimensions que A et dont les l ments sont les exp A i j e Ceci s applique galement aux fonctions usuelles cos sin tan atan pour la fonction arctangente log pour le logarithme n p rien etc Il y a des fonctions qui retournent un ou plusieurs arguments parfois de classes et de dimensions diff rentes comme par exemple min ou eig Exemple 3 Si L est un vecteur min L renvoie comme premier argument l l ment minimal de L et comme second argument son indice dans L mais si l on ne pr ci
5. on indique les num ros de ligne et de colonne que l on souhaite conserver Par exemple l entr e A 1 3 2 4 renvoie la sous matrice 2 1 3 e Ainsi pour obtenir la 3 colonne il suffit d entrer A 1 2 3 3 ce qui donne 4 0 mais on aurait aussi pu taper A 1 3 3 ou mieux encore A 1 end 3 ou encore encore mieux A 3 Le mot r serv end est le dernier indice de l array dans la dimension o il est employ ici les lignes et le seul est un raccourci pour 1 end e Pour obtenir la deuxi me ligne on peut utiliser l une des trois expressions suivantes A 2 1 2 3 4 ouA 2 1 4 ou encore A 2 1 end ou encore mieux A 2 L valuation de toutes ces expressions est 2 3 4 10 4 3 Affectation par indices Pour modifier un ou plusieurs l ments d une matrice la syntaxe ne change pas mais la matrice est cette fois gauche du signe e A 2 3 2 45 change l l ment de la deuxi me ligne et de la troisi me colonne en 2 45 e A 1 1 2 3 4 change toute la premi re ligne de la matrice A e AC 1 2 1 2 4 20 30 40 50 change tous les l ments de la sous matrice e Dans ces affectations les dimensions et les classes doivent tre les m mes gauche et droite du signe e Seule exception cette r gle lorsque le terme de droite est un scalaire par exemple e AC 1 2 2 4 3 change tous les l ments de la sous matrice en les transformant en 3 2 elle n
6. en provoque pas en affectation par contre voir plus loin 6 8 Universit Paris 13 Probabilit s et Statistiques L3 Info Ann e 2015 2016 Si on affecte une ou plusieurs valeurs en dehors des dimensions de la matrice celle ci sera agrandie pour pouvoir accueillir ses nouveaux locataires Si besoin les l ments non pr cis s seront remplac s par des 0 ou par des caract res vides s il s agit d une matrice de char Soit une matrice B i 2 4 1 a 7 3 2 0 30 e L instruction B 1 4 30 affecte la matrice B la valeur B 4 2 0 a 3 2 0 30 e Ensuite l instruction B end 1 1 4 permet d obtenir la matrice B 4 1 0 0 LD a A e Enfin l instruction B 0 1 0 B O 1 1 1 1 1 permet d obtenir 03 2 0 30 0 1 1 4 10 0 0 1 0 1 2 3 4 1 1 Cette derni re fa on de cr er des matrices dite par concat nation ici horizontale est assez d licate il faut faire tr s attention aux dimensions 4 4 Acc s par ordre selon les colonnes Lorsque l utilisateur entre un seul indice au lieu de deux MATLAB convertit automatique ment la matrice en colonne l ordre se faisant selon les colonnes 1 1 3 5 Exemple 5 Reprenons la matrice A 2 3 4 10 Pour MATLAB on a premi re colonne 3 5 0 30 A 1 1 A 2 2 A 3 3 puis deuxi me colonne A 4 1 A 5 3 A 6 5 et troisi me colonne A 7 3 jusqu A 12 30 Comme pr c demment on peut ext
7. le calcul num rique c est un choix tr s compr hensible char Caract re lettre minuscule ou majuscule chiffre espace Par exemple a b in logical Bool en O ou false et 1 ou true En MATLAB la classe seule ne suffit en g n ral pas d crire un objet Par d faut tous les objets sont des array Un array est un tableau dynamique sa taille peut varier ayant au moins deux dimensions Par soucis de simplicit nous nous limitons aux array de dimension 2 que nous appellons souvent matrices Les restrictions suivantes s appliquent aux array e Tous les l ments ont la m me classe e Toutes les lignes ont le m me nombre d l ments Pour entrer une matrice il suffit d appliquer les r gles suivantes e Pour crire une matrice ligne c est dire une matrice de taille 1 n on ouvre un crochet D puis les l ments de chaque ligne sont s par s par une virgule ou une espace et on referme le crochet 1 e Pour crire une vraie matrice de taille m n avec m gt 1 on ouvre un crochet TC puis on entre chaque ligne en la s parant de la suivante par un point virgule et enfin on referme le crochet 1 Parmi les array MATLAB fait la distinction entre les sous cat gories suivantes matrix array deux dimensions on se limitera ce cas vector matrice dont l une des dimensions vaut 1 ligne ou colonne scalar matrice de dimension 1x1 ce sont donc aussi des
8. Universit Paris 13 Probabilit s et Statistiques L3 Info Ann e 2015 2016 Kit de survie sur MATLAB Octave 1 Interpr teur diteur et commandes 1 1 Syntaxe de fin d instruction Une instruction MATLAB doit se terminer par l un de ces trois l ments e un saut de ligne dans l diteur pour des scripts ou des fonctions ou l appui de la touche entr e dans l interpr teur donc attention en MATLAB les sauts de ligne font partie de la syntaxe e un point virgule et dans ce cas le r sultat n est pas affich lors de l ex cution e une virgule quivalente un saut de ligne dans l diteur et qui permet dans l inter pr teur d encha ner plusieurs commandes avant de les ex cuter la suite Exemple 1 Ces instructions sont tap es dans l interpr teur puis suivies de la touche entr e gt exp 2 gt exp 2 gt exp 2 exp 3 gt exp 2 exp 3 ans 7 3891 pas d affichage de sortie ans 7 3891 ans 20 086 ans 20 086 On peut modifier le format d affichage dans l interpr teur avec la commande format suivie d arguments Par exemple pour viter les nombreux sauts de ligne en sortie on peut entrer la commande format compact et pour demander d afficher plus de chiffres dans les r sultats format long Pour conna tre toutes les possibilit s il suffit d entrer help format La commande help est la plus importante de toutes Elle donne un mode d
9. onction aux l ments d une matrice B arrayfun f A 7 Tracer des courbes et des surfaces plot 8 Simulation rand randn 8 8
10. raire une partie de cette colonne par exemple A 3 6 3 1 3 5 B A et alors B est un vecteur colonne de dimensions 12 x 1 Si l on veut avoir toute la matrice sous forme de colonne il suffit d entrer l instruction Tout ceci permet en fait de cr er des matrices tr s rapidement et sans utiliser de boucle Par exemple la suite d instructions A zeros 10 A 1 11 100 1 permet d obtenir la ma trice identit de dimensions 10 x 10 mais pour cela on pr f re bien s r A eye 10 Plus int ressant A zeros 10 A 11 11 end 1 permet d obtenir une matrice ayant des z ros partout sauf juste au dessus de la diagonale o il y a des 1 Si vous entrez ensuite l instruction A 2 11 end 5 vous rajoutez des 5 en dessous de la diagonale 4 5 Acc s par indices logiques 5 Structures de contr le 5 1 If else if else if CONDITION 1 7 8 Universit Paris 13 Probabilit s et Statistiques L3 Info Ann e 2015 2016 else if CONDITION _2 else if CONDITION 3 else end 5 2 Boucle for La boucle for parcourt les l ments d un vecteur ligne for k VECTEUR 4k Le plus souvent k 1 N end 5 3 Boucle while while CONDITION end 6 Fonctions 6 1 Fonctions s par es dans un fichier m La fonction doit avoir le m me nom que le fichier function arg outil arg outR ma fonction arg_ ini arg_inN end 6 2 Function Handle gt gt f x x 2 cos x 6 3 Appliquer une f
11. se rien seul le premier argument est renvoy gt gt min 1 2 10 31 ans 10 gt gt a b min 1 2 10 3 a 10 b 3 Pour demander plusieurs valeurs de retour une fonction f il faut avoir recours la syntaxe val1 val2 val3 valr f argi arg2 argr Notons galement que le nombre d arguments pass s la fonction peut lui aussi varier Par exemple les fonctions zeros et ones ont un comportement diff rent selon qu on les appelle avec 1 ou 2 arguments 4 Matrice cr ation et acc s 4 1 D op rateur deux points Exemple 4 gt gt 1 5 ans 12345 gt gt 1 3 11 5 1 bien s r cette op ration doit tre valide 5 8 Universit Paris 13 Probabilit s et Statistiques L3 Info Ann e 2015 2016 ans 1 4 7 10 gt gt 10 1 6 ans 109876 La syntaxe a b et a h b permet de gagner norm ment de temps a h b renvoie la matrice i a h a 2h a nx h o n max n gt 0 a nxh lt b si h gt 0 et n max n gt 0 a nxh gt b sih lt 0 4 2 Acc s par indices Attention En Matlab les indices dans les arrays commencent 1 Dans d autres langages ils commencent 0 1 1 3 5 Soit la matrice A 2 3 4 10 3 5 0 30 e Pour acc der un l ment il suffit d entrer A num_ ligne num_colonne Par exemple ici A 2 3 a pour valeur 4 La lecture de A 4 1 provoque une erreur e Plus g n ralement pour acc der une sous matrice
12. sse double de dimensions respectives m x n et p x q Soit t un scalaire et n un entier Nous rappelons les op rateurs principaux dans le tableau suivant certaines g n ralisations videntes sont omises 3 8 Universit Paris 13 L3 Info Probabilit s et Statistiques Ann e 2015 2016 D finition Expression Restrictions valuation Somme l ment par C A B M mes dimen C a les m mes dimensions que l ment sions m p et et Bet C i j Ali j B i j n q Somme d une ma C Att S O C a la m me dimension que A et trice et d un sca C i j A i j t laire Diff rence l ment C A B M mes dimen C a les m mes dimensions que A par l ment sions m p et et B et C i j Ali j B i j n q Produit de ma C AxB n p C est de dimensions m x q trices C i j Xg Ali k x B k j Produit d une ma C t A S O C a les m mes dimensions que A trice par un scalaire OI ERA Puissance de ma C An Aest carr m C AXxAXx x A trice n er Produit l ment C A xB M mes dimen C a les m mes dimensions que A par l ment sions m p et et B et C i j Ali j x B i j n q Puissance l ment C A n s o C a les m mes dimensions que A par l ment et Chi j Ali j Division l ment C A B M mes dimen C a les m mes dimensions que A par l ment sions m p et et B et C i j ae n
13. vecteurs et des matrices empty array dont l une des dimensions est nulle Tout ce qui a t dit pr c demment et bien plus encore est illustr dans le tableau suivant que vous devez tudier consciencieusement Entr e 2 2 10 2 3 5 Pa c 3 1 10 3 Interpr tation 2 2 10 2 3 5 abc 1 10 Classe double double double char double Dimensions 1x1 LT 1x3 1x3 3x1 Sous cat gorie scalar scalar vector vector vector 2 Les types entiers existent bien s r nous les verrons si nous en avons besoin 2 8 Universit Paris 13 Probabilit s et Statistiques L3 Info Ann e 2015 2016 1 2 30 40 5 6 1 2 31 4 51 ones 2 3 salut ones 2 0 1 2 30 40 erreur fi 7 salut 0 5 0 6 double S O double char double 3 X 2 S O 2X3 1x5 2x0 matrix S O matrix vector empty eye 2 P salut bob 1 gt 0 2 3 1 1 gt 0 1 3 lt 0 1 1 0 1 f erreur true ou 1 false ou 0 o 1 l double S O logical logical logical logical 2X2 S O e gi 1x1 1x2 2X1 matrix S O scalar scalar vector vector 3 Variables fonctions pr d finies et op rateurs 3 1 Variables Il n y a pas de d claration des variables en MATLAB Pour affecter des objets des variables il suffit d crire par exemple l instruction a 3

Download Pdf Manuals

image

Related Search

Related Contents

  JVC GM-V42EB User's Manual  kw@weighmanual - Instant Weighing  2YM15 - Bootsservice Wilke    contrato de mantenimiento ferroli  Construction Guide - Oakley Sound Systems  EnGenius Technologies ESR-9710 User's Manual  

Copyright © All rights reserved.
Failed to retrieve file