Les Fichiers Et La Programmation Avec Matlab 1.1. Fichiers de Données

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 8

Institut Supérieur des Année Universitaire : 2020-2021

Sciences Appliquées et
de Technologie de TP 1
Sousse Matière : Introduction à Matlab
Filière : Prepa A2
Enseignante : HAFSI Amal

1. Les fichiers et la programmation avec Matlab


1.1. Fichiers de données

Dans MATLAB, on trouve les fichiers MAT. Ce sont des fichiers binaires (d'extension
«mat») qui permettent de stocker et de restituer des variables utilisées dans l'espace de
travail. Ces opérations sont réalisées respectivement par les commandes save et load.
Exemple :
1) On définit une variable k :

2) On sauvegarde la variable k dans le fichier kfile.mat.

3) Si on efface toutes les variables de la mémoire, Matlab ne connait plus la variable k

4) Que ce se passe-t-il si on exécute ces deux ligne de code ?

1.2. Fichiers de commandes et de fonctions

MATLAB peut exécuter une séquence d'instructions stockées dans un fichier. Ce fichier est
appelé fichier M (M-file). La majorité de votre travail avec MATLAB sera liée à la
manipulation de ces fichiers. Il y a deux types de fichiers M :
➢ Les fichiers de commandes (fichiers scripts)
➢ Les fichiers de fonctions.

1|Page
Les fichiers de fonctions
Les fichiers fonctions fournissent une extensibilité à MATLAB. Vous pouvez créer de
nouvelles fonctions spécifiques à votre domaine de travail qui auront le même statut que
toutes les autres fonctions MATLAB. Les variables dans les fonctions sont par défaut
locales. Une fonction est un m-file particulier : on lui passe des arguments et il retourne une
valeur. Il faut simplement commencer le m-file par le mot function, lui préciser les valeurs
de retour et les arguments comme dans l’exemple ci-dessous. La forme générale de la
déclaration d’une fonction est
function nom_variable_retour = nom_fonction ( nom_paramètres )
Quelques remarques :
• Le m-file et la fonction doivent avoir le même nom ;
• Il peut y avoir plusieurs paramètres (il suffit de les séparer par des virgules) ou
aucun ;
• Il peut y avoir plusieurs variables de retour (les mettre entre crochets et les séparer
par des virgules) ou aucune.
• Afin de vous souvenir de ce que vous avez programmé, il est recommandé de
mettre un commentaire au début de votre m-file.

Exemple :
Nous allons écrire une fonction pour générer un tableau de n nombres aléatoires entiers
compris entre 0 et une valeur maximale contenue dans une variable notée max

1) Entrez ces commandes


>> nba = randint(10,100)
>> help randint

2|Page
2. Structures de contrôle
En plus des commandes vues jusqu’à maintenant, Matlab permet d’inclure dans des m-files
des instructions de programmation classiques. MATLAB dispose des instructions de
contrôle suivantes : if, for et while. La syntaxe de chacune de ces instructions est semblable
à celles des langages classiques.

2.1. Conditions – if . . . else . . . end

La syntaxe est la suivante :


if (test)
commandes
else
autres commandes
end
On peut imbriquer des if else les uns dans les autres à l’aide de l’instruction elseif.
if (test 1)
commandes
elseif (test 2)
commandes
elseif (test 3)
...
else
commandes
end

3|Page
L’écriture de conditions : On peut utiliser différentes symboles pour construire une
condition.

Application 1
1) Qu’est-ce que ce programme affichera ?
a=input('Entrez votre age')
if a>=100
disp('Vous êtes assez âgé')
elseif a>=18
disp('Vous êtes majeur')
elseif a>=16
disp('Vous pouvez conduire (accompagné)')
end

2) Quelle est la différence entre ces deux programmes ?

a=input('Entrez votre age')


if a>=100
disp('Vous êtes assez âgé')
elseif a>=18
disp('Vous êtes majeur')
elseif a>=16
disp('Vous pouvez conduire (accompagné)')
end

4|Page
a=input(‘Entrez votre age’)
if a>=100
disp(‘Vous êtes assez âgé’)
endif
if a>=18
disp(‘Vous êtes majeur’)
endif
if a>=16
disp(‘Vous pouvez conduire’)
end

3) Que pensez-vous de ces programmes ?

5|Page
2.2. Instructions répétitives

➢ L’instruction for
La syntaxe est la suivante :
for compteur = val_début : pas : val_fin
Instructions
end
On peut naturellement imbriquer des boucles for . . . end les unes dans les autres

Application 2

1) Que fait ce code?

v = rand(1,100000);
s = 0;
for i = v
s = s + i;
end
disp(s);

On peut aussi faire


>> s = sum(v);

6|Page
2) Quel code est le plus rapide ?

➢ L’instruction while . . . end

La syntaxe est la suivante :


while condition
commandes
end

7|Page
Application 3

1) Que fait ce code?

a = input('Entrez une valeur entiere : ');


s=1;
while a>1
s = s*a;
a = a-1;
end
disp(s);

2) Calculer la factorielle d’une valeur entière avec une boucle for


3) Vectoriser ce code et évitez la boucle for

Le mot clef break

8|Page

Vous aimerez peut-être aussi