[PDF] [PDF] TP 2 : Les boucles avec Matlab 1 La boucle for dans Matlab

Institut Galilée - Université Paris 13 Dans ce TP, nous verrons l'utilisation des boucles (for et while) dans Matlab, et nous écrirons des s que vous obtenez est -elle en accord avec le fait que la fonction rand réalise une distribution uniforme 



Previous PDF Next PDF





[PDF] TP5 : Les fonctions sous MATLAB et linterpolation - Institut de

9 avr 2020 · TP5 : Les fonctions sous MATLAB et l'interpolation Cette séance de TP5 poursuit la familiarisation avec MATLAB Le chapitre 3 du cours, en 



[PDF] Calcul Scientifique et Symbolique, Logiciels Licence Mathématiques

Institut de Mathématiques, Université Bordeaux 1, Talence 33405, France Annexe E TP5 : les fonctions sous MATLAB et l'interpolation 137 Annexe TP6 : le 



[PDF] TP 2 : Les boucles avec Matlab 1 La boucle for dans Matlab

Institut Galilée - Université Paris 13 Dans ce TP, nous verrons l'utilisation des boucles (for et while) dans Matlab, et nous écrirons des s que vous obtenez est -elle en accord avec le fait que la fonction rand réalise une distribution uniforme 



[PDF] TRAVAUX PRATIQUES DE TRAITEMENT DU SIGNAL - Enseeiht

2 3 1 Quelques fonctions Matlab utiles dans le TP chercheurs de l'équipe Signal et Communication (SC) de l'Institut de Recherche en Informatique Plusieurs méthodes d'interpolation existent pour restituer le signal entre deux points d' 



[PDF] Traitement Des Images Par Matlab Tp

com traitement d images sous matlab ei3 année 2009 2010 cours traitement Interpolation Du Plus Proche Voisin Par Copie Des Pixels''TRAVAUX sous Matlab Segmentation par ensembles de niveaux TP 5 Échantillonnage traitement d'images fonctions matlab pour le traitement d'images enregistrer une image par'



[PDF] Cours Outils de programmation pour les mathématiques

Institut des Sciences et Technologies Cours Outils de programmation pour les LES GRAPHIQUES ET LA VISUALISATION DES DONNEES EN MATLAB 35 4 4 3 Utiliser des matrices comme argument de la fonction plot interpolation, approximation Mr Y BAZIZ Solution du TP5 : Maîtrise du logiciel SCILAB



[PDF] Implémentation de techniques de linéarisation et damélioration du

23 nov 2010 · Délivré par l'Institut National des Sciences Appliquées de Toulouse Discipline ou lytechnique de Catalogne, Barcelona, pendant mes séjours en 2006 et 2007 5 23 Inclusion de fonctions d'interpolation dans la FPGA 153 Matlab On travaille dans l'exemple ci-dessous avec un signal de test



[PDF] CNP GIL - ENSA de Marrakech

Pédagogiques Nationales du Cycle ingénieur adopté en 2014 4 Institution Nature et modalités du partenariat 14 2 Partenariat socio -professionnel Existence et unicité de polynôme d'interpolation -Se familiariser avec les fonctions clés de la gestion Matlab/Simulink, indispensable dans le monde industriel



[PDF] Mécanique - UPHF

TP3 : sous-programmes ; TP4 : tableaux ; TP5 : exercices de synthèse) TP : Initiation sur MATLAB/SIMULINK et premiers essais sur des maquettes Salle de Travaux Pratiques de l'Institut des Sciences et Techniques de Valenciennes Notions d'élément, de fonction d'interpolation, matrice de rigidité locale associée



[PDF] Offre de formation dIngénieur dEtat en Automatique

Supérieure de Biotechnologie, Institut d'Enseignement Professionnel, Institut National Algérien de la Propriété Industrielle Le profil de l'ingénieur d'état en Automatique est une formation Bac + 5 (3 années à l'Ecole TP5: Structures de contrôle de flux et Fichiers fonctions MATLAB Interpolation et approximation 3 1

