Vous êtes sur la page 1sur 30

Outils scientifiques

Cours n°5 : De l’algorithmique au code de programmation Matlab

A. Objectifs du cours

 Savoir manipuler les interfaces du logiciel

 Savoir transcrire un algorithme en un code Matlab

 Savoir exécuter un programme et sous-programme


Outils scientifiques
Cours n°5 : De l’algorithmique au code de programmation Matlab

B. Lancement du logiciel Matlab

Le Lancement du logiciel se fait grâce à l’icône suivante :

Remarques :
MATLAB Command Window : Permet
d’exécuter les programmes
• Pour les versions
récentes, d’autres fenêtres
, comme le Workspace et le
Command History
apparaissent

MATLAB EDITOR/DEBUGGER : Permet de


créer des programmes
Outils scientifiques
Cours n°5 : De l’algorithmique au code de programmation Matlab

B. Lancement du logiciel Matlab

Dans la fenêtre « Matlab Command Window », la première étape est


de définir un répertoire de travail actif (répertoire sur le disque où les
fonctions créées vont être stockées) : Current Directory

Il faut utiliser le popup « Current directory »


Outils scientifiques
Cours n°5 : De l’algorithmique au code de programmation Matlab

B. Lancement du logiciel Matlab

Pour les versions antérieures à la version 6, il faut utiliser les


commandes suivantes pour se déplacer dans l’arborescence du disque
dur :

• « pwd » pour connaître la position dans l’arborescence


• « cd .. » pour descendre d’un répertoire
• « cd nom_répertoire » pour accéder à un répertoire spécifique
• « ls » pour connaître les fichiers et sous répertoires du répertoire
actif
• « mkdir nom_répertoire » pour créer un nouveau répertoire
(seulement sur les versions récentes de Matlab, sinon créer
directement un répertoire sous Windows)
Outils scientifiques
Cours n°5 : De l’algorithmique au code de programmation Matlab

B. Lancement du logiciel Matlab

Exercice : Créer un répertoire « tpmatlab » au niveau de


l’arborescence « C:\Matlab\») et le définir comme répertoire de
travail.
Remarques :

• Par défaut, le répertoire


• pwd (« C:\Matlab\Bin »)
de travail de Matlab est :
\Matlab\Bin
• cd .. (« C:\Matlab »)

• mkdir tpmatlab

• ls (« Bin », « … », « tpmatlab »)

• cd tpmatlab

• pwd (« C:\Matlab\tpmatlab »)

• ls (« . », « .. »)
Outils scientifiques
Cours n°5 : De l’algorithmique au code de programmation Matlab

C. Les variables

Il n’est pas nécessaire de définir explicitement le type de la variable,


Matlab s’occupe des affectations mémoires.

L’affectation d’une valeur à une variable se fait comme suit:

PSEUDO-LANGAGE
a←1 a=1,
b ← ‘toto’ MATLAB
b=‘toto’;

L’utilisation d’une virgule « , » derrière l’expression ( a=1, ) permet


l’affichage du résultat de l’opération dans la fenêtre « Matlab »,
l’utilisation d’un point virgule « ; » évite ces affiches

La commande whos permet de connaître les noms, les types et les


tailles des données en mémoire
Outils scientifiques
Cours n°5 : De l’algorithmique au code de programmation Matlab

C. Les variables

Différents formats d’affichage pour le MATLAB Command Windows

Exemple pour le nombre « 1.23456789 »


Remarques :

• Pour rappeler les format short e 1.2346e+000


dernières commandes
utilisées dans cette fenêtre, format long e 1.234567890000000e+000
utiliser les touches de
direction « haut » et
format short g 1.2346
« bas » format long g 1.23456789
format rat 100/81
Outils scientifiques
Cours n°5 : De l’algorithmique au code de programmation Matlab

C. Les variables

Réaliser une opération mathématique :


a←a+1 a=a+1;
d←3 d=3;
e←axd e=a*d;
Outils scientifiques
Cours n°5 : De l’algorithmique au code de programmation Matlab

C. Les variables

Affecter une valeur dans un tableau unidimensionnel :


mat[1] ← 1 mat (1)=1;
Remarques :
Affecter une valeur dans un tableau bidimensionnel :
• La première case d’un
tableau est toujours mat2[2,3] ← 3 mat2(2,3)=3;
référencée par l’indice
«1»
Outils scientifiques
Cours n°5 : De l’algorithmique au code de programmation Matlab

