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

TP Matlab 04

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1/ 4

Si cette fonction est frequement utilisée, ce sera preferable de mettre les

TP 04 : Les scripts en Matlab commandes precedentes dans un script et lui donner un nom (par exemple
‘maCourbe’),et à chaque fois que nous desirons voir sa courbe, on ecrit tout
simplement :
Ecriture d’un script Matlab
>> maCourbe
Il existe deux manières d’exécuter des commandes en Matlab : Et on aura le resulat :
1. Ecrire les commandes dans la fenêtre des commandes.
2. Ou bien mettre les commandes dans un fichier appelé un script.

La première méthode est convenable avec un petit nombre de commandes ou


avec des commandes non fréquemment utilisées. Par contre la deuxième est
mieux adaptée avec un nombre élevé de commandes afin d’éviter la fastidieuse
tache de tout réécrire à chaque fois qu’on a besoin de ces commandes.

Donc, un script Matlab est un fichier d’extension (.m) qui contient une séquence Quelques règles et conseils pour l’écriture des scripts
d’instructions ou de commandes.
1. Mettre des commentaires :
(La forme écrite d’un script/programme s’appelle un code source) Les commentaires sont des phrases explicatives ignorées par Matlab
destinées à l’utilisateur afin de l’aider à comprendre la partie du code
Les étapes pour écrire un script sont : source commentée.
1. Ouvrir la fenêtre d’édition avec la commande edit En Matlab un commentaire commence par le symbole % et occupe le reste
2. Ecrire les commandes et les instructions de la ligne.
3. Sauvegarder le script avec un nom de fichier bien défini Par exemple :
4. Exécuter le script et vérifier s’il fonctionne bien. Pour l’exécuter il suffit >> A=B+C ; % Donner à A la valeur de B+C
de taper le nom du script dans la fenêtre des commandes ou tout
simplement cliquer sur l’icône  (ou la touche F5) dans la fenêtre 2. Comment écrire des expressions longues :
d’édition. Si l’écriture d’une expression longue ne peut pas être enclavée dans une
seule ligne, il est possible de la diviser en plusieurs lignes en mettant à la
fin de chaque ligne incomplète au moins trois points consécutives.
Exemple : x = -2:0.2:2;
Nous voulons dessiner la courbe de la y = x.^3+x.^2-3*x-3;
plot(x,y,'r--o') Par exemple au lieu d’écrire l’expression :
fonction 𝑓(𝑥) = 𝑥 3 + 𝑥 2 − 3𝑥 − 3 >> (sin(pi/3)^2/cos(pi/3)^2)-(1-2*(5+sqrt(x)^5/(-2*x^3-x^2)^1+3*x)) ;
title('Dessiner une fonction')
avec un titre et un style. Donc nous xlabel('X')
pouvons écrire : ylabel('Y') On peut mettre :
grid on >> (sin(pi/3)^2/cos(pi/3)^2)- ... 
(1-2*(5+sqrt(x)^5 ..... 
/(-2*x^3-x^2)^1+3*x)) ; 

1
Pour cela, on peut utiliser la fonction disp, et qui a la syntaxe suivante :
3. Lecture des données dans un programme (Les entrées) : disp (objet)
La valeur de l’objet peut être un nombre, un vecteur, une matrice, une
Pour lire une valeur donnée par l’utilisateur, il est possible d’utiliser la chaine de caractères ou une expression.
commande input, qui a la syntaxe suivante : On signale qu’avec un vecteur ou une matrice vide, disp n’affiche rien.

variable = input (‘une phrase indicative‘)


Exemple :
>> disp(A) % Afficher la valeur de A sans ‘A = ‘
La valeur déposée par l’utilisateur Une phrase aidant l’utilisateur à 5
sera mise dans cette variable savoir quoi entrer >> disp(A); % Le point-virgule n’a pas d’effet
5
Quand Matlab exécute une telle instruction, La phrase indicative sera >> B % Afficher le vecteur B par la méthode classique
d’abord affichée à l’utilisateur en attendant que ce dernier entre une valeur. B =
1 3 5 7 3 2 1 0
Par exemple : >> disp(B) % Afficher le vecteur B sans ‘B = ‘
1 3 5 7 3 2 1 0
>> A = input ('Entrez un nombre entier : ') 
>> C = 3 :1 :0 % Création d’un vecteur C vide
Entrez un nombre entier : 5  C =
A = Empty matrix: 1-by-0
5 >> disp(C) % disp n’affiche rien si le vecteur est vide
>>
>> A = input ('Entrez un nombre entier : '); 
Entrez un nombre entier : 5 
Il est possible de réaliser des sorties formatées en utilisant les fonctions :
>> B = input ('Entrez un vecteur de ligne : ')  fprintf (et éventuellement sprintf) (mais nous les omettons dans ce
Entrez un vecteur ligne : [1:2:8,3:-1:0]  TP).
B =
1 3 5 7 3 2 1 0

4. Ecriture des données dans un programme (Les sorties) :