[PDF] Chapitre II Interpolation et Approximation

[PDF] Python et les math (n 3) - Free

[PDF] Pautas y ejemplos de informe - Universidad de Concepción

[PDF] 29 El análisis sensorialpdf - Inta

[PDF] El Estudio de las Narraciones en las Técnicas Proyectivas Verbales

[PDF] hepatite c - Biomnis

[PDF] Analyse Granulométrique

[PDF] Lecture interprétative de l 'antibiogramme - Infectiologie

[PDF] Comment déterminer la structure des molécules - Mediachimie

[PDF] Comment analyser un tableau - Institut de la statistique du Québec

[PDF] Chapitre 1 - EconomiX

[PDF] Dépistage de l 'hépatite B - Inpes - Santé publique France

[PDF] analyse d 'états financiers par ratios pour le p-dg de pme

[PDF] L 'ANALYSE ET L 'INTERPRÉTATION DES RÉSULTATS Une fois les

[PDF] Analyse du tableau de résultat Les Soldes - IUT en Ligne

Institut Galilee - Universite Paris 13 Introduction a Matlab Sup Galilee - Ingenieur 1ere annee 2016 { 2017TP 2 : Les boucles avec Matlab Dans ce TP, nous verrons l'utilisation des boucles (for et while) dans Matlab, et nous ecrirons des programmes plus complexes pour avoir des comportements toujours plus interessants. Vous devez avoir termine le TP1 avant de commencer ce TP.

1 La boucle for dans Matlab

1.1 La boucle for sur les vecteurs

Pour commencer, nous allons nous familiariser avec la bouclefor. Commencez parecrire un programme tres simple qui parcourt un vecteur ligne :v = rand(1, 20); disp(v); for i=v disp(`La variable i vaut `); disp(i); end Ce programme est sense acher tous les elements deva travers la variableidans la boucle.Questions 1. Commen tfaire p ourac herl es elementsde vdu dernier au premier?

Indice : regardez la fonction

ip. 2. Commen tfaire p ourn'ac herque les elementsde vd'indice pair? 3. Nous aimerions m odierl'ac hagedu pr ecedentprogramme an qu'il n'ac hepas le message La variable i vaut, mais plut^otVoici ce que contient la case .... On veut donc a chaque tour acher le numero de la case et son contenu.

1.2 La boucle for sur les matrices

Nous allons faire le m^eme travail, mais avec une matrice. Voici un programme permettant de parcourir

une matrice :A = rand(5, 5); disp(A); for i=A disp(`La variable i vaut `); disp(i); end Ce programme ache-t-il tous les elements deAun par un?Questions 1. Commen tfaire p ourac hertou sles elementsde Aun par un a l'aide de deux bouclesfor? 2. Commen tfaire p ourac hertous les elementsde Aun par un a l'aide d'une seule boucle for? Comment contr^oler si on souhaite acher d'abord les elements par colonne, ou d'abord ceux par ligne? Indice : Comment faire pour transformer la matriceAen un vecteur?

1.3 Les performance de la boucle for

Parcours avec for

Nous allons voir maintenant que l'utilisation d'une boucleforralentit considerablement un pro- gramme. Pour cela, nous allons essayer de realiser la somme ponderee des elements de deux vecteurs

de m^eme taille. On commence par declarer les deux vecteurs et une variable qui servira au calcul :v = rand(1,100000);

w = rand(1,100000); s=0; Ensuite, on utilise une boucleforan de parcourir les deux vecteurs, et un indice pour parcourir l'autre :i=1; for k = v s = s + k*w(i); i=i+1; end

Questions

1. A l'aide des mots clefs ticettoc, mesurez le temps d'execution de ce programme. La valeur de sque vous obtenez est-elle en accord avec le fait que la fonctionrandrealise une distribution uniforme entre 0 et 1? 2. R ealisezu nev ectorisationde ce c ode,an de v ousd ebarrassertotalemen tde la b oucle.Le s performances obtenues sont-elles meilleures?

La dierence de performance pourrait venir du parcours que l'on fait, ou l'on est oblige de ne parcourir

qu'un seul des deux vecteurs, et utiliser une variable qui grandit de un en un pour parcourir l'autre

vecteur. On pourrait parcourir les deux vecteurs en m^eme temps, en les fusionnant dans une matrice de

deux lignes :for k = [v;w] s = s + k(1)*k(2); end

Questions

Ce nouveau code est-il plus performant que l'ancienne version de la bouclefor? Est-il plus performant

que la version vectorisee?

Preallocation

Nous allons chercher a calculer, etant donnea2R+, les termes de la suite u0= 1 u n= 0:5(un1+a=un1)

Pour ce faire, nous proposons ce code :a=16;

lim = 1000000; un = 1; for k = [2:lim] un_1 = un; un = 0.5*(un_1 + a/un_1); end

Pouvez-vous conjecturer la limite de la suite pour dierentes valeurs dea? Quel est le temps de calcul

de votre programme? An de rendre l'etude plus interessante, nous souhaitons stocker les valeurs successives de la suite dans un vecteur. Nous modions ainsi notre code :tic; a=16; lim = 1000000; h(1) = 1; for k = [2:lim] h(k) = 0.5*(h(k-1) + a/h(k-1)); end toc;

Questions

1.La toute premiere foisque vous executez ce code, va-t-il plus vite ou moins vite que l'autre

version du code? L'ecart est-il important? 2. Si v ousex ecutezce co deune seconde fois, est-il plus rap ide? 3. An de comprendre p ourquoice c ode etaitbien moins rapide la premi erefois, regardez ce qu'il se passe pour le vecteurha chaque tour de boucle (quelle sera sa taille)? Ceci explique-t-il pourquoi, la seconde fois, votre code etait plus rapide? 4. P our evitercela, commen tallouer d esle d epartune certaine taille au v ecteurh? Apres avoir supprime la variablehde la zone des variables, et avoir eectue les modications necessaires a votre code, testez votre nouvelle version : s'execute-t-telle plus vite?

Il est important d'eviter de faire grandir la taille de matrices ou de vecteurs dans une boucle, et de

recourir a la pre-allocation memoire des tableaux (avec des fonctions commezerosouones) avant le

debut de la boucle. En eet, a la chaque agrandissement de tableau, Matlab peut se retrouver contraint

d'allouer une nouvelle place et de recopier tout l'ancien tableau dans le nouveau.

1.4 Quelques exercicesQuestions

1. A l'aide d'une b ouclefor, realisez un programme qui realise l'histogramme demande au TP1, question 4.6. Comparez les performances de ce code avec le code vectorise precedent. 2. Ecriv ezune fonction de tri d'un v ecteur.P ource faire, rec herchezle plus grand elementdu vecteur, puis placez-le a la n du vecteur (vous pouvez utiliser la fonctionmax. Recommencez la m^eme operation en ne recherchant le plus grand element que sur lesn1 premiers elements (ounest la taille du vecteur), etc. Comparez ensuite vos performances a celles de la fonction sort.

2 La boucle while dans Matlab

La bouclewhilede Matlab permet de repeter un morceau de code tant qu'une condition n'est pas

satisfaite. Par exemple, voici un programme permettant de demander un nombre positif a l'utilisateur,

et de repeter ces instructions tant qu'elles n'auront pas ete suivies :a = input('Entrez un nombre positif : ');

while a<0 a = input('Entrez un nombre positif : '); end disp(a); La bouclewhilepermet donc de repeter des instructions tant qu'une condition donnee est vraie. Si la condition devient fausse, alors la boucle s'arr^ete et le programme passe a la suite du code.

Testez ce code :

a=rand(1,1); b=1; while a<30 b = b+1; end Si l'execution de ce code vous parait longue, c'est normal : le code de la bouclewhilene fait pas

evoluer la condition qui restera pour toujours vraie. La boucle va donc tourner a l'inni. Pour interrompre

votre programme, fa^tes CTRL+C dans la fen^etre de commande. Il est donc tres important, dans une bouclewhile, que le code de la boucle fasse evoluer la condition.Questions 1. Ecriv ezun p rogrammequi c hoisitun nom breen tierau hasard en tre1 et 100 ( al'aide de randi), et doit le faire deviner a l'utilisateur. Pour ce faire, tant qu'il n'a pas trouve le nombre, l'utilisateur doit entrer un nombre et le programme lui indique si ce nombre est plus petit ou plus grand. 2. Ecriv ezun programme qui calcule l'appro ximationde 2=8 a l'aide de cette serie convergente : 1 2+13 2+15 2+17 2+::: Votre programme doit arr^eter son calcul lorsque la somme n'evolue plus beaucoup, c'est a dire que ce que l'on rajoute a la somme est inferieur a un millionieme de la somme totale. 3. Ecriv ezun programme qui, al'aide d'une b ouclewhile, teste si un nombreaest premier (il n'est divisible que par 1 et par lui-m^eme). Pour ce faire, testez tous les nombres entrea1 et 2, et voyez s'ils divisent a. 4. On v eutsa voircom bienfaut-il, en mo yenne,faire de lancers de d es6 faces, an d'obtenir un score de 20 ou plus. Pour ce faire, on lancera des des virtuels avec la fonctionrandijusqu'a avoir obtenu un score de 20. Nous repeterons cette experience cent mille fois, et a chaque fois, nous enregistrerons le nombre de lancers de des qu'il a ete necessaire de faire dans un vecteur qui servira d'histogramme. Ensuite, dans la zone des variables, vous pourrez visualiser votre vecteur sous forme d'un graphe en faisant un clic droit dessus, puis en choisissant l'optionplot. Quel est le nombre de lancers qui est, statistiquement, celui qui reussit le mieux a cette epreuve? Est-ce en accord avec la valeur moyenne d'un de? 5. Ecriv ezun programme qui, etantdonn eun n ombreaentre 0 et 1, recherche et ache le premier element d'un vecteurv(genere avec la fonctionrand) qui est plus grand quea. Votre programme doit fonctionner m^eme s'il n'y a aucun element devplus grand quea.

3 Quelques exercicesQuestions

1. R ealisezun programme qui p eut echangerdeux colonnes d'une m ^emematrice sans utiliser de variables intermediaires. 2. Prop osezune v ersionv ectoriseedu programme qui, etantdonn eun nom breaentre 0 et 1, recherche et ache le premier element d'un vecteurvqui est plus grand quea. Ce programme est-il plus rapide siaest grand ou petit? 3. Dans le m ^emeesprit, v ectorisezle co dep ermettantde sa voirsi un nom breest premier : ce code est-il toujours plus rapide que l'autre version (testez dans le cas d'un nombre bel et bien premier, et dans le cas d'un nombre non premier). 4. T oujoursdans le m ^emeesprit, v ectorisezla fonction pgcd vue p endantle cours. 5. Ecriv ezun jeu de Mastermind. Un joueur c hoisitune com binaisonde 4 c hiresen tre1 et

9, qu'il garde secrete, et qui ne contient aucun doublon. Un autre joueur doit deviner cette

sequence dans le bon ordre. Pour ce faire, il peut realiser jusqu'a 6 propositions de 4 chires. On lui ache clairement, apres chaque proposition, quel chire est absent de la veritable combinaison, quel chire est bien place, et quel chire est present mais mal place. Le jeu s'acheve si les 6 propositions ont echoue ou si l'une d'elles a reussi.quotesdbs_dbs19.pdfusesText_25