Académique Documents
Professionnel Documents
Culture Documents
Remerciements à
Exemple :
Soit les commandes suivantes:
>> X = 0 : 4 ;
>> Y = [ 5 1 0 6 8 ]; Commandes (fenêtre de commande)
>> Z = X+Y;
Il est possible de regrouper et d'enregistrer les commandes ci-dessous dans un fichier script :
X = 0 : 4 ;
Y = [ 5 1 0 6 8 ]; Script (fichier .m)
Z = X+Y; Ex : Programme1.m
1
Création d'un Script Matlab
Pour créer un script Matlab, on clique sur le menu "File" "New" "Script" :
Instructions …
2
Enregistrement d'un Script Matlab
3
Exécution d'un Script Matlab
Pour exécuter un script matlab, il suffit de taper son nom (sans l'extension) depuis la fenêtre
de commande :
Avant d'exécuter un script, il faut s'assurer qu'il est visible depuis la fenêtre "Current
Folder".
LECTURE
Script
ECRITURE
Utilisateur
LECTURE (Entrée) : Permet de lire une valeur que fourni l'user à l'aide du clavier.
5
Lecture :
La lecture d'un nombre est réalisée à l'aide de l'instruction input, sa syntaxe est la suivante :
La commande affiche le message "Texte à afficher", puis attend que l'utilisateur saisisse une
valeur numérique au clavier (Réel ou Complexe). Cette valeur sera affectée à la variable
IdVar
Exemple :
Soit
X = leinput('Donnez
script prg1.m : la valeur de X \n'); % le symbole \n pour saut de ligne
Y = X * 2 ;
Exemple :
Soit le script prg2.m :
Nom = input('Quel est votre nom \n','s');
Prenom = input('Quel est votre prénom \n','s');
7
Ecriture:
L'écriture (affichage) d'un texte est réalisée à l'aide de la commande disp, sa syntaxe est la
suivante: disp(Mess)
Remarque
Le symbole \n n'a aucun effet dans la commande disp :
disp('Bonjour \n') affiche le message Bonjour \n
8
Ecriture:
Affichage d'une variable Numérique : (Réelle ou Complexe)
Pour afficher le contenu d'une variable numérique (Réelle ou Complexe), il est conseillé de
convertir la variable en une chaine de caractères avant affichage. Pour cela, on utilise la
fonction
num2str : (Number to String Nombre vers Chaine de caractères)
Exemple :
On désire afficher la variable X = 0.25 (réel) :
X = 0.25 % Création d'une variable numérique
Y = num2str(X); % Conversion de X vers une chaine Y = '0.25'
disp(Y) ; % affichage de Y.
Ou plus simplement :
9
Exercice 1
Ecrire un script Exo1.m qui demande à l'utilisateur deux valeurs réelles, puis calcule et
affiche la somme et le produit des deux nombres :
10
Exercice 2
Ecrire un script Exo2.m qui demande à l'utilisateur son nom puis son prénom puis son âge et
affiche le message
11
Les Structures de Contrôle
Structures de contrôle
12
Structures Conditionnelles
Condition Un choix :
La syntaxe est la suivante :
if (Condition)
Bloc d'instructions
end
Exemple :
Ecrire un script qui lit un nombre entier puis affiche le message « Le nombre est
multiple de 3 » si tel est le cas.
Solution :
n = input('Donnez un nombre \n');
if mod(n,3)==0
disp('Le nombre est multiple de 3');
end;
13
Structures Conditionnelles
Condition Deux choix:
La syntaxe est la suivante :
if (Condition)
Bloc d'instructions 1
else
Bloc d'instructions 2
end
Exemple :
Ecrire un script qui lit un nombre entier puis affiche un message indiquant si le
nombre est positif ou strictement négatif.
n = input('Donnez un nombre \n');
Solution
if n>=0 :
disp([num2str(n),' est positif']);
else
disp([num2str(n),' est strictement négatif']);
end
14
Structures Conditionnelles
Exemple :
Ecrire un script qui lit un nombre entier puis affiche un message indiquant si le
nombre est strictement positif , strictement négatif ou nul.
Solution :
n = input('Donnez un nombre \n');
if n>0
disp([num2str(n),' est strictement positif']);
else
if n==0
disp([num2str(n),' est nul']);
else
disp([num2str(n),' est strictement négatif']);
end
end
15
Structures Conditionnelles
Condition à choix multiple :
La syntaxe est la suivante :
switch(IdVar)
case Valeur1
Bloc 1
case Valeur2
Bloc 2
…
case ValeurN
BlocN
otherwise
Bloc autre
end
Remarque
Le mot clé otherwise (autre) est facultatif
16
Structures Conditionnelles
Exemple :
Ecrire un script qui demande à l'utilisateur un chiffre parmi -1, 0, 1 puis affiche ce
nombre en lettre.
Solution :
n = input(’Tapez un chiffre parmi -1,0 ou 1: \n’);
switch (n)
case -1
disp(‘c’’est moins un’);
case 0
disp(‘c’’est la valeur zéro !’);
case 1
disp(‘c’’est plus un’);
otherwise
disp(‘Une autre valeur’);
end
17
Structures itératives
La Boucle For : ( Pour )
Sa syntaxe est la suivante :
for idvar = ValeurInitiale : Pas : ValeurFinale
Bloc d'instructions
end
Exemple :
Scripts
for i = 0 : 3 for i = 1 : 2 : 5
j=i*4; j=i*4;
disp(j); disp(j);
end end
Résultat de l’exécution
0 4
4 12
8 20
12
18
Structures itératives
Exemple :
Ecrire un script qui demande à l'utilisateur les éléments d'un vecteur ligne de 5
valeurs puis affiche le vecteur au complet. Par ex :
Donnez l'élément 1
18
Donnez l'élément 2
30
Donnez l'élément 3
20
Donnez l'élément 4
7
Donnez l'élément 5
44
Le vecteur est : 18 30 20 7 44
Solution :
for i = 1 : 5
T(i)=input(['Donnez l''élément ' , num2str(i),'\n']);
end
disp(['Le vecteur est : ' , num2str(T)]);
19
Structures itératives
La Boucle While : (Tant Que)
Sa syntaxe est la suivante :
while condition
Bloc d'instruction
end
Exemple :
Ecrire un script qui lit les éléments d'un vecteur ligne d'entier positif. La lecture s'arrête
lorsque l'utilisateur saisi la valeur -1.
i = 1 ;
n = input('Donnez la valeur de l''élément 1');
while n~=-1
T(i) = n ;
i = i + 1 ;
n = input(['Donnez la valeur de l''élément ', num2str(i)]);
end
20
Les Fichiers Fonction
Les Fonctions
Nous avons vu précédemment que Matlab fournissait un grand nombre de
fonctions prédéfinies ( sin, cos, abs,exp,log,sqrt, . . . ).
Il est cependant possible pour le programmeur de créer ses propre fonctions.
E1 S1
E2 S2
Fonction
...
...
Em Sn
21
Exemples de fonctions
1. Fonction Qui calcule la factorielle d'un Nombre
N Fact N!
Entier Entier
T Moyenne M
Vecteur réel
Vp (Vecteur)
V Diviser
Vecteur Vi (Vecteur)
22
Ecriture de fonctions
Une fonction est un script enregistré dans un fichier .m avec la syntaxe suivante :
23
Exemples :
1. Ecrire une fonction qui calcule la factorielle d'un nombre
n fact f
Entier Entier
fact.m
function [ f ] = fact (n)
f = 1 ;
for i = 1 : n
f = f*i ;
end
24
Exemples :
2. Ecrire une fonction qui calcule le résultat (quotient) et le reste d'une division
entière
n Q
div
m R
Par ex : n = 16 ; m = 5 Q = 3 et R = 1
div.m
function [ Q R ] = div (n , m)
25
Exécution d'une fonction (appel)
Une fonction est exécutée en l'appelant par son nom :
Fenêtre de Commande
>> fact(4)
ans = 24
>> X = fact(4)
X = 24
>>[Q R] = div(16,3)
Q = 5
R = 1
26