Vous êtes sur la page 1sur 5

Atelier Math TI1 : 2013/2014

Scripts et fonctions
Un script est un ensemble d’instruction 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
après « >> » nom .

Function [vars1 ,…,varsm]=fonc(vare1,…varen)


Séquence d’instructions
End

Où : vars1 ,…,varsm sont les variables de sortie de la fonction


vare1,…varen sont les variables d’entrée de la fonction
Séquence d’instructions est le corps de la fonction.
Il est impératif que la fonction ayant pour nom fonc soit enregistrée dans un fichier de nom
fonc.m sans quoi cette fonction ne sera pas « visible » par MATLAB.
Opérateurs de comparaison
• Les opérateurs de comparaison sont :
• = = : égal à (x= =y)
• > : stictement 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)
Instructions de contrôle
• Boucle for (parcours d’un intervalle)
• Boucle while (tant que…faire)
• L’instruction conditionnée if
• Choix ventilé, l’instruction switch

1 ISET MAHDIA
Atelier Math TI1 : 2013/2014

Boucle for
Syntaxe :
for indice = borne_inf : borne_sup
Séquence d’instructions
end
Où indice est une variable appelée l’indice de la boucle
Borne_inf et borne_sup sont deux constantes
On peut utiliser un incrément (pas) autre que 1. La syntaxe est alors Borne_inf : pas :
borne_sup.
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.
L’instruction conditionnée IF
Syntaxe1 :
if expression logique
séquence d’instructions
end
expression logique est une expression dont le résultat peut être vrai ou faux
Il n’y a pas de mot clé « then »
Syntaxe 2:
if expression logique
séquence d’instructions 1
else
séquence d’instructions 2
end
Syntaxe 3:
Il est possible d’effectuer un chois en cascade :
if expression logique 1
séquence d’instructions 1
elseif expression logique 2
séquence d’instructions 2

2 ISET MAHDIA
Atelier Math TI1 : 2013/2014


elseif expression logique N
séquence d’instructions N
else séquence d’instructions par défaut
end
L’instruction switch
Syntaxe :
switch var
case cst1,
séquence d’instructions 1
case cst2,
séquence d’instructions 2

case cstN,
séquence d’instructions N
otherwise séquence d’instructions par défaut
end
var est une variable numérique ou une variable chaîne de caractères
cst1,…,cstN, sont des constantes numérique ou des constantes chaîne de caractères
séquence d’instructions i est une séquence d’instructions à exécuter si le contenu de la variable
var est égal à la constante csti (var= =csti).

Il est possible de regrouper plusieurs « cas » si la séquence d’instructions à exécuter est la même
pour ces différents cas. La syntaxe est alors :
Case{ cst1,…,cstN}
Séquence d’instructions commune

Exemple 1 :

% Ce programme calcule la résistance équivalente R de trois résistances


montées en % série ou en parallèle.
global n
disp (' entrer dans l’ordre les valeurs de chaque résistance ')
for i=1:3 ;
disp(['entrer la valeur de R',num2str(i),' (en Ohm)']) ;
R(i)=input(' ') ;
end
disp ('quel type de montage voulez-vous ? série =1 ou parallèle = 0 ?')
n=input(' ');

3 ISET MAHDIA
Atelier Math TI1 : 2013/2014

if n==1 ;
R=R(1)+ R(2)+ R(3);
else if n==0;
R=(R(1)*R(2)+R(1)*R(3)+R(2)*R(3))/(R(1)*R(2)*R(3));
end
end
disp(['La résistance équivalente est : ',num2str(R),' (Ohms)'])
Exemple 2 :

% Ce programme calcule et affiche la table des produits x*y à valeurs dans [0,10]
x=[0:10];
y=[0:10];
k=1;
l=1;
for k=1:11
for l=1:11
A(k,l)=(k-1)*(l-1);
end
end
disp(A)
Exemple 3

function [S,P]=sommeprod(N)
S=N*(N+1)/2;
P=1;
k=1;
while k<N
P=P*k;
k=k+1;
end
P=P*N;

Exercice 1:

Ecrire un M-file qui permet de calculer le plus grand de trois nombres

Exercice2:

1. Ecrire un M-file pour la fonction

2. Tester la fonction sur quelques valeurs, par exemple f2(-1) = 0:0230, f2(3) = 0:0235.

3. Créer un tableau d'abscisses x de -2 à 5 par pas de 0:01

4 ISET MAHDIA
Atelier Math TI1 : 2013/2014

4. Représenter la fonction f2 aux points xi, avec la commande plot(x,f2(x))

Exercice 3 :

Ecrire une fonction qui permet de calculer le maximum et le minimum d'un vecteur de deux
manières :

Avec les fonctions max et min,


Sans les fonctions max et min

Exercice 4 :

Ecrire un script qui permet de calculer la somme, la différence ainsi que le produit de deux
matrices.

5 ISET MAHDIA