Outils de Programmation "Matlab"

Adressé aux étudiants de 2ème année de la licence de mathématiques


Livre Spécialisé, 2017
55 Pages

Extrait

Table des matières

Chapitre1 : Présentation et généralités
1- Introduction
2- Démarrage de Matlab
3- Exercices

Chapitre2 : Types de données et variables
1-Fonctionnalités de base
2-Variables
3-Constantes
4-Types de données
5-Vecteurs
6-Matrices
7-Matrices creuses
8-Tableaux multidimensionnels
9-Tableaux cellulaires
10-Type de donnée numérique
11-Exercices

Chapitre3 : Calculer avec Matlab
1-Opérateurs de base
2-Fonctions portant sur les scalaires
3-Séries numérique linéaire
4-Fonctions portant sur les vecteurs et les matrices
5-Résolution de systèmes linéaires
6-Polynômes
7-Exercices

Chapitre4 : Les entrées-sorties
1-Introduction
2-Entrées et Sorties de valeurs de variables
3-Entrées et Sorties de fichiers de données

Chapitre5 : Programmation Matlab
1-Introduction
2-Scripts et fonctions
3-Commentaires
4-Variables locales et globales
5-Structures de contrôle
6- Exercices

Chapitre6 : Représentations graphiques de données
1-Introduction
2-Gestion de la fenêtre graphique
3-Graphe en deux dimensions
4-Amélioration la lisibilité des graphiques
5- Graphe en trois dimensions
6- Exercices

Références

Chapitre1 : Présentation et généralités

1- Introduction :

