Académique Documents
Professionnel Documents
Culture Documents
1- Premier script
2- Affichage à l'écran : Fonction DISP
3- Saisie au clavier : Fonction INPUT
4- Boucle FOR
5- Boucle WHILE
6- IF ELSE ELSEIF
7- BREAK
8- Exemples de scripts
o Résolution d'une équation du 2ème degré (dans R, espace des
nombres réels)
o Résolution d'une équation du 2ème degré (dans C, espace des
nombres complexes)
o Calcul de la factorielle n!
o Diagrammes de Bode d'un filtre analogique H(p)
o Diagrammes de Bode d'un filtre numérique H(z)
Convention de couleurs :
>> grid on
Pour cela, il vous faut un éditeur de texte (le bloc-notes par exemple) :
Pour exécuter le script, il suffit de taper son nom dans la fenêtre de commande :
>> script1
>> echo on
>> script1
% script1.m
fplot('100*x/((50+x)^2)',[0 200]);
grid on;
Affichage de nombres :
>> a=15;
>> disp(a)
15
>> disp(b)
189
17.0000
-25.3600
2.4495
>> a=12;
Affichage de textes :
>> c='Bonjour';
>> disp(c)
Bonjour
>> disp('Bonjour')
Bonjour
PierrePaulJacques
Il est 12 heures
>> a=18;
Il est 18 heures 58
3- Saisie au clavier : fonction INPUT
Cette fonction effectue la saisie de valeurs numériques ou bien de textes.
Saisie de nombres :
% script2.m
disp('Bonjour!');
fplot('100*x/((50+x)^2)',[x0 x1]) ;
grid on ;
title('Courbe P(R)')
disp('Au revoir.');
>> script2
Bonjour!
R min =20
R max =100
Au revoir.
Saisie de textes :
% scrip2_1.m
>> scrip2_1
Dupont Jérôme
Age : 21
4- Boucle FOR
Cette instruction permet de répéter un bloc d'instructions, un nombre déterminé de
fois.
Synthaxe :
for expression ,
bloc d'instructions ;
end
Exemples :
% script3.m
for i=1:5,
disp([i i*i]);
end
>> script3
11
24
39
4 16
5 25
% scrip3_1.m
for i=1:n,
disp(i);
end
>> scrip3_1
% script4.m
for i=1:2:10,
disp(i);
end
>> script4
% script5.m
for i=1:3,
for j=1:6,
a(i,j)=i+10*j ;
end
end
disp(a);
>> script5
11 21 31 41 51 61
12 22 32 42 52 62
13 23 33 43 53 63
5- Boucle WHILE
Synthaxe :
while condition ,
bloc d'instructions ;
end
Si la condition est vraie, le bloc d'instructions est exécuté, puis le programme teste à
nouveau la condition ...
Opérateurs de comparaison :
== égal
> supérieur
< inférieur
supérieur
>=
ou égal
inférieur ou
<=
égal
~= différent
Exemples :
% script6.m
n=0 ;
while (n<10),
n=n+1;
disp(n);
end
>> script6
9
10
Opérateurs logiques :
ET logique
&
(AND)
OU logique
|
(OR)
~ NON logique
% script7.m
note=-1;
end
La boucle est exécutée tant que la note est inférieure à 0 ou bien supérieure à 20.
>> script7
note =17
6- Instructions IF ELSE ELSEIF
Synthaxe :
IF
if condition ,
bloc d'instructions ;
end
IF ELSE
if condition ,
else
end
IF ELSE IF
if condition1 ,
bloc d'instructions 1 ;
else if condition2 ,
end
% script8.m
note=-1;
if (note<0),
end
if (note>20),
end
end
disp('note = ');
disp(note);
>> script8
note =
12
7- Instruction BREAK
L'instruction BREAK permet de sortir d'une boucle FOR ou d'une boucle WHILE.
% script11.m
for i=1:10,
if i==5,
break;
end
disp(i);
end
>> script11
1
% script12.m
i=0;
while 1,
i=i+1;
if i>5,
break;
end
disp(i);
end
>> script12
5
8- Exemples de scripts
8-3- Calcul de la factorielle n!
% trinome.m
choix='Y';
a=0;
while (a==0),
a=input('a=? ');
if (a==0),
end
end
b=input('b=? ');
c=input('c=? ');
delta=b*b-4*a*c;
if (delta<0),
end
if (delta==0),
racine=-b/(2*a);
disp(racine);
end
if (delta>0),
racine1=(-b+sqrt(delta))/(2*a);
racine2=(-b-sqrt(delta))/(2*a);
disp(racine1);
disp(racine2);
end
end
>> trinome
a=? 0
a=? 1
b=? 2.36
c=? -4.5
Deux racines :
1.2474
-3.6074
% trinome1.m
p(1)=input('a=? ');
p(2)=input('b=? ');
p(3)=input('c=? ');
disp('Racines :');
disp(roots(p));
>> trinome1
a=? 2+i
b=? -5
c=? 1.5-5i
Racines :
0.8329 + 0.6005i
-0.2079 - 0.6005i
% facto.m
disp('Calcul de la factorielle') ;
n=input('n = ? ') ;
fact=1;
for i=1:n,
fact=fact*i;
end
disp([num2str(n) '!=']);
format long e;
disp(fact);
% (C) Fabrice Sincère
>> facto
Calcul de la factorielle
n = ? 134
134!=
1.992942746161518e+228
Exemple :
>> bode
Télécharger le script
Compléments
Exemple :
>> bodenum
Gamme de fréquences :
Fe : fréquence d'échantillonnage
f min / Fe =? 0.001
f max / Fe =? 0.5
Télécharger le script