C. Les variables

Pour initialiser un tableau, on peut par exemple utiliser les


commandes usuelles suivantes :
Remarques :
tab=zeros(1,5); (tableau, vecteur ligne, composé de « 0 »)
• Il n’est pas toujours
nécessaire de définir
explicitement tout le
tableau sous Matlab tab2=zeros(4,1); (tableau , vecteur colonne, composé de « 0 »)

tab3=eye(4); ou tab3=eye(4,4); (tableau , matrice, identité)

ta b4=ones(4,5); (tableau composé de « 1 »)


Outils scientifiques
Cours n°5 : De l’algorithmique au code de programmation Matlab

C. Les variables

Affecter une valeur dans un tableau unidimensionnel :

Remarques :

• La première case d’un


tab p
tableau est toujours
référencée par l’indice
«1»

tab(2) tab(end)
Dernière donnée du tableau
Une dimension donc un seul indice

Pour accéder à la dernière case du tableau, on utilise le mot clé


« end »
Outils scientifiques
Cours n°5 : De l’algorithmique au code de programmation Matlab

C. Les variables

Définition un vecteur ligne ou vecteur colonne :

Remarques :

• Pour connaître la tab2


longueur d’un tableau, on
peut utiliser la fonction
« length » tab2(1) ou tab2(1,1)
Spécifie le vecteur colonne
m

tab2(4) ou tab2(4,1) ou tab2(end) ou tab2(end,1)


Outils scientifiques
Cours n°5 : De l’algorithmique au code de programmation Matlab

C. Les variables

Manipulation d’un tableau de dimension 2 :

Remarques :

• Pour connaître la taille tab3 p


d’un tableau 2D, on peut tab3(2,3)
utiliser la fonction « size »
2 dimension donc 2 indices

tab3(4,4) ou tab3(end,4) ou tab3(end,p-1)


Outils scientifiques
Cours n°5 : De l’algorithmique au code de programmation Matlab

C. Les variables

Pour accéder à une ligne ou à une colonne du tableau, on utilise le


symbole « : »

tab4(1:4,2) ou tab4(1:end,2) ou tab4(:,2)


tab4 p

tab(:,5) ou tab(:,p) ou tab(:,end)

tab4 p
tab(2,:)

tab(m,:) ou tab(end,:)
Outils scientifiques
Cours n°5 : De l’algorithmique au code de programmation Matlab

C. Les variables

Pour accéder à une portion d’un tableau :

Remarques : tab4 p
• On peut manipuler un
tableau de dimension N en
définissant N indices, à
savoir tab(i, j,…, k)
m tab4(2:3,2:4)

tab4 p

tab(:,1:2)

m
tab(2:end,4:end)
Outils scientifiques
Cours n°5 : De l’algorithmique au code de programmation Matlab

C. Les variables

Pour définir un tableau par concaténation, on utilise les crochets « [ ] »

Pour l’initialisation : mat=[];

Pour l’affectation : mat=[a,1]; ou mat=[a 1];

mat=[4 mat];

mat=[mat;mat];
Outils scientifiques
Cours n°5 : De l’algorithmique au code de programmation Matlab

C. Les variables

Lecture et affichage
lire(val) val=input(’…’);
ecrire(t) disp(t);

La commande « input » permet d’inclure du commentaire entre les


côtes

Exemple : val=input(’Quelle est la valeur de val? ’);


Outils scientifiques
Cours n°5 : De l’algorithmique au code de programmation Matlab

C. Les variables

Exercices : Définir la matrice suivante en utilisant, dans un premier


temps, les commandes usuelles relatives aux tableaux et, dans un
second temps, les concaténations :

3 2 1
2 3 2
1 2 3

tab=2*ones(3)+eye(3); tab(1,end)=1; tab(end,1)=1;

tab=[3:-1:1;2 3 2;1:3];
Outils scientifiques
Cours n°5 : De l’algorithmique au code de programmation Matlab

D. Les structures de contrôle

Enchaînement séquentiel :

Début
« séquence » « séquence »
Fin

Test conditionnel « Si » :

if « condition »
Si « condition »
« séquence 1 »
Alors « séquence 1 »
else
Sinon « séquence 2 »
« séquence 2 »
FinSi
end
Outils scientifiques
Cours n°5 : De l’algorithmique au code de programmation Matlab

D. Les structures de contrôle

