Introduction à l'environnement MATLAB PDF

Document Details

Uploaded by Deleted User

Tags

MATLAB calcul scientifique programmation environnement informatique

Summary

Ce document fournit une introduction à MATLAB, un environnement de calcul scientifique interactif et performant. Il explique les fonctionnalités de base, y compris le calcul numérique, la visualisation et la programmation. Le document présente également quelques fonctionnalités mathématiques de MATLAB.

Full Transcript

Chapitre I : Introduction à l’environnement MATLAB Chapitre I : Introduction à l’environnement MATLAB 1. Introduction - Historique MATLAB est une abréviation de Matrix LABoratory, écrit à l’origine, en Fortran, par C....

Chapitre I : Introduction à l’environnement MATLAB Chapitre I : Introduction à l’environnement MATLAB 1. Introduction - Historique MATLAB est une abréviation de Matrix LABoratory, écrit à l’origine, en Fortran, par C. Moler. MATLAB était destiné à faciliter l’accès au logiciel matriciel développé dans les projets LINPACK et EISPACK. La version actuelle, écrite en C par the MathWorks Inc., existe en version professionnelle et en version étudiant. Sa disponibilité est assurée sur plusieurs plateformes : Sun, Bull, HP, IBM, compatibles PC (DOS, Unix ou Windows), Macintoch, iMac et plusieurs machines parallèles. MATLAB est un environnement puissant, complet et facile à utiliser destiné au calcul scientifique. Il apporte aux ingénieurs, chercheurs et à tout scientifique un système interactif intégrant calcul numérique et visualisation. C'est un environnement performant, ouvert et programmable qui permet de remarquables gains de productivité et de créativité. MATLAB est un environnement complet, ouvert et extensible pour le calcul et la visualisation. Il dispose de plusieurs centaines (voire milliers, selon les versions et les modules optionnels autour du noyau Matlab) de fonctions mathématiques, scientifiques et techniques. L'approche matricielle de MATLAB permet de traiter les données sans aucune limitation de taille et de réaliser des calculs numérique et symbolique de façon fiable et rapide. Grâce aux fonctions graphiques de MATLAB, il devient très facile de modifier interactivement les différents paramètres des graphiques pour les adapter selon nos souhaits. L'approche ouverte de MATLAB permet de construire un outil sur mesure. On peut inspecter le code source et les algorithmes des bibliothèques de fonctions (Toolboxes), modifier des fonctions existantes et ajouter d’autres. MATLAB possède son propre langage, intuitif et naturel qui permet des gains de temps de CPU spectaculaires par rapport à des langages comme le C, le TurboPascal et le Fortran. Avec MATLAB, on peut faire des liaisons de façon dynamique, à des programmes C ou Fortran, échanger des données avec d'autres applications (via la DDE Dynamic Data Exchange : MATLAB serveur ou client) ou utiliser MATLAB comme moteur d'analyse et de visualisation. MATLAB comprend aussi un ensemble d'outils spécifiques à des domaines, appelés Toolboxes (ou Boîtes à Outils). Indispensables à la plupart des utilisateurs, les Boîtes à Outils sont des collections de fonctions qui étendent l'environnement MATLAB pour résoudre des catégories spécifiques de problèmes. TRIAL MODE − a valid license will remove this message. See the keywords property of this PDF for more information. Chapitre I : Introduction à l’environnement MATLAB MATLAB permet le travail interactif soit en mode commande, soit en mode programmation ; tout en ayant toujours la possibilité de faire des visualisations graphiques. Considéré comme l’un des meilleurs langages de programmation, MATLAB possède les particularités suivantes par rapport à ces langages : la programmation facile, la continuité parmi les valeurs entières, réelles et complexes, la gamme étendue des nombres et leur précision, la bibliothèque mathématique très compréhensive, l’outil graphique qui inclut les fonctions d’interface graphique et les utilitaires, la possibilité de liaison avec les autres langages classiques de programmation (C ou Fortran). La bibliothèque des fonctions mathématiques dans MATLAB donne des analyses mathématiques très simples. En effet, l’utilisateur peut exécuter dans le mode commande n’importe quelle fonction mathématique se trouvant dans la bibliothèque sans avoir à recourir à la programmation. Pour l’interface graphique, des représentations scientifiques et même artistiques des objets peuvent être créées sur l’écran en utilisant les expressions mathématiques. Les graphiques sur MATLAB sont simples et attirent l’attention des utilisateurs, vu les possibilités importantes offertes par ce logiciel. MATLAB n’est pas le seul environnement de calcul scientifique, il existe d’autres concurrents dont les plus importants sont Maple et Mathematica. Il existe même des logiciels libres qui sont des clones de MATLAB comme Scilab et Octave. 2. L’environnement MATLAB MATLAB affiche au démarrage plusieurs fenêtres. Selon la version on peut trouver les fenêtres suivantes : Current Folder: indique le répertoire courant ainsi que les fichiers existants. Workspace: indique toutes les variables existantes avec leurs types et valeurs. Command History: garde la trace de toutes les commandes entrées par l’utilisateur. Command Window: utilisée pour formuler nos expressions et interagir avec MATLAB. C’est la fenêtre que nous utilisons tout au long de ce chapitre. TRIAL MODE − a valid license will remove this message. See the keywords property of this PDF for more information. Chapitre I : Introduction à l’environnement MATLAB Figure I.1 : L’environnement MATLAB MATLAB est beaucoup plus qu'un langage de programmation. Il s'agit d'une console d'exécution (shell ) permettant d'exécuter des fonctions, d'attribuer des valeurs à des variables, etc. La console MATLAB permet d'effectuer des opérations mathématiques, de manipuler des matrices et de tracer facilement des graphiques. Le langage MATLAB n'est pas un langage compilé, à chaque appel d'un SCRIPT (ou d'une FUNCTION), le logiciel lit et exécute les programmes ligne par ligne L’utilisateur peut grâce à l'invite MATLAB affecter des valeurs à des variables et effectuer des opérations sur ces variables. Par exemple : TRIAL MODE − a valid license will remove this message. See the keywords property of this PDF for more information. Chapitre I : Introduction à l’environnement MATLAB Ici, il faut noter que lorsque l'utilisateur ne fixe pas de variable de sortie, MATLAB place le résultat d'une opération dans ans. Il est toujours possible de connaître les variables utilisées et leur type à l'aide de la fonction whos. Par exemple, pour les manipulations précédentes : !" # $%" && # $%" && # $%" && '& # " " $ ( % La solution de x+y est donc perdue. Il est donc préférable de toujours donner des noms aux variables de sortie : ) ) % % La fonction clear permet d'effacer des variables. Par exemple : *" & + ,, * # " - & !" # $%" && % # $%" && # $%" && '& # " " $ ( % Le signe de pourcentage % permet de mettre ce qui suit sur une ligne en commentaire (MATLAB n'en tiendra pas compte à l'exécution). TRIAL MODE − a valid license will remove this message. See the keywords property of this PDF for more information. Chapitre I : Introduction à l’environnement MATLAB Pour les variables de type caractère : char, la déclaration se fait entre apostrophes. Il est possible de concaténer (lier) des mots à l'aide des crochets..'-..! / ".) 0 1.. 2 + ". 3" #.. 3 & #. & #$ & $ 3 * 0 '- !/" 3. Les fichiers SCRIPT et FUNCTION. Pour des tâches répétitives, il est pratique et judicieux d'écrire de courts programmes, qu’on sauvegarde, pour effectuer les calculs désirés. Il existe deux types de fichiers qui peuvent être programmés avec MATLAB : les fichiers SCRIPT et FUNCTION. Dans les deux cas, il faut lancer l'éditeur de fichier et sauvegarder le fichier avec l'extension.m. Le fichier SCRIPT permet de lancer les mêmes opérations que celles écrites directement à l'invite MATLAB. Toutes les variables utilisées dans un SCRIPT sont disponibles à l'invite MATLAB. Cette approche est définie en Matlab par les M-Files, qui sont des fichiers pouvant contenir les données, les programmes (scripts) ou les fonctions que nous développons. Pour créer un M-Files il suffit de taper la commande edit, ou tout simplement aller dans le menu : File New M-Files (ou cliquer sur l’icône ). Une fenêtre d’édition comme celle- ci va apparaître : Figure I.2 : La fenêtre d’édition MATLAB TRIAL MODE − a valid license will remove this message. See the keywords property of this PDF for more information. Chapitre I : Introduction à l’environnement MATLAB Par exemple, le fichier test.m qui reprend l'exemple précédent: + *" & "" ) ) % MATLAB contient un grand nombre de fonctions prédéfinies comme sin, cos, sqrt, sum, etc.. Il est possible de créer nos propres fonctions en écrivant leurs codes « source » dans des fichiers M-Files (portant le même nom de fonction) en respectant la syntaxe suivante : Où : r1...rn sont les valeurs retournées, et arg1...argn sont les arguments. Le rôle d’une fonction est d'effectuer des opérations sur une ou plusieurs entrées pour obtenir un résultat qui sera appelé sortie. Par exemple : ,$ * 1 4%2 0,$ * 5 4 6 ) % ) TRIAL MODE − a valid license will remove this message. See the keywords property of this PDF for more information. Chapitre I : Introduction à l’environnement MATLAB On obtient 1 4%2 0, * 5 4 6 % !" # $%" && % # $%" && '& # " " $ ( % 4. Les principales constantes, fonctions et commandes MATLAB définit les constantes suivantes : La constante Sa valeur pi π=3.1415... exp(1) e=2.7183... i = j = Inf NaN Not a Number (Pas un nombre) eps ε 2 × 10−16. Parmi les fonctions fréquemment utilisées, on peut noter les suivantes : La fonction Sa signification sin(x) le sinus de x (en radian) cos(x) le cosinus de x (en radian) tan(x) le tangent de x (en radian) asin(x) l’arc sinus de x (en radian) acos(x) l’arc cosinus de x (en radian) atan(x) l’arc tangent de x (en radian) sqrt(x) la racine carrée de x TRIAL MODE − a valid license will remove this message. See the keywords property of this PDF for more information. Chapitre I : Introduction à l’environnement MATLAB abs(x) la valeur absolue de x |x| exp(x) = ex log(x) logarithme naturel de x ln(x)=loge(x) log10(x) logarithme à base 10 de x log10(x) imag(x) la partie imaginaire du nombre complexe x real(x) la partie réelle du nombre complexe x round(x) arrondi un nombre vers l’entier le plus proche floor(x) arrondi un nombre vers l’entier le plus petit max{n|n x, n entier} ceil(x) arrondi un nombre vers l’entier le plus grand min{n|n x, n entier} MATLAB offre beaucoup de commandes pour l’interaction avec l’utilisateur. Nous nous contentons pour l’instant d’un petit ensemble, et nous exposons les autres au fur et à mesure de l’avancement du cours. La commande Sa signification who Affiche le nom des variables utilisées whos Affiche des informations sur les variables utilisées clear x y Supprime les variables x et y clear, clear all Supprime toutes les variables clc Efface l’écran exit, quit Fermer l’environnement MATLAB format Définit le format de sortie pour les valeurs numériques {format long : affiche les nombres avec 14 chiffres après la virgule format short: affiche les nombres avec 04 chiffres après la virgule format bank : affiche les nombres avec 02 chiffres après la virgule format rat : affiche les nombres sous forme d’un ratio (a/b)} TRIAL MODE − a valid license will remove this message. See the keywords property of this PDF for more information. Chapitre I : Introduction à l’environnement MATLAB 5. Les vecteurs et les matrices 5.1 Les nombres en MATLAB MATLAB utilise une notation décimale conventionnelle, avec un point décimal facultatif ‘.’ et le signe ‘+’ ou ‘–‘ pour les nombres signés. La notation scientifique utilise la lettre ‘e’ pour spécifier le facteur d’échelle en puissance de 10. Les nombres complexes utilisent les caractères ‘i’ et ‘j’ (indifféremment) pour designer la partie imaginaire. Le tableau suivant donne un résumé : Le type Exemples Entier 5 -83 Réel en notation décimale 0.0205 3.1415926 Réel en notation scientifique 1.60210e-20 6.02252e23 (1.60210x10-20 et 6.02252x1023) Complexe 5+3i -3.14159j MATLAB utilise toujours les nombres réels (double précision) pour faire les calculs, ce qui permet d’obtenir une précision de calcul allant jusqu’à 16 chiffres significatifs. Mais il faut noter les points suivants : Le résultat d’une opération de calcul est par défaut affiché avec quatre chiffres après la virgule. Pour afficher davantage de chiffres utiliser la commande format long (14 chiffres après la virgule). Pour retourner à l’affichage par défaut, utiliser la commande format short. Pour afficher uniquement 02 chiffres après la virgule, utiliser la commande format bank. Pour afficher les nombres sous forme d’un ratio, utiliser la commande format rat. La commande Signification format short affiche les nombres avec 04 chiffres après la virgule format long affiche les nombres avec 14 chiffres après la virgule format bank affiche les nombres avec 02 chiffres après la virgule format rat affiche les nombres sous forme d’un ratio (a/b) TRIAL MODE − a valid license will remove this message. See the keywords property of this PDF for more information. Chapitre I : Introduction à l’environnement MATLAB Par exemple : 7 8 7, & " ( 7 8 7, & % 9 7 8 7, & & 7 8 7 7, & & 7 8 7 8 La fonction vpa peut être utilisée afin de forcer le calcul et présenter plus de décimaux significatifs en spécifiant le nombre de décimaux désirés. Par exemple : :& 5 6 /3 5 :& 5 64 6 5.2 Les opérations mathématiques. L'élément de base de MATLAB est la matrice. C'est-à-dire qu'un scalaire est une matrice de dimension 1x1, un vecteur colonne de dimension n est une matrice n x 1, un vecteur ligne de dimension n, une matrice 1 x n. Contrairement aux langages de programmation usuels, il n'est TRIAL MODE − a valid license will remove this message. See the keywords property of this PDF for more information. Chapitre I : Introduction à l’environnement MATLAB pas obligatoire de déclarer les variables avant de les utiliser et, de ce fait, il faut prendre toutes les précautions dans la manipulation de ces objets. Les scalaires se déclarent directement, par exemple : ) ) Les vecteurs lignes se déclarent en séparant les éléments par des espaces ou des virgules de: ;0" ( 1 2 ;0" ( Les vecteurs colonnes se déclarent en séparant les éléments par des points-virgules : ;0* " 1 ) ) 2 ;0* " Il est possible de transposer un vecteur à l'aide de la fonction transpose: ;0* " & 3 5;0" ( 6 ;0* " Le double point ( :) est l'opérateur d'incrémentation dans MATLAB. Ainsi, pour créer un vecteur ligne des valeurs de 0 à 1 par incrément de 0.2, il suffit d'utiliser : ; 1 < < 2 ; ! "$ & $( TRIAL MODE − a valid license will remove this message. See the keywords property of this PDF for more information. Chapitre I : Introduction à l’environnement MATLAB Par défaut, l'incrément est de 1. Ainsi, pour créer un vecteur ligne des valeurs de 0 à 5 par incrément de 1, il suffit d'utiliser : ; 1 < 2 ; On peut accéder à un élément d'un vecteur et même modifier celui-ci directement : ;5 6) ;5 6 ; La fonction linspace : La création d’un vecteur dont les composants sont ordonnés par intervalle régulier et avec un nombre d’éléments bien déterminé peut se réaliser avec la fonction : linspace (début, fin, nombre d’éléments). Le pas d’incrémentation est calculé automatiquement par Matlab selon la formule : Par exemple : @ " 3 * 5 4 4 6 + $ / * $& # :$ & -"- # A @ B " 3 * 5 4 4 6 + $ / * $& # :$ & -"- # A B = "" #>$ / * $& 5" %& # * 3 63 $ ?& % $ / *" , * * $ < " ( 5@6 +" "" #$ / * $& @ TRIAL MODE − a valid license will remove this message. See the keywords property of this PDF for more information. Chapitre I : Introduction à l’environnement MATLAB Les opérations usuelles d'addition, de soustraction et de multiplication par scalaire sur les vecteurs sont définies dans MATLAB : ; 1 2) ; 1 2) ; ; ; + ## # / * $& ; ; ; C; + $ & * # / * $& ; ; ; + $" 3" * 3 &$ * " & ; On peut aussi créer des matrices, par exemple : ; 1 2) ; 1 2) ; 1; ); 2 ; Les matrices peuvent aussi être construites directement : D 1 ) 2 D On peut évidemment avoir accès aux éléments de la matrice par : D5 4 6 + "( 4 & * " TRIAL MODE − a valid license will remove this message. See the keywords property of this PDF for more information. Chapitre I : Introduction à l’environnement MATLAB Il est possible d'inverser inv() et de transposer transpose()les matrices : /D /5D6 /D C C & 3D & 3 5D6 & 3D Un des intérêts de MATLAB est la possibilité d'utiliser directement les opérations mathématiques prédéfinies pour les matrices. L'addition et la soustraction sont directes (attention aux dimensions) ainsi que la multiplication par un scalaire : E 1 ) 2) 1 ) 2) ! E + ## ! F EC + $ & * F C C ! E+ $" 3" * 3 &$ * " & ! ! E + $" 3" * # &* ! F E8 + # / # &* F C C Il est utile de noter les possibilités suivantes : − L’accès à un élément de la ligne i et la colonne j se fait par : A(i,j) − L’accès à toute la ligne numéro i se fait par : A(i,:) − L’accès à toute la colonne numéro j se fait par : A(:,j) TRIAL MODE − a valid license will remove this message. See the keywords property of this PDF for more information. Chapitre I : Introduction à l’environnement MATLAB Par exemple : E 1 4 4 4 ) 4 4 4 ) 4 4 4 2 + *&- # " &* E E G G E5 4 6 + ">-"- $& " "( A" * " G& E5 4

Use Quizgecko on...
Browser
Browser