0% ont trouvé ce document utile (0 vote)
382 vues3 pages

Correction Devoir TP

Ce document contient la correction de deux exercices impliquant des fonctions MATLAB. L'exercice 1 demande d'implémenter une fonction définie par morceaux et de la tester pour différentes valeurs. L'exercice 2 demande d'écrire une fonction calculant la somme des diviseurs d'un entier et de la tester.

Transféré par

Anfel Ab
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)
382 vues3 pages

Correction Devoir TP

Ce document contient la correction de deux exercices impliquant des fonctions MATLAB. L'exercice 1 demande d'implémenter une fonction définie par morceaux et de la tester pour différentes valeurs. L'exercice 2 demande d'écrire une fonction calculant la somme des diviseurs d'un entier et de la tester.

Transféré par

Anfel Ab
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

Correction Devoir 2

Exercice 1
 Implémentez la fonction suivante sur avec le nom TESTTP :

𝒇(𝒙)=2-x si x ≤2
𝒇(𝒙) =
𝒇(𝒙)=x-2 sinon

 Tester la fonction pour x= 0 et x=3


 Proposer une deuxième méthode pour implémenter la fonction 𝑓

Correction :
1. Aller dans un nouveau fichier fonction (function file) et taper :

function [f]= TESTTP(x)


if (x<=2) f=2-x ;
else f=x-2 ;
end
end
2. Sauvegarder le fichier avec le nom : TESTTP.m (filesave as  TESTTP.m)
3. Insérer la valeur de x dans la ligne de commande :

>> x=0 ;
4. Appeler le fichier TESTTP.m via la ligne de commande (copier l’entête sauf
function) :

>> [f]= TESTTP(x)


Matlab affiche f=2
5. Insérer une nouvelle valeur de x dans la ligne de commande :
>> x=3 ;
6. Appeler deuxième fois le fichier TESTTP.m :
>> [f]= TESTTP(x)

GC/TP/HYD [Link] LALLALI


Matlab affiche f=1

 Deuxième méthode pour implémenter la fonction f est : |𝒙 − 𝟐|


>> x=0 ;
>> f=abs(x-2)
Matlab affiche f=2
>> x=3 ;
>> f= abs(x-2)
Matlab affiche f=1

Exercice 2
 Ecrire une fonction somdivtpa qui calcule la somme des diviseurs d’un
entier N strictement positif
 Tester la fonction somdivtpa pour N= 10, ensuite N=4

Exemple : Pour N=6


s=1+2+3+6= 12, car les diviseurs de 6 sont le 1, 2,3 et 6

Correction :
1. Aller dans un nouveau fichier fonction (function file) et taper :

function [S]=Somdivtpa (N)


S=0 ;
for i =1:N
if (mod(N,i)==0) S=S+i ;
end
end
end

GC/TP/HYD [Link] LALLALI


S=0 : initialiser la somme à 0
for i=1 :N : la boucle pour allant de 1 jusqu’à N
if : c’est l’instruction conditionnelle si
mod(N,2): le reste de la division de N par 2
== : pour tester l’égalité
S=S+i : ajouter le diviseur i dans la somme S
end : la fin de if
end : la fin de la boucle for

2. Sauvegarder le fichier avec le nom : somdivtpa.m (filesave as  somdivtpa.m)


3. Insérer la valeur de N dans la ligne de commande :
>> N=10 ;

4. Appeler le fichier somdivtpa.m via la ligne de commande (copier l’entête sauf


function) :

>> [S]= Somdivtpa (N)


Matlab affiche S=18

5. Insérer une nouvelle valeur de N dans la ligne de commande :


>> N=4 ;

6. Appeler deuxième fois le fichier somdivtpa.m :


>> [S]= Somdivtpa (N)
Matlab affiche S=7

GC/TP/HYD [Link] LALLALI

Vous aimerez peut-être aussi