Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici

Les bases de MATLAB

Types de données, variables et constantes

1. Les particularités de MATLAB

MATLAB est à la fois un langage de programmation de calcul scientifique très puissant, simple à utiliser et un environnement de programmation pratique. Il a également la possibilité de faire des visualisations graphiques. On l’utilise en deux modes.

  • Mode ligne de commande : MATLAB exécute les instructions au fur et à mesure qu’elles sont données par l’utilisateur. Ce mode vous permet d’analyser et de visualiser rapidement les données à l’aide de commandes unifilaires concises et efficaces.

  • Mode script : on écrit dans des fichiers séparés (*.m) l’enchaînement des commandes, fichiers nommés scripts, et on les crée à l’aide de n’importe quel éditeur de texte. Le mode script permet de développer des applications plus complexes ; de plus les programmes sont sauvegardés, ce qui facilite une utilisation ultérieure.

Ce logiciel est basé sur le calcul matriciel numérique. Tous les objets utilisés dans les programmes et les commandes MATLAB sont définis au travers de tableaux. Un tableau est une structure de données permettant de regrouper sous un même nom un nombre fini d’éléments de même type.

MATLAB manipule trois types de tableaux :

  • Les scalaires, qui sont des données simples (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.

2. Les tableaux

a. Définition

Un tableau est une structure de données représentant une séquence finie d’éléments, auxquels on peut accéder efficacement par leur position, ou indice, dans la séquence. On parle alors d’un tableau d’entiers, de réels, etc. Par exemple, nous pouvons utiliser un tableau de caractères pour représenter une ligne de texte, ou bien un tableau de réels pour représenter un vecteur mathématique.

Un tableau est une zone mémoire constituée d’un nombre fixe de composants homogènes, ayant un nom unique.

b. Vecteurs

Il est utile de faire une analogie avec...

Création et initialisation de variables dans MATLAB

Les variables MATLAB sont créées automatiquement lors de leur initialisation (affectation). L’opération d’affectation consiste à mettre (placer) une valeur dans une variable. L’affectation est schématisée par le symbole =.

1. Initialisation avec l’affectation classique

Comme dans certains langages de programmation, cette instruction permet de placer une valeur dans une variable. Sa syntaxe générale est de la forme suivante :

Affectation classique - Syntaxe

nom_variable = valeur 
nom_variable = valeur; 

Si une instruction d’affectation est saisie sans le point-virgule, le résultat de l’instruction s’affiche automatiquement dans la fenêtre de commande ; sinon, le contenu de la variable ne sera pas affiché.

Les variables en MATLAB peuvent être :

  • des scalaires,

  • des vecteurs (ligne ou colonnes),

  • des chaînes de caractères,

  • des matrices.

Pour l’initialisation d’un tableau, on utilise les crochets [ et ] pour définir le début et la fin d’un vecteur ou d’une matrice.

On peut utiliser le symbole virgule (",") ou espace ("") comme séparateur de colonne et point-virgule (";") ou entrée comme séparateur de ligne.

Affectation_classique - Exemple n° 1

Affectation des variables.

%affectation_classique_1 
clear all; close all; clc; 
 
% Variables scalaires numériques 
vs1 = 5.2 
vs2 = int8(7) 
vs3 = 2+i 
 
% Variables chaînes de caractères 
vc = 'Matlab' 
 
% Variables vecteurs 
vvl1 = [1 2 3] % vecteur ligne 
vvl2 = [4, 5, 6] % vecteur ligne 
vvc= [8; 9; 10] % vecteur colonne 
 
% Variables matrices 
vm1 = [ 1 3; 4 2 ] 
vm2 = [ 1, 3; 4, 2 ] 
vm3 = [1 3 

Résultat :

vs1 = 
    5.2000 
vs2 = 
    7 
vs3 = 
   2.0000 + 1.0000i 
vc = 
Matlab 
vvl1 = 
     1     2     3 
vvl2 = 
     4     5     6 
vvc = 
     8 
     9 
    10 
vm1 = ...

Calculs avec MATLAB

1. Les expressions

Le langage MATLAB utilise les opérateurs classiques de la programmation et des caractères spéciaux pour effectuer des opérations simples et composées sur des tableaux de tous types (scalaire, vecteur et matrice). Ces opérations sont appelées des expressions.

Une expression est une suite d’opérandes et d’opérateurs. Un opérande peut être une constante, une variable, une fonction ou une autre expression. On peut utiliser des parenthèses dans les expressions.

Les expressions peuvent être :

  • simples, telles que :

  • une seule variable ou constante, par exemple x, pi

  • une fonction, par exemple sin(pi)

  • un opérateur unaire et son opérande unique, par exemple -x

  • un opérateur binaire et ses deux opérandes, par exemple x + y

  • composées : contenant plusieurs opérandes et opérateurs, comme par exemple x * 54 / (2 + pi)

2. Les opérations et fonctions portant sur les scalaires

a. Les opérations et les fonctions arithmétiques

Les opérateurs et les fonctions arithmétiques en MATLAB sont classés en deux catégories :

  • Les opérateurs unaires : les opérateurs unaires exécutent une action avec un seul opérande. Le tableau suivant présente ces opérateurs :

Notation

Opération

+

Identité

-

Inversion de signe

  • Les opérateurs binaires sont présentés dans le tableau suivant :

Notation

Fonction

Opération

Exemple

+

plus(A, B)

Addition

A=5.5, B=7; A+B ou plus(A, B) renvoie 12.5000

-

minus(A, B)

Soustraction

A=5.5, B=7; A-B ou minus(A, B) renvoie -2.5000

*

times(A, B)

Multiplication

A=5.5, B=7; A*B ou times(A, B) renvoie 38.5000

/

rdivide(A, B)

Division à droite

A=5.5, B=7; A / B ou rdivide(A, B) renvoie 0.7857

\

ldivide(A, B)

Division à gauche

A=5.5, B=7; A \ B ou ldivide(A, B) renvoie 1.2727

mod(A, B)

Modulo

A=5.5, B=7; mod(A, B) renvoie 5.5000

rem(A, B)

Reste de la division

A=5.5, B=7; rem(A, B) renvoie 5.5000

^

power(A, B)

Puissance

A=5.5, B=7; A^B ou power(A, B) renvoie 5.5000

La division à droite veut dire que le premier opérande est divisé par le second opérande. La division à gauche est l’inverse le second opérande est divisé par le premier....

Entrées-sorties

Dans un script MATLAB, on a souvent besoin de sauvegarder temporairement des données dans des variables ; cette sauvegarde peut se faire par l’intermédiaire de l’action d’affectation (déjà vue). On a également souvent besoin d’introduire ou d’afficher des données à partir de périphériques ; ces opérations peuvent se faire par l’intermédiaire des actions d’entrée/sortie.

1. L’action de lecture

Cette instruction permet d’affecter une donnée introduite à partir du clavier, à une variable. Au moment de l’exécution de cette instruction, le programme se met en attente de la valeur introduite.

Une action de lecture permet de demander à l’utilisateur d’un programme de fournir des données. La syntaxe est la suivante :

Lecture_variable - Syntaxe

nom_variable = input('phrase'{,'s'}){;} 

où :

  • nom_variable : la variable où on va stocker la valeur saisie

  • phrase : le message affiché

  • ’s’ : est utilisé si on veut saisir une chaîne de caractères.

Ainsi, la commande de lecture affiche une chaîne de caractère (phrase) dans la fenêtre de commande, et attend ensuite que l’utilisateur fournisse une valeur à partir du périphérique d’entrée, qui est le clavier par défaut, pour la ranger dans la variable identifiée par nom_variable. Un retour chariot provoque la fin de la saisie.

Si la commande ne se termine pas par un point-virgule, la valeur saisie est affichée à l’écran.

Le caractère spécial \n que MATLAB utilise permet d’aller au début de la ligne suivante.

L’utilisateur peut entrer :

  • une valeur réelle simple,

  • une expression,

  • un tableau,

  • une chaîne de caractères.

Si, après la commande de lecture, l’utilisateur appuie sur la touche [Retour arrière] sans rien saisir, alors la saisie renvoie une matrice vide.

Lecture_variable - Exemple n° 1

Écrire un script MATLAB qui permet de saisir un réel, un tableau, puis l’opération à effectuer entre le réel et le tableau.

% lecture_1 
clear all; close all; clc; ...