O UTILS DE P ROGRAMMATION P OUR LES M ATHÉMATIQUES Mr. BENDIB. I MAA, LAMIS Laboratory, Université Larbi Tébessi - Tébessa
Chapitre 3
La Programmation sous MATLAB
Less m-Files
Un m-file est un fichier contenant une suite d'instructions que Matlab peut exécuter. Un m-file peut aussi être utilisé comme fichier de librairie contenant des fonctions définies par l'utilisateur. Pour créer un m-file, utilisez le menu Filenew Blank M-file File new Blank M-file.
1.Les Operateurs de bases: Ces operateurs sont valables pour les scalaires comme pour les matrices. Matlab exécutera la bonne opération en fonction du type des termes de l'operateur.
2.Les Operateurs Logiques:
3. Entrées / sorties: Parmi les commandes qui permettent l'interaction avec l'utilisateur lors de l'exécution script d'un on trouves : input L'utilisateur peut saisir un nombre que le script pourra alors utiliser par la commande input. dispfprintf format Dans le sens inverse la commande disp ou fprintf permet d'afficher des variables a l'utilisateur en fonction du mode d’affichage définit par la commande format Exemple Exemple n = input('Saisissez un nombre :') ; Saisie de l'utilisateur disp(n) ; Sortie vers l'affichage Matlab
3.Entrées / sorties: Syntaxe format Format type Format (‘type’) Type : { Short, long, short e, long e, short g, long g, short eng, long eng}; { +, bank, hex, rat }; { compact, loose }
3. Entrées / sorties: Exemples >> a = 11/17; >> b=exp(1e1); >> c=[-3,-2,-1,0,1,2,3]; >> p=pi; >> format compact >> a a = >> b b = >> format loose >> c c = >> pi ans =
3. Entrées / sorties: Exemples >> format compact >> format long e >> a a = e-001 >> format long g >> b b = >> format long eng >> a a = e-003 >> format ('long') >> cast(a,'single') ans = >> cast(a,'double') ans =
3. Entrées / sorties: Exemples >> format ('+') >> f f = >> format bank >> f f = Columns 1 through Columns 7 through >> format rat >> pi ans = 355/113 >> format ('hex') >> cast(c,'int8') ans = fd fe ff >> cast(c,'uint8') ans = >> cast(c,'uint16') ans =
4. Le contrôle de l‘exécution: 4.1. Instruction de choix IF L'instruction IF est une instruction de choix. En fonction que sa condition sera évalué vrai ou faux. La commande exécutera un groupe d'instructions ou l'autre.
4. Le contrôle de l‘exécution: 4.1. Instruction de choix IF Exemple 01 Exemple 01 clc clear a=input (' Donner la valeur de a '); b=input (' Donner la valeur de b '); if a>b disp(a) else disp(b) end
4.1. Instruction de choix IF Exemple 02 Exemple 02 n = 5 ; m = 8 ; if (n > 0) % Condition 1 if ( n > 5 && m < 0) % Condition 1 et Condition 2 disp ('ici 1') % Affichage elseif (n == 5) % Si Condition 1 et non Condition 2 et Condition 3 disp ('ici 2') % Affichage else % Si Condition 1 et non Condition 2 et non Condition 3 disp('ici 3') % Affchage end % else % Si Condition 1 est faux disp('ici 4') % Affichage end %
4. Le contrôle de l‘exécution: 4.2. Instruction de choix SWITCH SWITCHIF IF L'instruction SWITCH est une instruction de choix comme le IF mais avec la particularité de pouvoir effectuer plus de branchements que le IF. SWITCH La commande SWITCH doit être utilisée dans le cas ou, par exemple, en fonction de la valeur d'une variable, on effectue différentes opérations. Attention toute fois, que le nombre de valeurs possibles de cette variable doit être restreint pour conserver une certaine lisibilité du code. breakSWITCH end Le mot clé break signifie que l'on arrête la commande SWITCH et que l'on transfert l’exécution au mot clé end.
4.2. Instruction de choix SWITCH Exemple 01 Exemple 01 n = input('Pour sauver jack tapez 1,...Jessy tapez 2, Brian tapez 3 :') ; % Demande de saisie de l'utilisateur switch n case 1 % Si n vaut 1 disp('Jack est sauvé') break case 2 disp('Jessy est sauvé')% Si n vaut 2 break case 3 disp('Brian est sauvé')% Si n vaut 3 break otherwise disp('Vous n"avez sauvé personne') % Si n est différent de 1,2,3 end
4.2. Instruction de choix SWITCH Exemple 01 Exécution Exemple 01 Exécution Pour sauver jack tapez 1,...Jessy tapez 2, Brian tapez 3 :2 Jessy est sauvé Pour sauver jack tapez 1,...Jessy tapez 2, Brian tapez 3 :5 Vous n"avez sauvé personne >> >>
4. Le contrôle de l‘exécution: 4.3. Boucle FOR FOR La boucle FOR permet d'effectuer des opérations pour un nombre d’itérations définis. FORWHILE L'avantage de la boucle FOR sur la boucle WHILE est sa simplicité d’écriture dans le cas d'un nombre d’itérations définis et bien connu a l'avance (par exemple, le parcours d'un tableau). FOR lors de l’exécution de la boucle FOR, la variable qui sert a boucler est accessible en lecture et en écriture. Il est donc possible de réduire ou d'augmenter le nombre d‘itérations au cours de l‘exécution de la boucle.
4.3. Boucle FOR Exemple 01 Exemple 01 % | Exemple 1 |||||||||||||||||||||||||- % for n = 1 :5 % Boucle pour n allant de 1 a 5 inclus par pas de 1 disp(n) % Affichage end % Fin de boucle % | Exemple 2 |||||||||||||||||||||||||- % for n = 8 :-2 :0 % Boucle pour n allant de 8 a 0 par pas de 2 disp(n) % Affichage end % Fin de boucle % | Exemple 3 |||||||||||||||||||||||||- % for n = [ ] % Boucle pour n égal chaque valeur du vecteur disp(n) % Affichage end % Fin de boucle
4. Le contrôle de l‘exécution: 4.4. Boucle WHILE While Le boucle While permet d'effectuer des opérations de manière répétée jusqu'a ce qu'une condition soit falsifiée. Par exemple : tant que la solution n'est pas précise a 4 décimales, continuer a chercher une solution plus précise. ij D’autre part, il faut éviter l’utilisation des variables i et j comme indices puisqu’elles sont des variables prédéfinies.
4.4. Boucle While % Exemple 1 n = 5 ; m = 8 ; while (n 0) % Boucle tant que n est inferieur a 10 % et m est supérieur a 0 n = n + 1 ; % Incremente n m = m - 1 ; % Décrémente m disp(n) ; % Affichage disp(m) ; % Affichage end % Fin de boucle % Exemple 2 n = 1 ; % Initialisation while (2^n <= 100) n = n + 1; % Incremente n end % Fin de boucle disp(n-1) % Affichage
V OUS AVEZ DES QUESTIONS ?