MatLab1.fm (15 October 2004) 2 Introduction Matlab est un logiciel de calcul nu
MatLab1.fm (15 October 2004) 2 Introduction Matlab est un logiciel de calcul numérique produit par MathWorks (voir le site web http:// www.mathworks.com/). Il est disponible sur plusieurs plateformes. Matlab est un langage simple et très efficace, optimisé pour le traitement des matrices, d’où son nom. Pour le calcul numérique, Matlab est beaucoup plus concis que les “vieux” langages (C, Pascal, Fortran, Basic). Un exemple: plus besoin de programmer des boucles modifier pour un à un les éléments d’une matrice. On peut traiter la matrice comme une simple variable. Matlab contient également une interface graphique puissante, ainsi qu’une grande variété d’algorithmes scientifiques. On peut enrichir Matlab en ajoutant des “boîtes à outils” (toolbox) qui sont des ensembles de fonctions supplémentaires, profilées pour des applications particulières (traitement de signaux, analyses statistiques, optimisation, etc.). L’Université de Genève dispose d’une centaine de licences Matlab qui sont à la disposition de la communauté universitaire. Il suffit d’être connecté au réseau de l’université pour pouvoir l’utiliser. Plusieurs toolbox sont aussi disponibles (voir Appendice 1), leur nombre dépend de l’environnement, il est parfois plus restreint. Ces notes ne constituent pas une référence exhaustive sur MatLab, mais soulignent les no- tions principales de manière succincte et servent de guide pour le travail en laboratoire. Elles devraient inciter l’étudiant à chercher lui-même les compléments d’information qui lui sont nécessaires, soit avec les outils d’aide en ligne, soit dans les ouvrages suivants: • Introduction à Matlab J.-T. Lapresté (Ellipses, 1999) • Mastering Matlab 6 D. Hanselman B. Littlefield (Prentice Hall, 2001) • Apprendre et maîtriser Matlab M. Mokhtari A. Mesbah, (Springer, 1997) • Solving problems in scientific computing using Maple and Matlab W. Gander, J. Hrebicek (Springer, 1995, second edition) • Numerical Methods Using Matlab G. Lindfield J. Penny (Prentice Hall, 2nd edition : 2000) Matlab est relativement coûteux car il contient un nombre impressionnant de fonctions. Il existe une version étudiant à un prix abordable et un clone (Octave), disponible en freeware, dont la compatibilité avec Matlab est assez bonne: (http://www.octave.org/ ou dans la distribution SuSE de Linux). Les exemples donnés dans le cours sont disponibles sur le serveur servtp3-1 des Travaux Pra- tiques Avancés, dossier public/infophys/matlab/cours/. Les solutions d’exercices sont dans le dossier public/infophys/matlab/exercices/. Nous nous bornons ici à décrire le language Matlab qui est indépendant de la plateforme uti- lisée. L’environnement de travail offre plusieurs fonctionalités assez conviviales qui sont utiles au développement. L’utilisateur les mettra à profit sans difficulté. MatLab1.fm (15 October 2004) 3 1. Aspects élémentaires 1.1 Aides help -> donne de l’aide sur une fonction ou un toolkit (help help) helpdesk -> documentation en hypertexte (requiert Netscape ou autre) helpwin -> aide en ligne dans une fenêtre séparée lookfor -> recherche d’un mot clé (lent) which -> localise fonctions et fichiers what -> liste des fichiers matlab dans le répertoire courant exist -> check si une fonction ou une variable existe dans le workspace who, whos -> liste des variables dans le workspace 1.2 Variables scalaires, workspace, opérations élémentaires >> var=2 var = 2 >> autre=3; >> who % fournit la liste des fonctions définies dans le workspace Your variables are: autre var >>whos % donne plus d'informations que who Sous Windows, vous avez accès au “Workspace browser” dans la barre d’outils. >> clear autre >> who Your variables are: var >>clear % efface toutes les variables du workspace Opérations élémentaires: + - * / or \ ^ >> 4/2 ans = 2 >> 2\4 ans = 2 1.3 Commentaires, ponctuation >> s=2+3 % je fais une somme s = 5 >> cout_moyen = cout ... % commande sur deux lignes / nombre; MatLab1.fm (15 October 2004) 4 1.4 Variables spéciales pi inf i or j realmin realmax eps ans flops (# d’opérations effectuées) >> eps ans = 2.2204e-16 >> realmax ans = 1.7977e+308 >> realmin ans = 2.2251e-308 1.5 Nombres complexes >> c1 = 1-2i c1 = 1.0000 - 2.0000i c2 = 3*(2-sqrt(-1)*3) c2 = 6.0000 - 9.0000i real(c1) imag(c1) abs(c1) >> angle(c1) ans = -1.1071 autres fonctions: conj isreal 1.6 Fonctions mathématiques sin cos tan sinh cosh tanh ... asin acos atan asinh acosh atanh ... exp log log10 sqrt fix floor ceil round mod rem sign cart2sph cart2pol pol2cart sph2cart factor isprime primes gcd (pgcd) lcm (ppcm) nchoosek (nombre de combinaisons différentes de N éléments pris k à k) >> nchoosek(30,4) ans = 27405 perms (toutes les permutations possibles d’un vecteur V) >> perms([1 2 3]) ans = 3 2 1 2 3 1 3 1 2 1 3 2 2 1 3 1 2 3 Attention au CPU! Vous pouvez stopper avec Ctrl-C besselj besselh .... beta ... erf ... gamma ... legendre MatLab1.fm (15 October 2004) 5 cross (produit vectoriel) dot (produit scalaire) >> v1=[1 3 5] v1 = 1 3 5 >> v2=[2 4 6] v2 = 2 4 6 >> cross(v1,v2) ans = -2 4 -2 >> dot (v1, v2) ans = 44 >> whos Name Size Bytes Class ans 1x1 8 double array c1 1x1 16 double array (complex) c2 1x1 16 double array (complex) v1 1x3 24 double array v2 1x3 24 double array 1.7 Affichage FORMAT Set output format. All computations in MATLAB are done in double precision. FORMAT may be used to switch between different output display formats as follows: FORMAT SHORT (default) Scaled fixed point format with 5 digits. FORMAT LONG Scaled fixed point format with 15 digits. FORMAT SHORT G Best of fixed or floating point format with 5 digits. FORMAT LONG G Best of fixed or floating point format with 15 digits. Autres format : cf help format Spacing: FORMAT COMPACT Suppress extra line-feeds. FORMAT LOOSE Puts the extra line-feeds back in. examples: >> pi ans = 3.1416 >> format long g >> pi ans = 3.14159265358979 MatLab1.fm (15 October 2004) 6 1.8 Entrées-sorties Deux commandes utiles pour gérer le workspace, dont la taille dépend de votre espace de swap: >> save % écrit toutes les variables du workspace dans le fichier matlab.mat >> load % charge dans le workspace toutes les variables du fichier matlab.mat Entrées-sorties sur des fichiers disques: fopen (ouverture d’un fichier) fclose (fermeture d’un fichier) fscanf (lecture formatée) fprintf (écriture formatée) N = input( ’Nombre de boucles désirées >’); % entrée interactive disp(N) % affiche la valeur de N 1.9 Terminer Matlab >> quit % retourne le nombre d’opérations effectuées pendant la session 5340584 flops. 1.10 Personnaliser Matlab Si, au démarrage, Matlab trouve le fichier startup.m, il l’exécute. Exemple de startup.m : disp(’ Executing STARTUP.M’) addpath(’ H:/Matlab/Cours’); addpath(’ H:/Matlab/Exercices’); cd Matlab; % (set current directory to ./Matlab) format compact disp(’ STARTUP.M completed’) MatLab1.fm (15 October 2004) 7 2. Vecteurs 2.1 Création de vecteurs Par défaut, le vecteur est une ligne à plusieurs colonnes a) vecteur ligne par énumération des composantes: >> v = [1 3.4 5 -6] v = 1.0000 3.4000 5.0000 -6.0000 b) vecteur ligne par description: >> x = [0 : pi/10 : pi] % [valeur-initiale : incrément : valeur-finale] x = Columns 1 through 7 0 0.3142 0.6283 0.9425 1.2566 1.5708 1.8850 Columns 8 through 11 2.1991 2.5133 2.8274 3.1416 c) vecteur colonne: >> xcol = x’ xcol = 0 0.2856 0.5712 0.8568 1.1424 1.4280 1.7136 1.9992 2.2848 2.5704 2.8560 3.1416 d) génération de vecteurs métriques >> x = linspace(0, pi, 11) % génère le même x que ci-dessus (11 valeurs. répar- ties de 0 à pi) x = Columns 1 through 7 0 0.3142 0.6283 0.9425 1.2566 1.5708 1.8850 Columns 8 through 11 2.1991 2.5133 2.8274 3.1416 >>% linspace(0 , 1, 11) *pi donne le même résultat >> logspace(0, 2, 11) % crée un vecteur log à 11 composantes entre 100 et 102 ans = Columns 1 through 7 1.0000 1.5849 2.5119 3.9811 6.3096 10.0000 15.8489 Columns 8 through 11 25.1189 39.8107 63.0957 100.0000 MatLab1.fm (15 October 2004) 8 2.2 Adressages et indexages >> x(3) % 3ème élément du vecteur x ans = 0.5712 >> x(2 : 4) % un bloc de composantes ans = 0.2856 0.5712 0.8568 >> x([8 3 9 1]) % une sélection de composantes (on les désigne avec un autre vecteur!) ans = 1.9992 0.5712 2.2848 0 2.3 Combinaison de vecteurs a) Accolage de deux vecteurs: >> a = [1:3] a = 1 2 3 >> b=[10:10:30] b = 10 20 30 >> c = [a b] c = 1 2 3 10 20 30 On peut faire plus compliqué: >> d=[a(2:-1:1) b] % on accole b avec une portion de a dans l’ordre renversé d = 2 1 10 20 30 Notez la différence entre () et [] : Tableau 1: Notations [ ] énumération d’éléments : descripteur d’éléments de vecteur/matrice ( ) ensemble d’arguments , séparateur d’arguments ; séparateur des lignes dans les matrices supression du résultat de l’évaluation d’une instruction ’ transposition de matrice . force l’opérateur à s’appliquer sur chaque élément du vecteur/matrice % délimitateur de commentaire ... continuation de l’instruction sur la ligne suivante MatLab1.fm (15 October 2004) 9 3. Matrices 3.1 Création de matrices Un matrice est un ensemble de lignes comportant uploads/Litterature/ matlab-1 1 .pdf
Documents similaires
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/0H8N5IpRL5QLcmlJ2VWsMoJKzbPtiZR224ak0u1LiCmPG9zOsR91irDtXFO25GiGkHQs3QAB8cxf7EJaGbTsv84U.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/2dF8pLOkaHb5elpUFaaHVbtyIEtEiGsJmvRR35AsdKJZPkCJHyqqEvx3BAzQS98Pp96v8VmnAUArIZPS3J9EwT8a.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/5zVBRPdZk1MxNQ3VimvyyFt6MXPcus2VRE7GMbGykfjOuI2fjlSPzmrz1VJ8rallIE8fxXbO3L6EAjCzNvHAo7cL.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/3ZGKhaJqo0DdnM2r7lYnviHUNIuCfmDLq2Lk1cLUPuZ5AVBbFBgUuJeB8SKdhZRYqe7bRoWQUHmMCWpGPvDSoMmD.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/xS1VJZmmtkEoo5KgoKYlwobZhMOgVbYcDi5ZTMuye7wCQvuBTDMI9FWUumwL06ffyA0fjrBRMcZojjXNSHD5NFkb.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/AIitNOkrTzVmsPf0MlYboptimlwMeyosmf7e8eKLItHH3rnzf73cArPhrRzW5UWmhpx6gvtfZt939m01UbWwQUVZ.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/ciT57UJYeYXfDYAp8cNdtM0bjwhjqxMCUgtGpcK9TbqRy99NYpCkW5i2oXTq2V1qQcgyyiYCSuYZBIawG3VfnPY0.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/jHZ54lSjD7KUOLOKa4FKUiVE8JoRlvd3D0nwCGfQebC176bReVO8NUBM1eTPNow0vMTEbwK3FIXGGSJ0cQzQcu4k.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/J8dDylRQg6A82TQGlvKAK4iFGfG8Fkw2lCPcPaBvbGX6PEZUJrt9ZahyBEnMNvceFMRZdoXPXsSsIH1ispczQgL9.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/7vhtlRojkH7g4sTOYHX8L2jVbg8GnqvI7d1BDGPoU4MJQ8GGB7uwAqC9qhwozkc3tTNKQAYTvJqBi1UXdSkZLd52.png)
-
19
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Nov 16, 2021
- Catégorie Literature / Litté...
- Langue French
- Taille du fichier 0.7090MB