0% ont trouvé ce document utile (0 vote)
20 vues6 pages

Programmer avec MATLAB : Scripts et Fonctions

Le document décrit comment programmer avec MATLAB en utilisant des scripts, des fonctions, des boucles, des conditions if/else et comment résoudre des équations du second degré. Il fournit des exemples de code pour illustrer ces concepts.

Transféré par

rania Masdoua
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)
20 vues6 pages

Programmer avec MATLAB : Scripts et Fonctions

Le document décrit comment programmer avec MATLAB en utilisant des scripts, des fonctions, des boucles, des conditions if/else et comment résoudre des équations du second degré. Il fournit des exemples de code pour illustrer ces concepts.

Transféré par

rania Masdoua
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

Programmer sous MATLAB

I. Scripts et fonctions

Il est possible d’enregistrer une séquence d’instructions dans un fichier (appelé « M-file ») et
de les faire exécuter par MATLAB. Un tel fichier doit obligatoirement avoir une extension de
la forme .m (d’où le nom M-file) pour être considéré par MATLAB comme un fichier
d’instructions. On distingue 2 types de M-file,
 Les fichiers scripts.
 Les fichiers de fonctions.

Un script est un ensemble d’instructions MATLAB qui joue le rôle de programme principal.
Si le script est écrit dans le fichier de nom nom.m on l’exécute dans la fenêtre matlab en
tapant nom. Il est plus simple de modifier des instructions dans un fichier à l’aide d’un
éditeur de texte que de retaper un ensemble d’instructions matlab dans la fenêtre de
commande.

Les fichiers de fonctions permettent à l’utilisateur de définir des fonctions qui ne figurent pas
parmi les fonctions MATLAB incorporées et de les utiliser de la même manière que ces
dernières (ces fonctions sont nommées «fonctions utilisateur »).

On définit la fonction "nomfonction" de la manière suivante :


function [var1, . . . , varn] = nomfonction(vare1, . . . , varem)
séquence d’instructions

 var1, . . . , varn sont les variables de sortie de la fonction ;


 vare1, . . . , varem sont les variables d’entrée de la fonction ;
 Séquence d’instructions est le corps de la fonction.

Remarque:

Le fichier doit impérativement commencer par le mot-clé function. ensuite entre crochets les
variables de sortie de la fonction, le symbole =, le nom de la fonction et enfin les variables
d’entrée entre parenthèses. Si la fonction ne possède qu’une seule variable de sortie, les
crochets sont inutiles. Il est impératif que la fonction ayant pour nom "nomfonction" soit
enregistrée dans un fichier de nom nomfonction.m sans quoi cette fonction ne sera pas «
visible » par matlab.

Exemple
Soit la fonction cercle qui calcule le périmètre et l’aire d’un cercle en fonction de son rayon
function [peri, aire] = cercle(R)
%argument d’entrée:
% le rayon: R
% arguments de sortie:
% le périmètre: peri
% l’aire: aire
peri = 2 * pi * R;
aire = pi * R.^2;
Le fichier est enregistré sous le nom cercle.m
Pour utiliser cette fonction, Il suffit de s’assurer qu’il y a le même nombre d’arguments
d’entrée et de sortie.
Dans la fenêtre "command window" , saisir: [y1, y2] = cercle(3) puis taper sur entrée

II. Opérateurs de comparaison et opérateurs logiques


Les opérateurs de comparaison sont :
== : égal à (x == y)
> : strictement plus grand que (x >y)
< : strictement plus petit que (x <y)
> = : plus grand ou égal à (x ≥ y)
< = : plus petit ou égal à (x ≤ y)
˜= : différent de (x ˜= y)
Les opérateurs logiques sont :
& : et (x & y)
| : ou (x | y)
˜ : non (˜ x)
Les opérateurs de comparaison et les opérateurs logiques sont utilisés essentiellement dans
les instructions de contrôle.

III. Instructions de contrôle

Les instructions de contrôle sous matlab sont très proches de celles qui existent dans d’autres
langages de programmation.
Boucle FOR :
Syntaxe :
for indice = borne_inf : borne_sup
séquence d’instructions
end

– indice est une variable appelée l’indice de la boucle ;
– borne_inf et borne_sup sont deux constantes réelles (appelées paramètres de la
boucle) ;
– séquence d’instructions est le traitement à effectuer pour les valeurs d’indices variant
entre borne_inf et borne_sup avec un incrément de 1. On parle du corps de la boucle.

Exemple
Créez un tableau tab contenant les entiers pairs de 0 à 42, puis écrivez un script qui parcourt le
tableau et remplace chacune des valeurs par son carré.
Réponse :
>> tab = 0:2:42;
puis dans un script :
for i = 1:size(tab,2)
tab(i) = tab( i ).^2;
end

Boucle WHILE
Syntaxe :

while expression logique


séquence d’instructions
end

"expression logique" est une expression dont le résultat peut être vrai ou faux ;
"séquence d’instructions" est le traitement à effectuer tant que "expression logique" est
vraie.

Exemple

n=0;
while (n < 10)
n.^2
n=n+1;
end

Cette boucle, affichera la valeur de n2, pour tous les entiers n de 0 à 9. Une boucle se compose
donc d’un compteur (ici n) initialisé à une valeur quelconque (ici 0), d’une condition de
continuation (ici n < 10), d’une ou plusieurs commandes (ici ’affiche la valeur de n2) et d’un
incrément (ici incrément unité n = n + 1).

L’instruction IF
Syntaxe :
if expression logique
séquence d’instructions
end

– expression logique est une expression dont le résultat peut être vrai ou faux ;
– séquence d’instructions est le traitement à effectuer si expression logique est vraie.

Exemple

n=input ( 'entrer un nombre positive: ')

if (n<0) disp ( 'n doit être positive ')

end

IV. Exercices

1-Ecrire un script MATLAB qui permet de calculer la somme de deux matrices A et B de


dimensions 1*4 chacune .

A=[2 1 3 5]
B=[1 5 7 4]

for i=1:4
S(1,i)=A(1,i)+B(1,i);
end
S
2-Ecrire une fonction MATLAB permettant de calculer le produit A*B. Sachant que
A=(1 2 3 4) et B= 1
4
3
6
3-Créer un programme qui trouve les racines d’une équation de second degré ax2+bx+c=0.

a = input ('Introduire la valeur de a : '); % lire a


b = input ('Introduire la valeur de b : '); % lire b
c = input ('Introduire la valeur de c : '); % lire c
delta = b^2‐4*a*c ;
if delta<0
disp('Pas de solution') % Pas de solution
elseif delta==0
disp('Solution double : ') % Solution double
x=‐b/(2*a)
else
disp('Deux solutions distinctes: ') % Deux solutions
x1=(‐b+sqrt(delta))/(2*a)
x2=(‐b‐sqrt(delta))/(2*a)
end

Vous aimerez peut-être aussi