Il suffit d’écrire le nom d’une variable sans ajouter un point-virgule pour


afficher sa valeur. Par exemple :
>> A = 5 ; % Rien ne sera affiché
>> A % Matlab va afficher la valeur de A
A =
5

Avec cette méthode, Matlab écrit le nom de la variable (A) puis le signe (=)
suivie de la valeur désirée. Cependant, il existe des cas où on désire afficher
uniquement la valeur de la variable (sans le nom et sans le signe =).
2
Les structures de contrôle Exemple :
Selon la valeur de la variable age le code suivant nous donne une petite description :
Les structures de contrôle sont des instructions permettant de définir et age = input('Entrez un âge : ');
if age < 2
de manipuler l’ordre d’exécution des taches dans un programme. Elles disp('un nourrissant')
offrent la possibilité de réaliser des traitements conditionnels selon la elseif age < 13
valeur des données ou de réaliser des boucles répétitives pour certaines disp('un enfant')
activités. Dans ce TP on va étudier les quatre structures de contrôle elseif age < 18
disp ('un adolescent')
suivantes :
elseif age < 60
If switch for while disp ('un adulte)
else
disp ('une personne âgée')
1. L’instruction de test conditionnel if : end

Cette instruction décide si un ensemble d’instructions doit être


exécuté ou non selon la valeur logique d’une condition. Elle a trois 2. L’instruction conditionnelle switch :
formes :
C’est comme l’instruction if mais elle est plus approprie quand le
Choix d’un traitement conditionnel Choix entre deux taches mutuellement exclusives nombre des choix conditionnels devient important.
La forme générale de cette instruction est :
if condition if condition
instruction_1 ensemble d’instructions 1 switch expression
instruction_2 else
case valeur_1
ensemble d’instructions 2
. . . Groupe d’instructions 1
end
instruction_N case valeur_2
end Groupe d’instructions 2
. . .
Choix entre plusieurs taches mutuellement exclusives case valeur_n
Groupe d’instructions n
if condition_1 otherwise
Ensemble d’instructions 1 Groupe d’instructions si les cas précédents ont échoué
elseif condition _2 end
Ensemble d’instructions 2
.... Exemple :
elseif condition _n n = input ('Entrez le numéro d''une Wilaya : ') ;
Ensemble d’instructions n switch n
else
case 21 , disp('Skikda')
instructions si les conditions précédentes étaient fausses
case 16 , disp('Alger')
end
case 25 , disp('Constantine')
otherwise , disp('Je ne sais pas')
end

3
3. L’instruction itérative for : Exercice :
Créez un programme qui trouve les racines d’une équation de second
L’instruction for répète l’exécution d’un groupe d’instructions un degré désignée par : ax2+bx+c=0 (avec a et b ≠ 0). Le nom du programme
nombre déterminé de fois. Elle a la forme générale suivante : doit être ‘Equation2deg.m’.
for variable = vecteur

end
Groupe d’instructions
La solution :
% Programme de résolution de l’équation a*x^2+b*x+c=0
L’instruction va parcourir tout le vecteur défini par l’expression, et
pour chaque élément elle va ré-exécuter le groupe d’instructions. a = input ('Entrez la valeur de a : '); % lire a
Exemple : b = input ('Entrez la valeur de b : '); % lire b
c = input ('Entrez la valeur de c : '); % lire c
for i = 1:4 for i=7:-2:2 for i = 1:2:4 for i = [1,4,7]
L’instruction j=i*2 ; j=i*2 ; j=i*2 ; j=i*2 ;
delta = b^2-4*a*c ; % Calculer delta
for disp(j) disp(j) disp(j) disp(j)
end end end end if delta<0
2 14 2 2 disp('Pas de solution') % Pas de solution
Le résultat elseif delta==0
4 10 6 8
de 6 6 14 disp('Solution double : ') % Solution double
l’exécution 8 x=-b/(2*a)
else
disp('Deux solutions distinctes: ') % Deux solutions
x1=(-b+sqrt(delta))/(2*a)
4. L’instruction itérative while : x2=(-b-sqrt(delta))/(2*a)
end
L’instruction while répète l’exécution d’un groupe d’instructions un
nombre indéterminé de fois selon la valeur d’une condition logique. Elle
a la forme générale suivante : while condition Si nous voulons exécuter le programme, il suffit de taper le nom du
Ensemble d’instructions programme dans la fenêtre des commandes :
end
Tant que la condition de while est vraie, l’ensemble d’instructions >> Equation2deg 
s’exécutera en boucle. Entrez la valeur de a : -2 
Entrez la valeur de b : 1 
Exemple :
Entrez la valeur de c : 3 
a=1 ;
Deux solutions :
while a~=0 x1 =
a = input ('Entrez un nombre (0 pour terminer) : ') ; -1
x2 =
end
1.5000
Ce programme demande à l’utilisateur d’entrer un nombre. Si ce nombre
n’est pas égal à 0 alors la boucle se répète, sinon le programme s’arrête.

Vous aimerez peut-être aussi