0% ont trouvé ce document utile (0 vote)
30 vues4 pages

Boucles et fonctions en MATLAB

Ce document décrit les notions de script, fonction et boucles dans MATLAB. Il présente la syntaxe des scripts et fonctions MATLAB ainsi que différents types de boucles comme for, if et while.

Transféré par

Ay B07
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
30 vues4 pages

Boucles et fonctions en MATLAB

Ce document décrit les notions de script, fonction et boucles dans MATLAB. Il présente la syntaxe des scripts et fonctions MATLAB ainsi que différents types de boucles comme for, if et while.

Transféré par

Ay B07
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Chapitre 2

TP 2 : Initiation à MATLAB : Script,


function et boucles

2.1 Notion de SCRIPT

2.1.1 Syntaxe

Un fichier SCRIPT permet de regrouper des séries de commandes MATLAB. Cela


évite d’avoir à saisir plusieurs fois de longues suites d’instructions. A son lancement,
les instructions qu’il contient s’exécutent séquentiellement comme si elles étaient
lancées depuis l’invité de commande.
Un SCRIPT stocke ses variables dans le workspace, lequel est partagé par tous
les scripts. Ainsi, toutes les variables créées dans les SCRIPT sont visibles depuis
la command window et vice versa. Lorsque MATLAB détecte une erreur, le programme
s’arrête et un message d’erreur s’affiche à l’écran (avec le numéro de la ligne où
l’erreur est détectée).

Exemple 2.1.1 Reprenons l’exercice 4 dans un fichier SRCIPT :

fileID=fopen('[Link]','w');
fprintf(fileID, 'Le résultat obtenu est d=%f \n',d);
fclose(fileID)

Notre script peut ensuite être exécuté, soit en tapant son nom (sans l’extension)
à l’invite de commande, soit en cliquant sur le bouton "run" de l’éditeur (icône avec
un triangle vert).

 texte

7
8 C HAPITRE 2. TP 2 : I NITIATION À MATLAB : S CRIPT, FUNCTION ET BOUCLES

2.2 Notion de fonction

Le principe d’une fonction est d’effectuer des opérations à partir d’une ou plu-
sieurs entrées et fournir une ou plusieurs sorties (résultat). Les variables d’entrées
sont des paramètres à spécifier en argument de la fonction, tandis que les variables
de sorties sont des valeurs quelle renvoie. Un m-file function est tout à fait semblable
aux fonctions intégrées de Matlab comme la fonction sin, cos, log, ....
Un m-file est définit comme une fonction en plaçant en tête du fichier le mot clé
function suivit de son prototype. Un prototype est de la forme

function[s1, s2, ...] = nomfonction(e1, e2, ...)

Le membre de gauche regroupe les sorties renvoyées par la fonction et les va-
riables entres parenthèses sont les entrées. Le nom du fichier doit être identique
au nom de la fonction. Ecrivons dans l’éditeur notre fonction qui permet de calculer
l’aire et le volume d’une sphère pour un rayon donné.

function V = mafonction(r)
% Calcul du Volume
V=4*pi*r∧ 3/3

L’appel de la fonction s’effectue de la même façon que pour les fonctions prédé-
finies dans le logiciel

volume=mafonction(2) % Exécution de la function


volume = 33.510

Le point fondamental qui différencie une fonction d’un script est le fait que les
variables internes soient locales, c’est-à-dire que les variables définies dans une
fonction n’existent que dans celle-ci. De plus, les variables du workspace ne sont
pas visibles depuis une fonction.

2.3 Boucles

2.3.1 Itération ou boucle for

La boucle classique (répétition d’un nombre fixé d’itérations) s’écrit sous MATLAB :

for i=1:n
instructions...
end
qui répète n fois la série d’instructions avec un compteur i variant de 1 jusqu’à n.
2.3. B OUCLES 9

Exemple 2.3.1 Calculer la somme des 10 premiers carrés d’entiers naturels :


10
X
s= k2
k=0

s=0;
for k=1:10
s=s+k∧ 2;
end
disp(s)

 somme
s = 385

2.3.2 Le test if

L’instruction if permet de n’effectuer que si une certaine condition est satisfaite.


Mais à la différence de while, elle n’exécute ces commandes qu’une seule fois.

Exemple 2.3.2

% Cet exemple résout une équation du premier degré.


a=input('a\n'); b=input('b\n');
if a==0
if b==0
disp('Une infinité de solutions')
else
disp('Pas de solutions')
end
else fprintf('La solution est %f x=',-b/a)
end

2.3.3 Boucle conditionnelle while

La boucle conditionnelle while permet de répéter des instructions tant qu’une


condition donnée est vraie, si la condition devient fausse, la boucle s’arrête et le
programme passe à la suite du code. Sa syntaxe est :
10 C HAPITRE 2. TP 2 : I NITIATION À MATLAB : S CRIPT, FUNCTION ET BOUCLES

while conditions
instructions...
end

Exemple 2.3.3

% Cet exemple affiche 10 fois le caractère 'toujours dans la


boucle'
Compteur = 0;
while compteur < 10
disp('toujours dans la boucle')
compteur=compteur+1;
end

2.4 Partie pratique

Exercise 2.4.1

Écrire dans un fichier SCRIPT qui permet de calculer le factoriel de 10.


(indication : utiliser la boucle for)
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................

 factoriel
p = 3628800

Exercise 2.4.2

c
Soit la fonction g dà finie par :

g(x) = x − ln(x) + arctan(x)

Calculer g(1) puis g(π)


...................................................................................................................................
...................................................................................................................................
...................................................................................................................................

Vous aimerez peut-être aussi