Cours d’introduction à MATLAB High-Tech Ecole d'ingénierie 2ème année G.I Année
Cours d’introduction à MATLAB High-Tech Ecole d'ingénierie 2ème année G.I Année universitaire : 2015-2016 2 Introduction à MATLAB MATLAB est un langage de programmation de haut niveau, intégrant plusieurs fonctionnalités, il fournit un environnement interactif pour la création et la gestion de programmes. Dans ce qui suit on introduit quelques fonctionnalités de bases qui nous permettrons d’apprendre à manipuler le logiciel et de nous familiariser avec le langage. L’élément fondamental chez MATLAB est la matrice, puisque le type de base des données est le type « array ». Scalaires, vecteurs, matrices réelles et complexes sont considérés comme étant des cas spéciaux du type de base. 1. Arithmétique simple MATLAB permet l’utilisation d’opérateurs arithmétiques classiques que sont + − / ∗ ^ pour effectuer des opérations directement sur des nombres ou sur des variables après leur avoir affecté des valeurs. Exemples : >> 2 + 2 ans = 4 L’addition ci-dessus est effectuée directement sur les nombres et le résultat est stocké dans la variable par défaut ‘ans’ et affiché. >> x = 2 + 2 x = 4 Le résultat de l’addition est stocké dans la variable ‘x’, grâce à l’opérateur d’affectation ’=’. >> y = 3 + 5 - 7; >> 2*y+2 ans = 4 On remarque que le résultat de la première opération ne s’affiche pas, car un point virgule à la fin de chaque instruction empêche l’affichage, chose très utile pour empêcher l’affichage de résultats intermédiaires. >> 4*(3-2)/7+5 3 ans = 5.5714 Lors de l’existence de plusieurs opérateurs dans une même expression les opérations suivent l’ordre de priorité usuel. 2. Entrées/Sorties et formatage de données 2.1. Entrées/Sorties MATLAB offre la possibilité de communication avec l’utilisateur grâce aux entrées/sorties de données qui peuvent se faire à travers plusieurs manières différentes, dans cette introduction on ne s’intéressera qu’à la communication par clavier. Pour instruire au programme d’attendre la saisie d’une valeur pour ‘x’ on écrit : >> x = input('Entrer une valeur pour x : ') Le résultat est le suivant : Entrer une valeur pour x : 5 x = 5 Quand à l’affichage de données, au lieu d’écrire le nom de la variable directement il y a d’autre moyen pour afficher sa valeur à l’écran, deux commandes utiles sont ‘disp()’ et ‘fprintf()’ : >> disp('la valeur de x : '), disp(x) la valeur de x : 5 >> f = 19 ; >> c = (5/9)*(19-32) ; >> fprintf('%5.2f en Fahrenheit est égale à %5.2f en Centigrade. \n',f,c) 19.00 en Fahrenheit est égale à -7.22 en Centigrade. 2.2. Formatage de données MATLAB offre plusieurs format qui permettent l’affichage de plus ou moins de ‘digits’ selon le besoin : >> format rat %forme rationnelle >> format long %forme décimale avec 14 digits 4 >> format long e %forme exponentielle longue >> format hex %forme hexadécimale telle que représentée en mémoire >> format short e %forme exponentielle courte >> format short %forme par défaut à 4 digits Le signe ‘%’ permet de mettre un commentaire car tout ce qui vient après est ignoré. 3. Matrices et vecteurs 3.1. Initialisation Les matrices sont saisies sur une seule ligne où les éléments consécutifs des lignes sont séparées par un espace ou une virgule et les lignes sont séparées par un point virgule, le tout doit être entre crochets. Exemple : >> M = [2 6 3 ; 3 8 1 ; 1 5 3] M = 2 6 3 3 8 1 1 5 3 Cas spéciaux : vecteurs et scalaires Le vecteur est un cas spécial d’une matrice avec une seule ligne ou une seule colonne, tandis qu’un scalaire est considéré par MATLAB comme une matrice 1x1 et n’a pas besoin de crochets lors de sa saisie. Exemples : >> V_l = [2 6 3] %vecteur ligne V_l = 2 6 3 >> V_c = [6 ; 8 ; 5] %vecteur colonne V_c = 6 8 5 5 >> V_c = [6 8 5]' %vecteur colonne également (utilisation de la transposée) V_c = 6 8 5 Continuation S’il n’est pas possible d’écrire toute l’instruction sur une seule ligne on peut alors utiliser trois points (…) pour signaler à MATLAB que la suite de cette instruction écrite sur la ligne en cours se fera sur la ligne suivante. Exemple : >> M = [4 8 6 ; 4 3 ... 15 ; 0 4 7] M = 4 8 6 4 3 15 0 4 7 3.2. Appel d’éléments Une fois qu’une matrice ou qu’un vecteur existent on peut accéder à leurs éléments en spécifiant les indices de leur ligne et de leur colonne. La notation M(i,j) spécifie donc, l’élément de la matrice M existant sur la ligne i et la colonne j, ce qui est une chose commune pour les logiciels de calcul scientifique et les langages de programmation. Cependant, MATLAB permet une plus grande flexibilité au niveau de la manipulation des matrices dans le sens où il permet la spécification d’un ensemble de ligne et de colonne en même temps grâce au caractère ‘:’. Exemples : Vecteurs : V(indice_élément) >> V = [5 7 9 6 3] ; >> V(2) %donne le 2ème élément du vecteur >> V(3:5) %donne les éléments du 3ème jusqu’au 5ème >> V(:) %retourne le vecteur sous forme de vecteur colonne >> V(end) %retourne le dernier élément du vecteur 6 MATRICES : M(indice_ligne, indice_colonne) >> M = [5 7 6 ; 4 9 6 ; 7 8 3] ; >> M(3,2) %retourne la valeur 8 >> M(2:end,1:2) %retourne les éléments sur la 2ème et 3ème ligne et la 1ère et 2ème colonne >> M(1,:) %retourne toute la première ligne >> M(:,3) %retourne toute la dernière colonne 3.3. Matrices et vecteurs commun MATLAB offre plusieurs commande pour aider à la génération et à la manipulation des matrices, ces commande appelées ‘matrices d’utilité’ permettent de créer des matrices et vecteurs communs. Exemples : >> eye(3) % Matrice unité de taille 3x3 >> zeros(3) % Matrice nulle de taille 3x3 >> ones(3) % Matrice de 1 de taille 3x3 Il existe également des commandes permettant de créer des matrices contenant des variables aléatoires générées selon les lois de probabilité uniforme ou normale ‘rand’ et ‘randn’ ainsi que des commandes permettant la création de vecteurs constitués de suite de nombre équidistants où l’on peut préciser le pas. Exemples : >> V = linspace(1,5,10) % Un vecteur constitué de 10 valeurs équidistantes entre 1 et 5 V = Columns 1 through 7 1.0000 1.4444 1.8889 2.3333 2.7778 3.2222 3.6667 Columns 8 through 10 4.1111 4.5556 5.0000 >> V = 1:7 %Vecteur contenant des valeurs allant de 1 à 7 avec un pas de 1 V = 1 2 3 4 5 6 7 >> V = 7:-1:1 %Vecteur contenant des valeurs allant de 7 à 1 avec un pas de -1 7 V = 7 6 5 4 3 2 1 3.4. Opérations sur les matrices : Opérations usuelles Les opérations usuelles sur les matrices peuvent être effectuées directement à l’aide des opérateurs arithmétiques ce qui constitue un grand avantage par rapport aux autres langages de programmation. Exemples : >> A = [1 2 3 ; 4 5 6] ; >> d = ones(2,1) ; >> A'*d ans = 5 7 9 >> B = [3 4 ; 0 1] ; >> C = [2 1 ; 0 1] ; >> C/B ans = 0.6667 -1.6667 0 1.0000 Opération élément par élément MATLAB permet également d’effectuer des opérations élément par élément pour la multiplication, la division et la puissance et ceci en utilisant les opérateurs : .∗ ./ . ^ Exemple : >> V = [ 7 5 9]; V.^2 ans = 49 25 81 8 4. Fichiers script et fonction 4.1. Scripts A travers son éditeur MATLAB offre la possibilité de créer des scripts, qui sont des fichiers d’extension ‘.m’ regroupant une suite d’instruction. Un script peut être exécuté en écrivant son nom dans le ‘prompt’, son exécution est équivalente à la saisie des instructions une par une dans la fenêtre de commande. Un fichier script peut contenir un nombre quelconque de commande ainsi que des appels à des fonctions déjà existantes ou écrites par l’utilisateur. 4.2. Fonctions 4.2.1. Fichier fonction Un fichier fonction est également un fichier d’extension ‘.m’ il commence par une ligne de définition ayant la syntaxe suivante : function [ output_arguments ] = function_name( input_arguments ) Il faut faire attention à ce que le nom de la fonction ‘function_name’ soit le même que le nom du fichier dans lequel la fonction est enregistrée. L’appel de la fonction peut se faire à travers la saisie de son nom et des arguments correspondants. Les arguments de sorties, quand ils ne sont pas importants, peuvent être omis lors de l’appel. Exemple : function [a,p] = APDisque(r) %---fonction calculant l'aire et le périmètre d'un disque de rayon r---% a = pi.*r^2; p = 2.*pi.*r; end L’appel à la fonction dans le ‘prompt’ se fait par : >> [a,p] = APDisque(2); 4.2.2. Fonctions anonymes Dans le cas d’une fonction ayant uploads/s3/ introduction-a-matlab.pdf
Documents similaires
-
29
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Dec 04, 2022
- Catégorie Creative Arts / Ar...
- Langue French
- Taille du fichier 0.9792MB