MATLAB« MATrix LABoratory »est un langage de haut niveau pour la programmation scientifique basé sur le calcul matriciel (les variables manipulées sont des matrices), il est développé depuis 1984 par The MathWorks Company (http://www.mathworks.com/).Son noyau est composé de librairies écrites au début en Fortran puis en C++.

L’objectif de MATLAB est de fournir aux chercheurs et ingénieurs un environnement de calcul numérique à la fois simple à utiliser et efficace.

MATLAB permet le travail interactif soit en mode commande (interactif), soit en mode programmation (exécutif). MATLAB possède les particularités par rapport à d’autres langages, il permet :

- le calcul numérique et le traitement du signal.
- le tracé de graphiques (visualisations graphiques).
- la programmation facile.
- la possibilité de liaison avec les autres langages classiques de programmations (l‘interfaçage avec C ou Fortran).
- le développement avec l’outil graphique qui inclus les fonctions d’interface graphique et les utilitaires (Graphical User Iinterface « GUI »).
- l‘utilisation des boites à outils (Toolboxes) spécialisées très compréhensive pour résoudre des catégories spécifiques de problèmes.

L’intérêt de Matlab tient, d’une part, à sa simplicité d’utilisation :

- Pas de compilation (logiciel interprété nécessitent une grande mémoire et un temps de calcul très long),
- Déclaration implicite des variables.

2- Démarrage de Matlab :

Pour lancer l’exécution de MATLAB sous Windows on clique sur l'icône Matlab. La fenêtre Matlab est divisée en plusieurs espaces qui peuvent être configurés. L'espace le plus important est la Fenêtre de commande (Command Windows) ou apparaît le signe >> (Invite), qui indique que Matlab est prêt à recevoir des commandes. L'autre espace important est l'éditeur de texte, qui vous permet d'éditer des fichiers de Matlab. Pour avoir une fenêtre d’aide, on peut utiliser la commande help.

L’interface de Matlab est divisée en cinq parties principales soit :

- La fenêtre de commande (Command Window);
- L’espace de travail (Workspace);
- Le répertoire en cours (Current Directory);
- L’historique des commandes (Command History).
- Editeur de texte (Editor)

Ces parties sont représentées sur l’image ci-dessous.

illustration not visible in this excerpt

2.1 Obtenir une aide

Il est possible d’obtenir une aide en ligne sur une commande en utilisant la commande help

>>help sin

sin Sine of argument in radians.

sin(X) is the sine of the elements of X.

See also asin, sind.

>>help demos (donne une liste des démos existantes).

Les commandes permettent de donner l’aide sur un problème donné:

- help : Afficher la liste des aides générales possibles.
- helpwin : ouvre une fenêtre de la liste des aides générales possibles.
- help + nom d’une commande : indique la syntaxe d’une commande écrite.
- demo : lance une démo générale de Matlab.
- lookfor + mot-clé: permet de rechercher des fonctions MATLAB selon un mot-clédans la première ligne de commentaire en entête des fonctions.
- lookfor + mot-clé –all : permet de rechercher le mot-clé dans toutes les lignes de commentaires en entête des fonctions.
- doc + nom d’une commande: donner accès à une documentation complète d’une commande écrite par le menu contextuel.

2.2 Fenêtre de commande

Voici un exemple de session Matlab sur la fenêtre de commande :

illustration not visible in this excerpt

Le résultat d'une évaluation n'a pas été affecté est affecter à la variable ans, que l'on peut réutiliser plus tard.

Dans la fenêtre de commande, il est possible d’enregistrer la session Matlab avec la commande diary où la commande diary nom-fichier démarre l’enregistrement de la session dans le fichier nom-fichier du répertoire courant. On peut aussi ensuite déclenche et arrêter l’enregistrement dans le fichier nom-fichier par les commandes diary on et diary off.

Il est possible de gérer les fichiers du répertoire de travail avec Un certain nombre de commandes.

- La commande dir affiche la liste des fichiers du répertoire de travail.
- La commande what affiche une liste les fichiers *.m et *.mat dans répertoire de travail.
- La commande cd permet de changer de répertoire de travail.
- La commande type permet d’afficher à l’écran le contenu du fichier*.m.
- La commande delete permet de supprimer un fichier.
- La commande edit permet d’ouvrir l’éditeur de texte.
- La commande which retourne le chemin pour accéder au fichier.
- La commande path afficher une liste les répertoires connus de Matlab.
- Il est possible d’exécuter des commandes Unix à partir de Matlab en faisant précéder la commande d’un point d’exclamation « ! ».

Attention:

- Pour valider une instruction Matlab, on appuie sur la touche Entrée (un retour chariot). Pour réafficher le contenu d’une variable, il suffit de taper le nom de la variable.
- Pour ne pas avoir le résultat d’une instruction affiché, on termine l'instruction par le symbole « ; »
- Pour taper une instruction sur plusieurs lignes, on utilise le symbole de continuation « … »
- Pour mettre plusieurs instructions sur une même ligne, on utilise le symbole virgule «,» ou par un point-virgule « ; ».
- les commandes Matlab doivent être tapées en minuscules pour être reconnues.
- Si la syntaxe de l’instruction est erronée ou l’instruction illégale, Matlab affiche un message d’erreur.

Quelques commandes importantes:

- La commande quit ou exit permet de quitter Matlab.
- La commande clc efface le contenu de la fenêtre de commande.
- La commande close all ferme la ou les figures ouvertes.
- La combinaison des touches de clavier CTRL+C permet d‘interrompre un programme en cours d’exécution.

2.3Espace de travail

Le langage de programmation MATLAB permet de déclarer implicitement des variables(Les variables s'utilisent sans déclaration préalable de type ou de dimension). Toute variable utilisée est rangée dans l’espace de travail appelé Workspace et peut être utilisée dans les calculs subséquents.

Le contenu du Workspace peut être affiché par l'instruction who (afficher le nom des variables actives) ou whos (nom avec description du Type des variables actives). La valeur d'une variable s'affiche en frappant simplement son nom sans le ";" à la fin. La commande clear permet de supprimer les variables de l‘espace du travail.Il est possible de ne supprime qu’une partie des variables en utilisant la commande clear nom-variable.

Pour sauvegarder une ou plusieurs variables dans un fichier pour une utilisation ultérieure, il existe l’instruction save nom-fichier qui enregistre toutes les variables de l’espace de travail dans le fichier nom-fichier.mat et l’instruction save nom-fichier nom-variable qui ne sauver qu’une partie des variables.

Pour récupérer dans l’espace de travail les variables sauvegardées à partir le fichier nom-fichier.mat, on utilise l’instruction load nom-fichier.

3- Exercices :

Exercice 1 :

Effectuer les commandes suivantes dans Matlab :

>>diary test1

>>lookfor determinant

>>lookfor ’tridiagonal matrix’

>>lookfor turtle

>>lookfor turtle -all

>>lookfor butterfly -all

>>lookfor butterfly -all

>>help diary

>>doc diary

>> x=4*pi/5; y=cos(x); z=sin(x);

>>M = [12; 34]; N = M*M;

>>s = ’Hello’;

>>save test x y z

>>ls

>>!moretest.mat

>>who

>>whos

>>clear M N x

>>whos

>>clear

>>who

>>load test

>>who

>>x,y,z,M

>>diary off

>>doc diary

Éditez le fichier test1.

Exercice 2 :

Exécutez le code Matlab:

>>diary Ex02

>>x=pi; y=cos(x/2); z=sin(x/3);

>>save test x z

>>dir

>>what

>>which test

>>edit test

>>delete test.mat

>>clear

>>load test

>>ls

>>path

>>x1=5, x2=3, y=6

>>x3=2.3*4-3/3+15

>>whos x*

>>diary off

Chapitre 2 : Types de données et variables

1- Fonctionnalités de base

Matlab utilise les notations mathématiques classiques pour les opérateurs et les noms de fonctions mathématiques. Une fois la fenêtre de commandes ouverte, on peut l'utiliser comme une calculatrice scientifique évoluée pour effectuer des calculs simples en entiers, réels, complexes avec les cinq opérations élémentaires : «-», «+»,«*», «/»,«^» où La commande «^» est l’exponentiation (la puissance).

Matlab nous propose une foule de fonctions prédéfinies. Parmi celles-ci, on compte les cos, sin, tan, cotan, acos, asin, atan, exp, log10, log.

Les opérations ont été effectuées directement en virgule flottante (double précision codé sur 64 bits). Par défaut le résultat s'affiche avec 4 chiffres après la virgule. Pour afficher plus de chiffres, on utilise la commande format. On peut afficher les résultats en15 chiffres après la virgule, en tapant la commande format long. La commande format short affiche le résultat avec 4 chiffres après la virgule.

2- Variables

Une variable est désignée par un identificateur qui est une séquence de lettres et de chiffres. Le premier caractère doit être une lettre. Matlab fait la différence entre les majuscules et les minuscules pour les variables et de fonctions. Les variables s'utilisent sans déclaration préalable de type et de dimension (il n’y a aucune distinction entre variable ‘entière’, variable ‘réelle’ ou variable ‘complexe’). Alors, le type et la dimension d’une variable est donc géré automatiquement d'après affectation.

On peut évidemment utiliser des variables pour manipuler et les valeurs ou les expressions mathématiques :

>>X=sqrt(2)/log(3)% La variable X affecte la valeur de l'expression de droite.

3- Constantes

Matlab possède un certain variables usuelles prédéfinit dont les constantes sont:

- pi qui est la constante mathématique 3,1415926535897
- i, j qui sont la racine carrée de -1 (le nombre imaginaire)
- eps qui est la précision numérique relative des calculs en virgule flottante (2-52≈ 2.2204e-16)
- realmin qui est le plus petit nombre à virgule flottante manipulable (2.2251e-308)
- realmax qui est le plus grand nombre à virgule flottante manipulable (1.7977e+308)
- inf qui représente l'infini où le résultat d’une expression excède realmax.
- NaN qui représente Not-a-Number où le résultat d’une une opération non-définie (calcul qui n'est pas numérique) comme 0/0 .

Attention 1 : MATLAB utilise la standard double précision IEEE 754pour les opérations ont été effectuées en virgule flottante (eps, inf,-inf,…).

Attention 2 : Il est possible de définir des variables de même nom des constantes. Pour récupérer le nom des constantes à nouveau, il suffit de supprimer la variable de même nom par la commande clear.

Attention 3 : Il existe d'autres constantes comme exemple: intmin et intmax.

Voici un exemple :

illustration not visible in this excerpt

4- Types de données

Les quatre principaux types de données utilisés par MATLAB sont les types réel, complexe, chaîne de caractères et logique. Le type de variable de base de Matlab est un tableau. Il existe d'autres types (class en Matlab) comme cell, struct(Enregistrement), int8, etc.

Pour les formes particulières de tableaux, une variable Matlab est considérée comme étant une variable scalaire (un tableau à une ligne et une colonne), vecteur (un tableau à une ligne ou à une colonne) ou matrice (un tableau ayant plusieurs lignes et colonnes) suivant la forme du tableau.

illustration not visible in this excerpt

Matlab définit de manière implicite le type d’une variable, il est parfois important de déterminer. Cela est possible grâce aux commandes :

- ischar(x) retourne 1 si x est de type chaîne de caractères et 0 sinon.
- islogical(x) retourne 1 si x est de type logique et 0sinon.
- isreal(x) retourne 1 si x est réel ou de type chaîne de caractères ou logique et 0 sinon (x est complexe ou n’est pas un tableau en élément réelle).

Exemple :

>>isreal(1i+2)

ans =

0

4.1 Type complexe

Le nombre complexe peut être représenté dans Matlab soit par l’unité imaginaire i ou j. Il peut-être écrit sous forme cartésienne a + ib et a+i*b ou sous forme polaire r*exp(i*t).

Les commandes abs, angle, real et imag permettent de passer aisément de la forme polaire à la forme cartésienne et réciproquement. On dispose également de fonctions spécifiques aux complexes(Si z est de type complexe):

- conj(z) retourne le conjugué de z,
- abs(z) retourne le module de z,
- angle(z) retourne l’argument de z,
- real(z) retourne la partie réelle de z,
- imag(z) retourne la partie imaginaire de z.

Attention: Il est possible de définir des identificateurs i et j antérieurement. Pour que les identificateurs fassent à nouveau référence à la l’unité imaginaire, il suffit de détruire ces deux variables i et j par la commande clear, ou réaffecter à i ou à j la valeur unité imaginaire par l’instruction i=sqrt(-1).

4.2 Type chaîne de caractères

Une chaîne de caractères est considérée par Matlab comme un vecteur en ligne donc le nombre d’éléments est le nombre de ses caractères. Le type chaîne de caractères (char) est représentée sous la forme d'une suite de caractères spécifiée entre simple quote(').

Il est possible de manipuler les chaînes de caractères s'effectue selon les règles de manipulation des vecteurs.

- Deux simple quotes « '' » s’obtient une chaîne de caractères vide
- Transposition « ' » devient une chaine verticale de même longueur.
- Les crochets « [ ] » utiliser pour concaténer plusieurs chaines de caractères.
- size() retourne la dimension de la chaine de caractères.
- length() retourne la longueur de la chaine de caractères.
- isempty()permet de vérifier qu’une chaine de caractères n’est pas vide.
- strcmp() permet de comparer si deux chaines de caractères sont identiques ou non.
- regexp() permet de diviser la chaine de caractères séparés par un caractère particulier.

Il est possible de manipuler chaque caractère ou un morceau de la chaine de caractères en utilisant référence à sa position dans la chaîne « ch1(1), ch1(1 :3),…».

L'exemple ci-dessous présente différentes manipulations d'une chaîne de caractères.

illustration not visible in this excerpt

Attention: Pour mettre une apostrophe, il faut doubler la simple quote.

4.3 Type logique

Le type logique possède deux formes, false est représenté par la valeur 0 et true est représentée par la valeur 1 .Un résultat de type logique est retourné par l’évaluation des expressions logique (les tests) et par certaines fonctions.

Matrice logique désigne une matrice dont les éléments ont pour valeur 0 ou1 (toute valeur non nulle). Les opérateurs logiques (booléens) appliquées dans une matrice fonctionnent éléments à éléments :

illustration not visible in this excerpt

5- Vecteurs

Le moyen le plus simple de saisir un vecteur ligne est d’entrer ses éléments (scalaires ou vecteurs ligne)entre crochets ([])en les séparant au choix par des espaces ou par des virgules. En revanche, On saisit un vecteur colonne en entrant ses éléments (scalaires ou vecteurs colonne) entre crochets ([]) en les séparant au choix par des points virgules (;) ou par la touche Entrée (des retours chariots).

Pour transformer vecteur ligne en vecteur colonne et vice versa en utilisant la transposition « ' ».

Pour manipuler les éléments d’un vecteur, il suffit d'entrer le nom du vecteur suivi entre parenthèses du ou des indices (le premier élément d’un vecteur commence obligatoirement par un indice 1) dont on veut lire ou écrire un ou plusieurs éléments d’un vecteur simultanément.

Par exemple :

- La notation d'intervalle « m:n » : Si je veux afficher les éléments de l’indice m à n du vecteur V, on écrira :V(m:n).
- La notation d'intervalle « m:p:n » : Si je veux afficher les éléments de l’indice m à n sont espacées d’un pas constant (p)du vecteur V, on écrira : V(m:p:n).
- Si m est un vecteur de valeurs entières, si je veux afficher les éléments d’une liste d'indices (m) du vecteur V, on écrira : V(m).

La longueur et la dimension d’un vecteur sera établie automatiquement d'après affectation.

On peut obtenir la longueur et la dimension d’un vecteur donné grâce à les commandes length(V), size(V) et numel (V) (le nombre d'éléments).

illustration not visible in this excerpt

Attention: Le mot clé end présente un indice au dernier élément.

6- Matrices

Une matrice est constituée de n lignes et de m colonnes. Les coefficients de la matrice sont placés entre deux parenthèses. En Matlab, une matrice est un tableau rectangulaire à 2 dimensions de n x m éléments (n lignes et m colonnes) de types doubles ou complexes ou de caractères. Comme pour les vecteurs, les indices de ligne et de colonne sont des valeurs entières commençant par un indice 1.

Pour créer une matrice, il suffit d’entrer ses éléments (scalaires, vecteurs ou matrices) entre crochets. Sur une même ligne les éléments sont séparés par une virgule ou un espace, les lignes quant à elles peuvent être séparées par un point-virgule(;) ou un retour chariot.

Pour obtenir la longueur et les dimensions d’une matrice M donnée en utilisant les commandes :

- size(M,1) retourne le nombre de lignes de la matrice M ;
- size(M,2) retourne le nombre de colonnes de la matrice M ;
- [m,n] = size(M) retourne la dimension de la matrice M (nombre m de lignes et nombre n de colonnes) ;
- length(M) retourne le plus grand dimension de nombre de lignes et nombre de colonnes (max(size(M));
- numel(M) retourne le nombre d'éléments de la matrice M ((prod(size(M)) ou length(M(:));

Pour connaître le nombre de dimensions d’une matrice, on peut utiliser la commande ndims(M) ou length(size(M)).

6.1 Matrices spéciales

Les commandes suivantes s'appliquent spécifiquement à des matrices ou vecteurs:

- zeros(m) retourne une matrice carrée d’ordre m dont tous les éléments sont égaux à "0" ;
- zeros(m,n) retourne une matrice à m lignes et n colonnes contenant que des zéros (matrice nulle) ;
- ones(m) retourne une matrice carrée d’ordre m dont tous les éléments valent 1 ;
- ones(m,n) retourne une matrice à m lignes et n colonnes dont tous les éléments valent 1(matrice unité) ;
- eye(m) retourne une matrice identité d’ordre m ;
- eye(m,n) retourne une matrice à m lignes et n colonnes dont les éléments de la diagonale valent 1et et valent 0 ailleurs.
- rand(m) retourne une matrice carrée d’ordre m dont les éléments sont générés de manière aléatoire entre 0 et 1.
- rand(m,n) retourne une matrice à m lignes et n colonnes dont les éléments sont générés de manière aléatoire entre 0 et 1 ;
- randi(intMax,m,n) retourne une matrice à m lignes et n colonnes dont les éléments sont générés de manière aléatoire l'intervalle [0,intMax ] ;
- pascal(m) retourne une matrice carrée d’ordre à m dont les éléments sont générés par la méthode de 'Triangle de Pascal'.
- magic(m) crée une matrice carré magique de dimension m (m >=3).

Attention : Il y’a encore des commandes qui génèrent de nombres aléatoires : randn (distribution normale standard) et randg (distribution Gamma).

illustration not visible in this excerpt

6.2 Manipuler des matrices

Pour manipuler les éléments d’une matrice, il suffit de spécifier l’indice de la ligne et celui de la colonne où se trouvent ses éléments :

- M(i,j) : L’élément de la ième ligne et jème colonne de la matrice M ;
- M(:,j) désigne la jème colonne de la matrice M ;
- M(i,:) désigne la ième ligne de la matrice M.
- M(:) désigneun vecteur colonne constitué des colonnes de la matrice M.

Encore, on peut manipuler plusieurs lignes ou colonnes oupartie des éléments des lignes et colonnes d’une matrice simultanément :

- M(i,j:k) : Extraire les éléments de la ième ligne et des colonnes j à kde la matrice M;
- M(:,V) , tel que V est un vecteur d’entiers: Extraire les colonnes d’indices contenus dans le vecteur V de la matrice M;
- M(V,:) , tel que V est un vecteur d’entiers: Extraire les lignes d’indices contenus dans le vecteur V de la matrice M ;

M(V1,V2),tel que V1 et V2 sont deux vecteurs d’entiers: Extraire les éléments d’indices contenus dans le vecteur V1(lignes) et V2(colonnes) de la matrice M.

illustration not visible in this excerpt

Attention: Le symbole (:) permet d’extraire des lignes ou des colonnes d’une matrice.

Il existe des commandes MATLAB permettant de manipuler globalement des matrices. Si M est une matrice et V est un vecteur:

- Si M est une matrice à coefficients réels, M' retourne la transposée de la matrice M.
- Si M est une matrice à coefficients complexes, M' retourne la matrice adjointe de M.
- diag(M) retourne un vecteur colonne composé des éléments diagonaux de la matrice M.

[...]

Fin de l'extrait de 55 pages

Résumé des informations

Titre
Outils de Programmation "Matlab"
Sous-titre
Adressé aux étudiants de 2ème année de la licence de mathématiques
Cours
Department of Mathematics and Computer Science
Auteur
Année
2017
Pages
55
N° de catalogue
V380315
ISBN (ebook)
9783668569553
ISBN (Livre)
9783668569560
Taille d'un fichier
1324 KB
Langue
Français
mots-clé
Matlab, Programmation
Citation du texte
Abdeljalil Gattal (Auteur), 2017, Outils de Programmation "Matlab", Munich, GRIN Verlag, https://www.grin.com/document/380315

Commentaires

  • Pas encore de commentaires.
Lire l'ebook
Titre: Outils de Programmation "Matlab"


Télécharger textes

Votre devoir / mémoire:

- Publication en tant qu'eBook et livre
- Honoraires élevés sur les ventes
- Pour vous complètement gratuit - avec ISBN
- Cela dure que 5 minutes
- Chaque œuvre trouve des lecteurs

Devenir un auteur