Université de Constantine 1 Département de Sciences et Technologie Préparé par
Université de Constantine 1 Département de Sciences et Technologie Préparé par Dirigé par : Prof. A. MESSAI NOUAR NABILA MERICHE MOHAMMAD AMIN MEDJANI MERIEM LOUHICHI AISHA PLAN 1.Prise en main MATLAB 2.Notions de base 3. Gestion des données 4.Programmer avec Matlab 5.Représentation graphique sous MATLAB Support de cours 1. Prise en main MATLAB 1.1) Introduction MATLAB est un système interactif de programmation scientifique, pour le calculnumérique et la visualisation graphique, basé sur la représentation matricielle desdonnées. Le nom dérive de cette représentation : MATLAB = MATrix LABoratory. Ce langage contient un minimum de structures de programmation (structure itérative, structure conditionnelle, sous-routine). L’avantage est qu’il est très simple et très rapide à programmer, offrant une grande tolérance (syntaxe simple, pas de définition de types, etc), ce qui permet un gain appréciable en temps de mise au point. L’ingénieur peut par ce moyen être plus efficace dans l’analyse d’un problème. MATLAB peut donc être utilisé pour la résolution approchée d'équations différentielles, d'équations aux dérivées partielles ou de systèmes linéaires, etc.... L'objectif de ce support de cours est double : la connaissance de ce logiciel est en soi indispensable parce qu'il est de plus en plus utilisé dans l'industrie et les banques pour développer des prototypes de logiciels et la mise en pratique des algorithmes d'analyse numérique étudiés. 1.2) Lancer MATLAB L’interface MATLAB est composée des fenêtres suivantes : (Voir Figure 1) A) Command Window: invite de commande permettant de taper des instructions, d'appeler des scripts,d'exécuter des fonctions matlab. B) Command History : historique des commandes lancées depuis l'invite de commande. C) Workspace: il liste les variables en mémoire, il permet également de parcourir graphiquement lecontenu des variables. D) Current Directory : un navigateur de fichier intégré à MATLAB pour visualiser le répertoire de travail courant et y effectuer les opérations classiques tel que renommer ou supprimer un fichier. E) le Help browser : un navigateur permettant de parcourir l'aide de MATLAB. L'aide est un outilprécieux pour trouver les fonctions et apprendre leur fonctionnement (notamment le format des données à fournir en entrée ainsi que les valeurs renvoyées par la fonction). Figure1 : L’interface graphique de l’environnement MATLAB. Il existe deux modes de fonctionnement: 1) Mode interactif: Matlab exécute les instructions au fur et à mesure qu'elles sont données par l'usager. 2) Mode exécutif: Matlab exécute ligne par ligne un programme matlab (d'extension.m). Un 'programme Matlab' (ou 'm-file' en anglais) est une suite d'instructions matlab écrites dans un éditeur de texte et sauvées dans un fichier avec une extension .m. 2. Notions de base Caractères spéciaux Opérateurs ( ) parenthèses = affectation , virgule ; point virgule % commentaire : « jusqu’à » + (addition) ) >> 3+2 - (soustraction) ) >> 3-2 * (multiplication) ) >> 3*2 / (division) ) >> 3/2 ^ (puissance) ) >> 3^2 2.1) Opérateurs et caractères spéciaux 2.2) Syntaxe du langage On distingue plusieurs types de variables selon les données qu'elles servent à stocker (nombre, caractère alpha- numérique, tableau, matrice, structure) : A)Nombre Les nombres réels peuvent être écrits sous différents formats: 5 1.0237 0.5245E-12 Les nombres complexes peuvent être écrits sous forme cartésienne ou polaire: Forme cartésienne: 0.5 + i*2.7 -1.2 + j*0.789 2.5 + 9.7i Forme polaire: 1.25*exp(j*0.246) B) Variable lorsqu'aucune variable d'affectation n'est pas spécifiée pour stocker le résultat de l'opération, MATLAB stocke le résultat dans une variable appelée ans (diminutif pour answer), comme suit : Exemple : >> 3+2 ans = 5 Sinon, le nom d’une variable peut être spécifiée pour stocker le résultat de l’opération effectuée : Exemple : >>x = 3+2 x = 5 Cette variable peut être utilisée dans l’opération suivante : Exemple : >>x/2 ans = 2.5000 Cependant, il existe des variables prédéfinies : ans : résultat de la dernière évaluation pi : 3.1416… inf : Infini (1/0) NaN : "Not a Number" (0/0) i, j : représentent tous les deux le nombre imaginaire unité ( -1 ) NB : Les noms de variable doivent commencer par une lettre, et sont sensibles à la différenciationdes caractères (majuscule/minuscule) et ne peuvent contenir aucun caractère spécial exceptée le tiret bas. Il faut éviter d'utiliser comme nom de variable des noms déjà employés comme nom defonctions (par ex : min, max, exp ...). MATLAB générera également une erreur si un des mots-clefs réservé suivant est utilisé : for, end, if, while, function, return. C) Vecteurs et matrices Les vecteurs et matrices peuvent être construits directement selon la syntaxe suivante Ils sont délimités par des crochets Les éléments sont entrées ligne par ligne Les éléments appartenant à la meme ligne sont séparés par des virgules ou des espaces Les différentes lignes doivent comporter le même nombre d'éléments et sont séparées par des point-virgule. 1) Vecteurs On peut définir un vecteur x en donnant la liste de ses éléments: a) Un vecteur ligne est un vecteur dont les éléments sont séparées par des virgules >> x=[0.5, 1.2, -3.75, 5.82, -0.735] x = 0.5000 1.2000 -3.7500 5.8200 -0.7350 b)Un vecteur colonne est un vecteur dont les éléments sont séparés par des points-virgule >> y=[0.5;1.2;-3.75;5.82;-0.735] y = 0.5000 1.2000 -3.7500 5.8200 -0.7350 Des vecteurs définis au préalable peuvent être utilisés pour générer d’autres vecteurs Exemple >> a=[1 2 3]; >> b=[4 5 6]; >> c=[a b] c = 1 2 3 4 5 6 Si l'on veut déterminer la longueur d'un vecteur, on utilisera la commande "length" : >> l=length(c) l = 6 2) Matrices On définit aussi une matrice A en donnant ses éléments: >> A=[0.5 2.7 3.9 4;4.5 0.85 -1.23 3;-5.12 2.47 9.03 2] A = 0.5000 2.7000 3.9000 4.0000 4.5000 0.8500 -1.2300 3.0000 -5.1200 2.4700 9.0300 2.0000 Pour en connaître la dimension, on utilise la commande "size" : >>[l c]=size(A) l = 3 c = 4 Certaines matrices sont prédéfinies dans matlab. Ainsi "zeros(m,n)" crée une (m,n)matrice de zéros; "ones(m,n)" crée une (m,n) matrice de uns et "eye(n)" crée une(n,n) matrice identité. Exemple >> B=eye(4) B = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 NB : Les éléments d'un vecteur ou d'une matrice peuvent être adressés en utilisant lesindices sous la forme suivante: t(10) donne l’ élément no. 10 du vecteur t A(2,9)donne l’ élément se trouvant à ligne 2, colonne 9 de la matrice A B(:,7) donne la colonne 7 de la matrice B C(3,:) donne la ligne 3 de la matrice B L'opérateur deux points (:) permet également de créer un vecteur ligne de la manière suivante : <debut>:<incrément>:<fin> si l'incrément n'est pas spécifié, il sera pris égal à 1. 3) Opérations matricielles (Voir Glossaire) Voici quelques opérations matricielles exécutées par MATLAB : B = A' La matrice B est égale à la matrice A transposée E = inv(A) La matrice E est égale à la matrice A inversée C = A + B Addition D = A - B Soustraction Z = X*Y Multiplication X = B/ADivision (Équivalent à B*inv(A)) [ X = A\B Équivalent à inv(A)*B ] Note: Attention aux dimensions des multiplications et divisions de matrices. 4) Les opérations «ÉLÉMENT PAR ÉLÉMENT» : Les opérations «élément par élément» des vecteurs et des matrices sont effectuéesen ajoutant un point (.) avant les opérations * / ^ Exemple : >> A=[1 2 3 4 5]; >> B=[6 7 8 9 10]; Essayez de faire C = A*B; et justifiez ce qui se passe; puis essayez la multiplication 'élément par élément' >> C=A.*B C = 6 14 24 36 50 >> D=A./B D = 0.1667 0.2857 0.3750 0.4444 0.5000 D) Fonctions 1) Expressions mathématiques ( Voir GLOSSAIRE) On écrit les expressions mathématiques de la façon habituelle: z = 5*exp(-0.4*x).*sin(7.5*y); 2)Fonctions mathématiques ( Voir GLOSSAIRE) 3) Fonctions trigonométriques (Voir GLOSSAIRE) 3) Gestion des données 3.1) Lecture et écriture au clavier et des fichiers On peut avoir à lire des données numériques ou alphanumériques dans un fichier, par exemple les conditions initiales d'un calcul ou un maillage qui a été généré par un autre programme. Exemple 1 : M = dlmread('NomDeFichier','Delimiteur') Lit des données numériques du fichier ASCII NomDeFichier, chaque nombre est séparé du suivant par le caractère Délimiteur ou par un retour _a la ligne. La virgule et l'espace sont des délimiteurs par défaut. [A,B,C,...] = textread('NomDeFichier','format') Lit les variables avec le format spécifiée jusqu'à épuisement du fihier. (Le nombre de variables à lire et le nombre de données dans le fichier doivent correspondre.) Exemple 2 : fid=fopen('NomDeFichier') % ouvre le fichier A = fscanf(fid,format) [A,count] = fscanf(fid,format,size) Lit les données avec le format spécifiée. Un format est une chaine de caractères spécifiant en lecture le typede données à lire, c'est-à-dire : '%d' pour un entier '%f' pour un réel '%c'pour un caractère NB :Si on veut un format plus lisible, en particulier, afficher plusieurs variables sur la même ligne, on peut utiliser la commande fprintf. Exemple : a=1.5; b=2; fprintf('a = %f et b= %d',a,b); a =1.5 uploads/Management/ support-de-cours-matlab.pdf
Documents similaires










-
29
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Oct 16, 2022
- Catégorie Management
- Langue French
- Taille du fichier 0.4809MB