Vous êtes sur la page 1sur 30

École Nationale Polytechnique de Constantine (ENPC)

Introduction au langage Matlab et à la programmation


fonctionnelle

Dr. Mohamed Mahdi Benmoussa (ENPC)

7 mars 2020 1 / 30
plan

Plan

1 Introduction

2 Initiation au langage matlab

3 Graphisme

7 mars 2020 2 / 30
Initiation au langage matlab

Variables

Constantes
Quelques exemples de constantes :
pi : 3.1415926535897
eps : précision numérique relative
realmin : plus petit nombre à virgule flottante manipulable
realmax : plus grand nombre à virgule flottante manipulable
inf : infini, qui est obtenu lors de l’évaluation d’une expression qui
excède realmax
NaN : not-a-number, qui est obtenu quand on essaie d’effectuer une
opération non-définie comme 0/0

7 mars 2020 3 / 30
Initiation au langage matlab

Opérations

Opérateurs arithmétiques
L’opérateur ./ (.*) permet de diviser (multiplier chaque élément du vecteur
v par l’élément correspondant du vecteur b (v./b).

7 mars 2020 4 / 30
Initiation au langage matlab

Opérations

Opérateurs de comparaison
Il s’agit d’opérateurs "binaires", lesquels retournent la valeur 0 (=false)
quand la relation est fausse et 1 (=true) quand la relation est vraie.

7 mars 2020 5 / 30
Initiation au langage matlab

Opérations

Opérateurs de comparaison
La comparaison peut être effectuée à toute une matrice, coefficient par
coefficient. Par exemple :

7 mars 2020 6 / 30
Initiation au langage matlab

Opérations

Opérateurs logiques
Des opérateurs permettent de combiner différentes conditions. La
comparaison logique s’effectue élément par élément et permet de comparer
des matrices. court-circuit signifie que la seconde condition est évaluée
seulement si le résultat n’est pas déjà déterminé par la 1ere condition.

7 mars 2020 7 / 30
Initiation au langage matlab

Opérations

Opérateurs logiques
Il est possible de combiner des matrices logiques (de même taille). Les
opérateurs logiques sont alors exécutés coefficient par coefficient, et la
matrice résultante est de même taille que les matrices utilisées, avec le
résultat de la comparaison affecté à chaque coefficient. On peut aussi
combiner plusieurs comparaisons / opérateurs logiques. Par exemple :

7 mars 2020 8 / 30
Initiation au langage matlab

Manipulation des vecteurs et des matrices

Généralités
Pour Matlab toute variable est considérée comme étant un tableau
d’éléments d’un type donné. Matlab différencie trois formes particulières de
tableaux :
Les scalaires qui sont des tableaux à une ligne et une colonne
Les vecteurs qui sont des tableaux à une ligne ou à une colonne
Les matrices qui sont des tableaux ayant plusieurs lignes et colonnes
Une variable Matlab est donc toujours un tableau que l’on appelle variable
scalaire, vecteur ou matrice suivant la forme du tableau

7 mars 2020 9 / 30
Initiation au langage matlab

Manipulation des vecteurs et des matrices

7 mars 2020 10 / 30
Initiation au langage matlab

Manipulation des vecteurs et des matrices

Les vecteurs
On définit un vecteur ligne en donnant la liste de ses éléments entre
crochets ([]). Les éléments sont séparés au choix par des espaces ou par
des virgules. On définit un vecteur colonne en donnant la liste de ses
éléments séparés au choix par des points virgules ( ;) ou par des retours
chariots (touche Entrée). On peut transformer un vecteur ligne x en un
vecteur colonne et réciproquement en tapant x’

7 mars 2020 11 / 30
Initiation au langage matlab

Manipulation des vecteurs et des matrices

7 mars 2020 12 / 30
Initiation au langage matlab

Manipulation des vecteurs et des matrices

Les vecteurs
Il est inutile de définir la longueur d’un vecteur au préalable. Cette longueur
sera établie automatiquement à partir de l’expression mathématique
définissant le vecteur ou à partir des données. On peut en revanche obtenir
la longueur d’un vecteur donné grâce à la commande length

7 mars 2020 13 / 30
Initiation au langage matlab

Manipulation des vecteurs et des matrices

Les vecteurs
Les éléments d’un vecteur peuvent être manipulés grâce à leur indice dans
le tableau. Le k ieme élément du vecteur x est désigné par x(k). Le premier
élément d’un vecteur a obligatoirement pour indice 1.

7 mars 2020 14 / 30
Initiation au langage matlab

Manipulation des vecteurs et des matrices

Les vecteurs
Il est possible de manipuler plusieurs éléments d’un vecteur simultanément.
Ainsi les éléments k à 1 du vecteur x sont désignés par v(k :1). On peut
également manipuler facilement les éléments d’un vecteur dont les indices
sont en progression arithmétique. On écrira v1=(k :p :10 et on lit cela
suite de 4 à 10 avec le pas de 2.

7 mars 2020 15 / 30
Initiation au langage matlab

Manipulation des vecteurs et des matrices

Les vecteurs
Quelques vecteurs spéciaux :
ones(1,n) : vecteur ligne de longueur n dont tous les éléments valent 1
ones(m,1) : vecteur colonne de longueur m dont tous les éléments
valent 1
zeros(1,n) : vecteur ligne de longueur n dont tous les éléments valent
0
zeros(m,1) : vecteur colonne de longueur m dont tous les éléments
valent 0
rand(1,n) : vecteur ligne de longueur n dont les éléments sont générés
de manière aléatoire entre 0 et 1
rand(m,1) : vecteur colonne de longueur m dont les éléments sont
générés de manière aléatoire entre 0 et 1

7 mars 2020 16 / 30
Initiation au langage matlab

Manipulation des vecteurs et des matrices

Les vecteurs
Quelques fonctions portant sur les vecteurs (de même sur les matrices) :

7 mars 2020 17 / 30
Initiation au langage matlab

Manipulation des vecteurs et des matrices

Les Matrices
Pour déclarer une matrice dans une variable A, on énumère entre crochers
ses éléments (séparés par des espaces), et on utilise un point virgule pour
passer d’une ligne à l’autre :
A = [1 2 3 ; 4 5 6 ; 7 8.5 9 ; 10 11.5 12]
D’après le code ci-dessus, la matrice A possède quatre lignes et trois
colonnes. On peut vérifier cela dans la zone des variables. Si on double
clique sur la variable dans la zone des variables son contenu s’affiche. On
peut aussi utiliser la fonction disp pour afficher une matrice.

7 mars 2020 18 / 30
Initiation au langage matlab

Manipulation des vecteurs et des matrices

7 mars 2020 19 / 30
Initiation au langage matlab

Manipulation des vecteurs et des matrices

Les Matrices
Un élément de matrice est référencé par ses numéros de lignes et de
colonnes. A(i,j) désigne le j ieme élément de la i ieme ligne de la matrice A.
Ainsi A(2,1) désigne le premier élément de la deuxième ligne de la matrice
A.

7 mars 2020 20 / 30
Initiation au langage matlab

Manipulation des vecteurs et des matrices

Les Matrices
On peut obtenir, avec la fonction size, la taille d’une matrice. La fonction
génère un vecteur ligne où le premier élément est le nombre de lignes de la
matrice et le second élément est le nombre de colonnes. Par exemple :

7 mars 2020 21 / 30
Initiation au langage matlab

Manipulation des vecteurs et des matrices

Les Matrices
Une autre fonction utile pour les matrices est numel, qui renvoie le nombre
d’éléments d’une matrice passée en paramètre. Par exemple :

7 mars 2020 22 / 30
Initiation au langage matlab

Manipulation des vecteurs et des matrices

Les Matrices
Il est aussi possible d’appeler des fonctions sur une matrice (sqrt, cos, sin,
exp, ...), afin qu’elle s’exécute sur chaque élément de la matrice. Par
exemple :

7 mars 2020 23 / 30
Initiation au langage matlab

Manipulation des vecteurs et des matrices

Les Matrices
La manipulation d’une matrice est de la manière suivante :

7 mars 2020 24 / 30
Initiation au langage matlab

Manipulation des vecteurs et des matrices

Les Matrices
Matrices spéciales :
: la matrice à m lignes et n colonnes dont tous les éléments valent 1
: la matrice à m lignes et n colonnes dont tous les éléments valent 0
: la matrice à m lignes et n colonnes dont tous les éléments sont
générés de manière aléatoire entre 0 et 1
Exemple de traitement de matrice

7 mars 2020 25 / 30
Initiation au langage matlab

Instructions d’entrées et de sorties

Lecture
Afin de lire des données utiles à l’exécution on peut procéder de deux
façon :
input : data=input(’Donnez votre valeur’) ;
fscanf : pour lire des fichiers de données (voir l’exemple). Pour plus
de détails tapez help fscanf

7 mars 2020 26 / 30
Initiation au langage matlab

Instructions d’entrées et de sorties

Écriture
Afin d’afficher des messages ou des résultats, on utilise la commande
disp(t) où t est une chaîne de caractères ou un tableau. Cette fonction
affiche la valeur de cette variable sans faire référence au nom de la variable.
Elle sera souvent utilisée avec num2str (conversion des nombres
numériques en chaînes de caractères).

7 mars 2020 27 / 30
Initiation au langage matlab

Instructions d’entrées et de sorties

Écriture
La commande standard d’écriture est sprintf qui a la structure générale
suivante :
sprintf(format, variables

variables est le nom des variables à imprimer suivant le modèle
d’édition spécifié dans format
format d’édition, une chaîne de caractères contenant les modèles
d’éditions des variables à imprimer

7 mars 2020 28 / 30
Initiation au langage matlab

Instructions d’entrées et de sorties

Écriture
Le modèle d’édition de caractères est la forme %Ls où % est le
symbole de début de format et "s" le symbole précisant que la donnée est
de type chaîne de caractères. L est un entier donnant la longueur totale du
champ (en nombre de caractères, plus de détails en tapant help sprintf.
Par exemple :

7 mars 2020 29 / 30
Graphisme

Références

Initiation à Matlab, Docteur Samira Bouzoubia, Université Mentouri 1


Introduction à Matlab, John Chaussard, Université Paris 13

7 mars 2020 30 / 30