Corrige tp4 matlab 1 Ecole Nationale Des Sciences Appliquées de Tétouan- ENSA AP- ?? Initiation à MATLAB TP Exercice Traduire en langage Matlab l ? algorithme PGCD suivant a b entiers positifs tant-que a b faire si a b alors a a -b sinon b b-a ?n tant-que
Ecole Nationale Des Sciences Appliquées de Tétouan- ENSA AP- ?? Initiation à MATLAB TP Exercice Traduire en langage Matlab l ? algorithme PGCD suivant a b entiers positifs tant-que a b faire si a b alors a a -b sinon b b-a ?n tant-que PGCD a Corrigé de l ? exercice Pour traduire en langage Matlab l ? algorithme PGCD considéré dans cet exercice nous avons besoin des structures de contrôle en l ? occurrence la boucle while et le test if-else-end Nous proposons le M- ?le suivant pour le programme traduisant cet algorithme clear all close all clc a input 'Entrer l''entier positif a ' b input 'Entrer l''entier positif b ' a a b b while a b if a b a a-b else b b-a CEcole Nationale Des Sciences Appliquées de Tétouan- ENSA AP- ?? end end str 'Le plus petit diviseur commun de ' num str a ' et ' num str b ' est ' num str a disp str Remarques Le programme M- ?le constituant la réponse à cet exercice n ? est pas unique Chacun a sa façon personnelle de programmer Le programme proposé est donc un exemple seulement de solution Il existe cependant des critères à satisfaire le programme doit être sans redondances facile à lire et optimisé On a fait appel aux variables auxiliaires a et b pour stocker les valeurs initiales de a et b qui sont modi ?ées dans la boucle while et ne gardent pas donc leurs valeurs d ? entrées à la sortie de cette boucle Elles sont en fait écrasées dans les lignes et On peut tester le programme en faisant appel à la commande gcd de Matlab qui calcule le plus grand diviseur commun de deux nombre entiers positifs Pour cela il su ?t de taper dans notre cas a b gcd a b ans Il faut faire la distinction entre la commande disp qui a ?che la valeur de la variable sans écrire le nom de la variable et la commande display qui écrit le nom de la variable avant de l ? a ?cher Taper pour cela les deux commandes suivantes display str str Le plus petit diviseur commun de et est disp str Le plus petit diviseur commun de et est CEcole Nationale Des Sciences Appliquées de Tétouan- ENSA AP- ?? Exercice Ecrire la fonction vec col m qui transforme tout vecteur ligne ou colonne passé en argument en vecteur colonne Un traitement d ? erreur testera que la variable passée à la fonction est bien un vecteur et non une matrice utiliser la commande size Corrigé de l ? exercice On propose le M- ?le de type fonction suivant function y vect col x n size x n n n n if n y x ' elseif n y x else erreur 'la variable entrée n''est pas un vecteur ligne ou colonne' display erreur end On peut le tester avec les commandes vect col ans vect col ans CEcole Nationale Des
Documents similaires
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/11702584182wucz4hezccevmafewyjnjy95bqtu8hunpmse6s8zkfbqtdrqquv7qjxnba4u7xi2tfwl04y3c65gz3ykzcu5kuso6to77bvpt910.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/h2bT7e5oDRiXhFsubWWFAcyGBUNC3emeoYnVihSCXQDwD7mMP0leyHdg7sRkDufOTMQPcOeFFzmRGIG6jaNzVXYN.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/11702708827qdtd3nugidmmkcvpxi84rvn6rcqz5hrfc0otukmfwl7o21tzxg9g7wof5ddlirrtrmnuaegothdv7qjjfyqbhc5ndrpo4anjn35r.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/11702691774uhg9tqb3qfltupndrkydl7edles1yqqcjt1eeteeodarvf9etngotsczxstohlp47njnhibddxmm1fjfuhturta7ixl6rx7lqp64.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/11702666624kju0evxgbp13fx02ntb73gjmztj9yjwihcihyns0h8o7zdehahnrusxtdr8xyedcptchizmun1hkle46jntkbgtld0epi4syfucy.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/11702468726iqdjjtip64npqwv9thwwb5fdmnosreg19tcladvgqbxib0mugpuzrxyhlrxfihnf9pyceh0lcaxbp1gqcv0kkxi5bbdundavdib9.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/11702565552p30nsz5gd61jdfb7zvpsgdnaaua8pzilkdvhcpptdrwdmkbzdyrwlhe7emgolwufprw9uafrlbydhcwabmfgybgkdlhth0jy2nfd.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/11702569444nzlbzxye434n7vqzavhqrwsyfzmnb5zil9jynmfo66ss2eogqkrk38pkae6q2hxkrvyvm4jt41tewybprbhjrnle7fazyezm1rin.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/11702457374t2ucj0qrwwfbghamc13cvbgdefddjcomc6z9efxvsyx0gtpattfjaeq78johosljswknyx1sdadxlwexl6vqzz01riyrt4xsq30m.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/11702376014qzexngasz5casezcolblv6afya6e786jklreckpbdxs9yztc1gqbuuyx40ztwotegitxdyytc1apykm1h9dyhhpeuitytuhl1ki7.png)
-
27
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Aucune attribution requise- Détails
- Publié le Aoû 08, 2021
- Catégorie Industry / Industr...
- Langue French
- Taille du fichier 52.2kB