Boucle « Pour » :

Pour « var » allant de « val_min » à « val_max »


Faire « séquence »
FinPour
Remarques :

• On peut définir
l’espacement entre les
différentes valeurs prises
par la variable « var »

• Cet espacement peut être


négatif for « var » = « val_min » : « espacement » : « val_max »
« séquence »
end
Outils scientifiques
Cours n°5 : De l’algorithmique au code de programmation Matlab

D. Les structures de contrôle

Boucle « Tant que » :

Tant Que « condition » while « condition »


Faire « séquence » « séquence »
FinTQ end
Outils scientifiques
Cours n°5 : De l’algorithmique au code de programmation Matlab

D. Les structures de contrôle

Exercices :

→ « séquence »

C←A A←B B←C

C = A;
A = B;
B = C;
Outils scientifiques
Cours n°5 : De l’algorithmique au code de programmation Matlab

D. Les structures de contrôle

Exercices :

if « condition »
→ « séquence 1 »
else
« séquence 2 »
Si end

X<0 Y ← X*X
Y←X

if X<0
Y = X;
else
Y = X* X;
end
Outils scientifiques
Cours n°5 : De l’algorithmique au code de programmation Matlab

D. Les structures de contrôle

Exercices :

for « var » = « val_min » : « espacement » : « val_max »


« séquence »
end

S←0
S = 0;
pour for i = 1 : N
S = S+i;
end
S ← S+i
i allant
de 1 à N
Outils scientifiques
Cours n°5 : De l’algorithmique au code de programmation Matlab

D. Les structures de contrôle

Exercices :

i = 2;
while « condition » P = 1;
« séquence » while i ≤ N
end P = P*i;
i = i+1;
end

i←2
P←1
Tant
que

i≤N
i ← i+1
P ← P*i
Outils scientifiques
Cours n°5 : De l’algorithmique au code de programmation Matlab

E. Les programmes ou sous-programmes

Sous Matlab, il n’y a pas de distinction entre les sous-programmes de


type fonction et procédure

Fonction
function
Procédure

Programme principal batch


Outils scientifiques
Cours n°5 : De l’algorithmique au code de programmation Matlab

E. Les programmes ou sous-programmes

La fonction :

Fonction « nom_fonction » (« paramètres_entrée »): type_variable_renvoyée


Déclaration « Variables_locales »
Début
« séquence »
Remarques : Renvoyer(« variable_renvoyée »)
• Avant d’exécuter le sous- Fin
programme, il est
nécessaire de l’enregistrer
sous un fichier dans le
répertoire de travail

• Le nom du fichier est le


même que celui de la
« function », à savoir
« nom_fonction »

function [« variable_renvoyée »]=« nom_fonction »(« paramètres_entrée »);

« séquence »
Outils scientifiques
Cours n°5 : De l’algorithmique au code de programmation Matlab

E. Les programmes ou sous-programmes

La procédure :

Procédure « nom_procedure » (’E’ « paramètres_entrée »; ’S’


« paramètres_sortie »; ’E/S’ « paramètres_entrée_sortie »)
Déclaration « Variables_locales »
Début
« séquence »
Fin

Remarques :

• S’il n’y a pas de


« paramètres_sortie », on
supprime les crochets « [ ]
» et le signe « = »
function [« paramètres_sortie »]=« nom_procedure »(« paramètres_entrée »);

« séquence »
Outils scientifiques
Cours n°5 : De l’algorithmique au code de programmation Matlab

E. Les programmes ou sous-programmes

Pour exécuter une « function », il suffit de recopier dans la fenêtre


« Matlab » l’expression située à droite de la commande « function »,
à savoir :
Remarques :

• Il est nécessaire, au
préalable, d’initialiser dans
la fenêtre
[« paramètres_sortie »]=« nom_procedure »(« paramètres_entrée »);
« Matlab Command
Window» les
« paramètres_entrée »
Outils scientifiques
Cours n°5 : De l’algorithmique au code de programmation Matlab

E. Les programmes ou sous-programmes

Le programme :

Programme « nom_programme »
Déclaration « Constantes »
Déclaration « Nouveaux_types »
Déclaration « Variables_globales »
Déclaration « Sous-programmes »
Remarques : Début
• Pour exécuter le fichier
« séquence »
« batch », on utilise le nom Fin
d’enregistrement dans la
fenêtre « Matlab »

« séquence »