Université Sidi Mohammed Ben Abdallah Faculté Des Sciences et Techniques Fès Dé
Université Sidi Mohammed Ben Abdallah Faculté Des Sciences et Techniques Fès Département Génie Electrique LICENCE ETI Electronique, Télécommunications et Informatique Introduction à MATLAB et Simulink Pr. Abdellah MECHAQRANE Année Universitaire 2007-2008 1 Introduction MATLAB (abréviation de MATrix LABoratory) est un langage de haute performance. Il intègre calcul, visualisation (graphiques) et programmation dans un environnement facile à utiliser et où les problèmes et les solutions sont exprimés en notation mathématique familière. MATLAB est un système interactif dont les variables ou éléments de la base de données ne nécessitent pas de dimensionnement. Cela vous permet de résoudre beaucoup de problèmes techniques, notamment ceux à formulations vectorielle ou matricielle, en une fraction du temps qu'il ne faudrait pour écrire un programme dans un langage non-interactif tels que C ou Fortran. MATLAB dispose de nombreuses « Toolboxes » (Boîtes à outils) qui sont des collections complètes des fonctions MATLAB (M-files) spécifiques à un domaine d’applications donné : Traitement du signal, Traitement d’images, Télécommunications, Statistiques, Optimisation, Identification, Contrôle de systèmes, … 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 M-file (programme en langage MATLAB). Avertissement : Ce document a pour but de vous initier à Matlab et de vous montrer l’intérêt et la facilité de son utilisation. Cependant, un tel document ne peut en aucun cas présenter toutes les fonctionnalités de ce puissant logiciel. Il vous est donc vivement conseillé de consulter sa documentation disponible en ligne au site web : http://www.mathworks.com/access/helpdesk/help/techdoc/matlab.shtml 2 I. Le système MATLAB Le système MATLAB se compose de cinq parties principales: ¾ Environment Development : Il s'agit d’un ensemble d’outils qui vous aident à utiliser les fonctions et fichiers MATLAB. Beaucoup de ces outils sont des interfaces graphiques. Les principaux outils sont : la fenêtre de commande (Command Window), un historique des commandes (Command History), un éditeur et un débogueur et les navigateurs pour visualiser l'aide, l'espace de travail, des fichiers, et le chemin de recherche (Search path). L’apparence de la fenêtre principale peut être changée en utilisant la commande « View » de la barre d’outils : 3 ¾ La bibliothèque de fonctions mathématiques MATLAB : Il s'agit d'une vaste collection d'algorithmes de calcul allant des fonctions élémentaires comme la somme (sum), sinus (sin), cosinus (cos), …, à des fonctions plus sophistiquées comme l’inversion des matrices (inv), le calcul des valeurs propres et des vecteurs propres d’une matrice (eig), fonctions de Bessel (bessel), transformées de Fourier rapides (fft), …. ¾ Le langage MATLAB : Il s'agit d'un langage matriciel de haut avec des déclarations de contrôle de boucles, des fonctions, des structures de données, des entrées / sorties et des fonctionnalités de programmation orientée objet. Et le plus important est que Matlab est un langage interprété : toute commande tapée dans la fenêtre de commande est immédiatement exécutée (après la frappe de return). Il n’est pas nécessaire de compiler un programme avant de l’exécuter : > 2+2 ans = 4 > 5^2 ans = 25 4 Quand vous ne spécifiez pas une variable de sortie, MATLAB utilise la variable ans (abréviation de answer (réponse)) pour stocker les résultats pour un éventuel calcul. ¾ Graphiques : MATLAB possède une facilité extensive permettant d'afficher des vecteurs et des matrices sous forme de graphique. Il comprend des fonctions de haut-niveau pour la visualisation bidimensionnelles et tridimensionnelles de données, d'images, d’animations. Il comprend également des fonctions de bas niveau, ce qui vous permet de personnaliser entièrement l'apparence des graphiques ainsi que de construire des interfaces graphiques complètes pour vos applications MATLAB. I.1 Les Expressions Comme la plupart des autres langages de programmation, MATLAB fournit des expressions mathématiques, mais contrairement à la plupart des langages de programmation, la totalité de ces expressions impliquent des matrices. Les éléments constitutifs sont des expressions : • Nombres • Opérateurs • Fonctions • Variables Exemples d'expressions : rho = sqrt(x)/2 fonction variable opérateur nombres 5 I.2 Nombre MATLAB utilise la notation décimale classique : un point pour séparer la partie entière de la partie décimale et un signe moins pour les nombres négatifs; l’absence du signe indique que le nombre est positif. Il utilise la lettre e pour spécifier une puissance de dix. Pour les nombres imaginaires MATLAB utilise indifféremment les suffixes i ou j. Exemples de nombres : 3 -99 0.0001 9.6397238 1.60210e-20 6.02252e23 1i -3.14159j 3e5i Tous les chiffres sont stockés en utilisant le format long spécifié par l'IEEE en virgule flottante standard. Les nombres en virgule flottante ont une précision finie de 16 chiffres décimaux significatifs et un intervalle de variation d'environ 10-308 à 10+308. Vous trouvez à la fin de l’annexe 3 l’inventaire des différents formats utilisés par MATLAB. I.3 Opérateurs MATLAB utilise les opérateurs usuels suivants pour manipuler les expressions : Fonctions Définition + Addition - Soustraction * Multiplication ^ Puissance / Division \ Division à gauche ‘ Transposé conjugué 6 Il utilise aussi des opérateurs logiques et relationnels : Fonctions Définition < > différent de <= >= inférieur (supérieur) ou égal == égal ~= différent & et logique | ou ~ complément logique (not) xor ou exclusif I.4 Fonctions MATLAB fournit un grand nombre de fonctions mathématiques élémentaires standard, y compris sin (sinus), cos (cosinus), tan (tangente), abs (valeur absolue ou module), sqrt (racine carrée), exp (exponentiel), …. La plupart de ces fonctions acceptent des arguments complexes. Pour obtenir une liste des fonctions mathématiques élémentaires, tapez : >> help elfun MATLAB fournit également de nombreuses fonctions mathématiques plus avancées, y compris les fonctions de Bessel et gamma. Pour obtenir une liste de ces fonctions, tapez : >> help specfun Plusieurs fonctions spéciales fournissent des valeurs de constantes utiles : 7 Fonctions Définition pi 3.14159265… i Nombre imaginaire −1 j Comme i Précision relative des nombres réels (distance eps entre 1.0 et le nombre réel flottant le plus proche), 2- 5 2 realmin Le plus petit nombre réel, 2-1022 realmax Le plus grand nombre réel, (2-eps)1 0 2 3 inf Infinie NaN Not-a-Number (ce n’est pas un nombre) : 0/0=NaN date Date I.5 Variables Matlab travaille essentiellement avec un seul type d’objet : une matrice (de dimension NxM). Une matrice 1×1 est interprétée comme un scalaire, celle ayant une seule ligne (1xN) ou une seule colonne (Nx1) comme un vecteur. Ainsi, dans Matlab, il n'est pas nécessaire de déclarer le type (réelle, complexe, …) ou la dimension (scalaire, matrice) de la variable que l'on manipule, y compris les tableaux. Lorsque MATLAB rencontre un nouveau nom de variable, il crée automatiquement la variable et alloue la capacité appropriée de stockage. Si la variable existe déjà, MATLAB modifie son contenu et, si nécessaire, il alloue une nouvelle capacité stockage. Les noms des variables sont composés d'une lettre, suivie d'un nombre quelconque de lettres, chiffres ou de sous-tirets. MATLAB utilise seulement les 31 premiers caractères d'un nom de variable et établit une distinction entre majuscules et minuscules : A et a ne sont pas la même variable. Pour visualiser la matrice affectée à une variable, il suffit d'entrer le nom de la variable. 8 Aussi, il faut éviter de mettre dans le nom des variables des opérateurs Matlab tels que -, +, *, /, \ , &, |, …. I.5.1 Variables réelles En Matlab, chaque nombre réel est représenté en virgule flottante avec une double précision, c’est-à-dire 8 octets. Par exemple, >> num_students = 25 crée une variable (matrice 1x1) nommée num_students et stocke la valeur 25 dans le seul élément. >> x = pi/4 assigne à la variable x la valeur pi/4. Remarques : ¾ Un point virgule « ; » à la fin de la ligne permet de ne pas afficher ce résultat. Ceci est très utile surtout lorsqu’on exécutera des programmes importants : l’affichage des résultats des instructions dans la fenêtre de commande retarde l’exécution des programmes. ¾ On peut taper plusieurs commandes par ligne, séparées par une virgule ou un point virgule. >> x = pi/2 ; y = sin(x) ; ¾ Lorsqu’une ligne de commande est trop longue on peut l’interrompre par trois points « ... » et la poursuivre à la ligne suivante. ¾ On peut aussi mettre des commentaires dans une ligne de commande à l’aide du signe " % ". 9 I.5.2 Variables complexes Matlab travaille indifféremment avec des nombres réels ou complexes. Par défaut, les variables i et j sont assignées à la valeur complexe. Naturellement, si vous redéfinissez la variable i ou j avec une autre valeur elle n’aura plus la même signification. >> j = 3 + 2*i j = 3.0000 + 2.0000i Les fonctions usuelles de manipulation des nombres complexes sont prédéfinies dans Matlab : real, imag, abs, angle (en radian), conj. > r = abs(j) ; > theta = angle(j) ; > y = r*exp(i*theta) ; I.5.3. Vecteurs Les vecteurs et matrices sont souvent utilisés dans Matlab pour représenter les données. Rapelons que dans Matlab, toute variable est une matrice (scalaire : matrice 1x1, vecteur : matrice uploads/s1/ introduction-a-matlab-et-simulink.pdf
Documents similaires
-
17
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Dec 23, 2021
- Catégorie Administration
- Langue French
- Taille du fichier 1.6255MB