<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <!--[ GuppY v5.0.9 CeCILL Copyright (C) 2004-2014 by Laurent Duveau - http://www.freeguppy.org/ ]--> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <meta name="application-name" content="Casyope - Fonctions dfinies par un algorithme"> <title>Casyope - Fonctions dfinies par un algorithme</title> <meta name="description" content="Casyope: a learning environment dedicated to functions"> <meta name="generator" content="GuppY CMS"> <meta name="author" content="lagrange"> <meta name="keywords" content="casyope, functions, mathematics, geodynamic geometry, cas, symbolic computation,"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-status-bar-style" content="black"> <link rel="shortcut icon" href="https://casyopee.math.univ-paris-diderot.fr/guppy.ico"> <link rel="alternate" type="application/rss+xml" title="Casyope : Actualit" hreflang="fr" href="https://casyopee.math.univ-paris-diderot.fr/data/fr-news.xml"> <link type="text/css" rel="stylesheet" href="skins/casyop/style.css"> <link type="text/css" rel="stylesheet" href="skins/casyop/jqstyle.css"> <style type="text/css" media="screen"> @import url(inc/auto.css); </style> <style type="text/css" media="print"> @import url(inc/print.css); </style> <link type="text/css" rel="stylesheet" href="inc/csshead/fotorama.css"> <link type="text/css" rel="stylesheet" href="inc/csshead/menubox.css"> <link type="text/css" rel="stylesheet" href="inc/csshead/slidesjs.css"> <script type="text/javascript"> //<![CDATA[ <!-- var charset = "UTF-8"; var site0 = "Casyope"; var site3 = "https://casyopee.math.univ-paris-diderot.fr/"; var sValue = screen.width + "||" + screen.height + "||" + screen.availWidth + "||" + screen.availHeight; var today = new Date(), expires = new Date(); expires.setTime(today.getTime() + (365*24*60*60*1000)); document.cookie = "GuppYScreen" + "=" + encodeURIComponent(sValue) + ";expires=" + expires.toGMTString(); //--> //]]> </script> <script type="text/javascript" src="inc/hpage.js"></script> <script type="text/javascript" src="inc/jquery-min.js"></script> <script type="text/javascript" src="inc/jquery-migrate-min.js"></script> <script type="text/javascript" src="inc/jqscript.js"></script> <script type="text/javascript" src="inc/jshead/boxmenu_toggle.js"></script> <script type="text/javascript" src="inc/jshead/fotorama.js"></script> <script type="text/javascript" src="inc/jshead/jquery.imagecube.min.js"></script> <script type="text/javascript" src="inc/jshead/sidephoto.js"></script> <script type="text/javascript" src="inc/jshead/slides.min.jquery.js"></script> <script type="text/javascript" src="inc/jshead/slidesjs.js"></script> <meta content="IE=11.0000" http-equiv="X-UA-Compatible"> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> <meta name="GENERATOR" content="MSHTML 11.00.9600.18125"> </head> <body> <table style="margin: auto auto auto 0px; width: 100%; text-align: left;"> <tbody> <tr> <td style="width: 100%; vertical-align: top;"><!-- Begin of ABOVE_BOXES --> <div id="AboveBoxes"> </div> <!-- End of ABOVE_BOXES --> <div class="titre"> <h1>Fonctions dfinies par un algorithme</h1> </div> <div class="tbl tblout" onmouseover="this.className = 'tbl tblover'" onmouseout="this.className = 'tbl tblout'"> <div style="padding: 6px;"> <h1>Introduction</h1> <h3>Objectifs</h3> <ol> <li>dfinir des fonctions partir d'algorithmes, en cohrence avec les fonctions telles qu'elles sont implmentes dans Casyope,</li> <li>afficher les graphes, tables et courbes de ces fonctions, dans les mmes crans que les autres fonctions, et permettre certains calculs.</li> <li>proposer une structure de programmation simple, pour une premire initiation.</li> </ol> <h3>Situations</h3> <ol> <li>dans un contexte gomtrique: trajectoires de mobiles,</li> <li>dans un contexte "analyse": primitive approche, mthode d'Euler</li> <li>... imaginer..</li> </ol> <p>Dans ce texte, des situations en analyse sont d'abord traites, puis les trajectoires.<br> </p> <h3>Choix</h3> <ol> <li>Deux variables spciales <span style="font-style: italic;">x</span> et <span style="font-style: italic;">y</span> sont pr dclares. <br> </li> <li>La fonction est dfinie <br> </li> <ul> <li>comme une fonction affine par morceaux <span style="font-style: italic;">f </span>telle que<span style="font-style: italic;"> f(x)=y</span> pour chaque couple de valeurs de (<span style="font-style: italic;">x, </span>y) obtenus dans l'itration.</li> <li>ou comme une fonction <span style="font-style: italic;">f </span> valeurs dans IR <span style="font-style: italic;"> f(t)=[X</span><span style="font-style: italic;">(t) ; Y(t)],</span> telle que la fonction <span style="font-style: italic;">X</span>&nbsp; (resp. <span style="font-style: italic;">Y</span>) est affine par morceaux et prend pour chaque entier <span style="font-style: italic;">t</span> la valeur de <span style="font-style: italic;">x </span>(resp <span style="font-style: italic;">y</span>) obtenue au pas <span style="font-style: italic;">t</span> de l'itration.<br> </li> </ul> <li>Les autres variables sont identifies par un caractre alphabtique disponible.</li> <li>Le programme comprend deux blocs <ul> <li>un bloc de dclaration et d'initialisation des variables.</li> <li>un bloc d'itration sous une parmi quatre formes.</li> </ul> </li> <li>A l'intrieur du corps de boucle, seule l'affectation d'une <span style="font-style: italic;">formule</span> une variable dclare est permise.</li> <li>La condition d'arrt (ou de continuation) est du type <span style="font-style: italic;">variable</span> &gt; <span style="font-style: italic;">formule</span><span style="font-style: italic;">,</span><span style="font-style: italic;"> variable </span>e" <span style="font-style: italic;">formule</span><span style="font-style: italic;">,</span><span style="font-style: italic;"> variable &lt; </span><span style="font-style: italic;">formule</span><span style="font-style: italic;"> ou </span><span style="font-style: italic;">variable</span> d"<span style="font-style: italic;"> formule</span><span style="font-style: italic;">,</span><span style="font-style: italic;"> </span></li> <li>Les <span style="font-style: italic;">formule</span>s sont entres comme dans les autres modules de Casyope. Elles peuvent comprendre une ou plusieurs variables du programme et d'autres objets symboliques dfinis dans Casyope (fonctions, paramtres).</li> <li>Il n'y a pas d'entre/sortie de donnes. Le rsultat observable de la programmation est la cration d'une fonction.</li> <li>Il n'y pas de structure alternative (<span style="font-style: italic;">si.. alors .. sinon</span>).<br> </li> </ol> <h3>L'interface</h3> Les fonctions par algorithme sont cres via le menu du volet d'algbre.<br> <img style="width: 408px; height: 129px;" alt="" src="../../../../../../../img/Algorithmes/Menu.png"><br> La fentre de cration s'ouvre<br> <img style="width: 850px; height: 422px;" alt="" src="../../../../../../../img/Algorithmes/Interface.png"><br> Le menu sera dtaill plus loin.<br> La partie centrale comprend deux volets redimensionnables. A gauche, la zone de programme. On opre sur cette zone l'aides des 5 premires entres du menu.<br> A droite un volet comprend en haut une zone de test o les valeurs successives des variables intervenant dans l'itration seront affiches, puis diffrents choix: <br> (1) le choix du type de fonction<br> <ul> <li>le choix de gauche correspond une fonction affine par morceaux <span style="font-style: italic;">f </span>telle que<span style="font-style: italic;"> f(x)=y</span> pour chaque couple de valeurs de (<span style="font-style: italic;">x, </span>y) obtenus dans l'itration. Avec ce choix, l'itration sera arrte ds que deux valeurs conscutives de <span style="font-style: italic;">x</span> seront en ordre dcroissant.</li> <li>le choix de droite correspond une fonction <span style="font-style: italic;">f </span> valeurs dans IR <span style="font-style: italic;"> f(t)=[X</span><span style="font-style: italic;">(t) ; Y(t)],</span> telle que la fonction <span style="font-style: italic;">X</span>&nbsp; (resp. <span style="font-style: italic;">Y</span>) est affine par morceaux et prend pour chaque entier <span style="font-style: italic;">t</span> la valeur de <span style="font-style: italic;">x </span>(resp <span style="font-style: italic;">y</span>) obtenue au pas <span style="font-style: italic;">t</span> de l'itration. Avec ce choix, l'itration sera poursuivie sans considrer l'ordre des valeurs successives de <span style="font-style: italic;">x</span>.</li> </ul> La diffrence entre les deux options est illustre par le dernier exemple de cette page.<br> <br> (2) un champ permettant d'entrer un commentaire libre pour identifier la fonction.<br> <br> (3) le nombre maximum d'itrations. Si le programme ne termine pas avec un nombre d'itrations infrieur la valeur choisie, il sera arrt quand ce nombre sera atteint.<br> <br> En bas de la fentre, on trouve la barre de cration commune toutes les fentres d'entre : choix de l'identificateur de la fonction, validation ou sortie. La validation n'est possible qu'aprs un test sans erreur de syntaxe ni d'xcution. <br> Si l'on choisit de sortir, aucune fonction n'est cre, mais le programme n'est pas perdu : il sera de nouveau accessible lors de la prochaine activation de la fentre.<br> Si l'on choisit OK, la fonction apparat dans la <span style="font-style: italic;">liste des fonctions</span> du volet d'algbre, avec le commentaire permettant de l'identifier.<br> <img style="width: 487px; height: 127px;" alt="" src="../../../../../../../img/Algorithmes/ListFonc.png"><br> Ensuite le menu contextuel (click droit) permet soit de la supprimer, soit de la modifier.<br> La fonction apparat aussi dans le menu-bouton des courbes du volet de gomtrie et parmi les boutons de la fentre graphique.<br> <img style="width: 458px; height: 319px;" alt="" src="../../../../../../../img/Algorithmes/graphe.png"><br> Nous verrons leur utilisation dans les exemples ci-dessous.<br> <h3>Entres de menu</h3> <h5>Dclarer Variable</h5> Cette entre permet de crer une variable et de lui afffecter une valeur initiale.<br> <img style="width: 450px; height: 123px;" alt="" src="../../../../../../../img/Algorithmes/declare.png"><br> Dans la barre d'entre qui s'ouvre, une liste permet de choisir un identificateur dans l'ensemble des caractres disponibles. Un champ permet d'entrer une <span style="font-style: italic;">formule</span>.<br> La syntaxe de la <span style="font-style: italic;">formule</span> sera vrifie lors d'un test.<br> Aprs validation, une ligne est cre: <span style="font-style: italic;">identificateur !</span> <span style="font-style: italic;">formule<br> <br> </span>Note: lorsqu'une ligne de la partie dclaration est selctionne<span style="font-style: italic;">, </span>l'appui sur la touche <span style="font-style: italic;">Entre&nbsp;</span> produit le mme effet<span style="font-style: italic;">.<br> </span> <h5>Affecter Variable dans la boucle</h5> Cette entre permet d'afffecter, dans le corps de l'itration (boucle), une valeur une variable dclare.<br> <img style="width: 452px; height: 48px;" alt="" src="../../../../../../../img/Algorithmes/affecte.png"><br> Dans la barre d'entre qui s'ouvre, une liste permet de choisir un identificateur dans l'ensemble des variables dclares. Un champ permet d'entrer une <span style="font-style: italic;">formule</span>.<br> La syntaxe de la <span style="font-style: italic;">formule</span> sera vrifie lors d'un test.<br> Aprs validation, une ligne est cre: <span style="font-style: italic;">identificateur !</span> <span style="font-style: italic;">formule</span><br> <br> Note: lorsqu'une ligne du corps de boucle est selctionne<span style="font-style: italic;">, </span>l'appui sur la touche <span style="font-style: italic;">Entre&nbsp;</span> produit le mme effet<span style="font-style: italic;">.</span><br> <h5>Modifier</h5> Cette entre permet de modifier une ligne dj entre.<br> Deux cas se prsentent:<br> (1) il s'agit d'une des deux lignes qui encadrent le corps de boucle. <br> Initialement la structure est <span style="font-style: italic;">Boucle... FinBoucle</span>. Avec cette structure, le programme s'arrtera seulement quand le le nombre maximum d'itrations aura t atteint.<br> Dans la barre d'entre qui s'ouvre, trois autres structures peuvent tre choisies l'aide de la liste gauche.<br> <img style="width: 246px; height: 78px;" alt="" src="../../../../../../../img/Algorithmes/struct.png"><br> <ol> <li>Si la structure <span style="font-style: italic;">TantQue</span> est choisie, deux listes (une pour la <span style="font-style: italic;">variable</span>, l'autre pour un des <span style="font-style: italic;">signes</span> &gt;<span style="font-style: italic;">,</span><span style="font-style: italic;">&nbsp; </span>e"&nbsp;<span style="font-style: italic;"> , &lt;&nbsp;</span><span style="font-style: italic;"> ou&nbsp;</span> d") et un champ d'entre de <span style="font-style: italic;">formule</span> sont proposs pour une condition de continuation.</li> <li>Si la structure <span style="font-style: italic;">Pour</span> est choisie une liste pour la <span style="font-style: italic;">variable</span> de boucle et un champ d'entre de <span style="font-style: italic;">formule</span> sont proposs. Le champ d'entre correspond la valeur suprieure prise par la variable.</li> <li>Si la structure <span style="font-style: italic;">Rpter jusqu'</span> est choisie, deux listes (une pour la <span style="font-style: italic;">variable</span>, l'autre pour un des<span style="font-style: italic;"> signes</span> &gt;<span style="font-style: italic;">,</span><span style="font-style: italic;">&nbsp; </span>e"&nbsp;<span style="font-style: italic;"> , &lt;&nbsp;</span><span style="font-style: italic;"> ou&nbsp;</span> d") et un champ d'entre de <span style="font-style: italic;">formule</span> sont proposs pour une condition d'arrt.</li> </ol> <span style="text-decoration: underline;">Note:</span> dans la structure <span style="font-style: italic;">TantQue </span>(resp. <span style="font-style: italic;">Rpter jusqu'</span>) il sera vrifi que la variable intervenant dans la condition de continuation (resp. d'arrt) volue dans la boucle. Dans la structure <span style="font-style: italic;">Pour</span>, il sera vrifi qu'il n'y a pas d'affectation la variable de boucle.<br> <br> (2) pour les autres lignes, une barre d'entre permet de modifier la <span style="font-style: italic;">variable</span> et/ou la <span style="font-style: italic;">formule</span>.&nbsp; <br> <br> <span style="text-decoration: underline;">Note:</span> un double click sur une ligne produit le mme effet.<br> <h5>Commentaire</h5> Cette entre permet d'insrer une ligne de texte qui ne sera pas value.<br> <h5>Supprimer Ligne</h5> Supprime le ligne slectionne. Il n'est pas possible de supprimer les lignes de dclaration des variables <span style="font-style: italic;">x&nbsp; </span>et<span style="font-style: italic;"> y</span>, ni celles dlimitant le corps de boucle.<br> <br> <span style="font-weight: bold;">Tester<br> </span>Un premier appui provoque l'affichage d'une liste cocher des variables du programme.<br> On peut ainsi choisir les variables dont on veut examiner les valeurs prises au cours de l'itration.<br> <img style="width: 48px; height: 70px;" alt="" src="../../../../../../../img/Algorithmes/test.GIF"><br> Un second appui provoque l'affichage d'une table des valeurs successives des variables slectionnes.<br> Les ventuelles erreurs de syntaxe et d'excution sont dtectes.<br> S'il n'y a pas d'erreur, il est possible de crer la fonction par le bouton OK. <br> <h5>Paramtres<br> </h5> <span style="font-weight: bold;"></span>Les <span style="font-style: italic;">formules </span>utilises dans le&nbsp; programme peuvent faire intervenir les objets algbriques de Casyope, et donc les paramtres.<br> Au cours du test, les valeurs actuelles des paramtres sont utilises. Il est donc utile de les fixer, et/ou de modifier les donnes associes (min, max, pas, etc.<br> Cette entre de menu provoque l'affichage d'une fentre de gestion des paramtres.<br> <h5>RAZ</h5> Remet le programme l'tat initial.<br> <br> <h2>Exemples en Analyse</h2> <h3>La mthode d'Euler pour une solution approche de l'quation diffrentielle y'=y</h3> <p>Dans cet exemple, les gestes de base pour crer et utiliser une fonction dfinie par un algorithme sont montrs.<br> Choisir l'entre dans le menu du volet d'algbre.<br> <img alt="" src="../../../../../../../img/Algorithmes/Im1.jpg"></p> <h4>Le programme</h4> <p>Une fentre s'ouvre avec un embryon de programme.<br> <img alt="" src="../../../../../../../img/Algorithmes/debut.GIF" style="width: 123px; height: 59px;"><br> </p> <h5>Structure</h5> Nous modifions la ligne 3, et choisissons Rpter jusqu' dans la liste de gauche.<br> <img alt="" src="../../../../../../../img/Algorithmes/Im3.jpg"><br> <h5>Dclarations</h5> <br> <p>Nous modifions la dclaration de la variable <span style="font-style: italic;">y.</span><br> <img alt="" src="../../../../../../../img/Algorithmes/Im3.jpg"><br> Avec l'entre de menu correspondante, un champ d'entre s'ouvre pour la valeur initiale.<br> <img alt="" src="../../../../../../../img/Algorithmes/Im4.jpg"><br> Nous remplaons 0 par 1 puis OK.<br> <img alt="" src="../../../../../../../img/Algorithmes/Im5.jpg"><br> <br> Nous dclarons une nouvelle variable p<br> <img alt="" src="../../../../../../../img/Algorithmes/Im6.jpg"><br> . Nous choisissons la lettre dans la liste gauche et nous l'initialisons comme pour <span style="font-style: italic;">y</span><br> <img alt="" src="../../../../../../../img/Algorithmes/Im7.jpg"></p> <h5>Corps de boucle</h5> <p>Nous activons l'entre <span style="font-style: italic;">Affecter Variable dans la boucle</span><br> <img alt="" src="../../../../../../../img/Algorithmes/Im8.jpg"><br> Une barre d'entre similaire l'initialisation s'affiche. La variable affecter est choisir parmi les variables dclares.<br> <br> <img alt="" src="../../../../../../../img/Algorithmes/Im9.jpg"><br> La ligne s'insre aprs la ligne <span style="font-style: italic;">rpter</span><br> Nous introduisons de mme la ligne 5.<br> <img alt="" src="../../../../../../../img/Algorithmes/Im10.jpg"></p> <h5>Condition d'arrt</h5> <p>Nous modifions la ligne 6 comme ci-dessus.<br> Nous conservons la variable <span style="font-style: italic;">x </span>et nous modifions l'expression 0 en 2.<br> Ainsi, la fonction sera dfinie sur l'intervalle [0;2]<br> <img alt="" src="../../../../../../../img/Algorithmes/Im11.jpg"></p> <h5>Excution</h5> <p>Avant de dfinir la fonction, il faut vrifier que le programme s'excute correctement.<br> Nous choisissons d'arrter le programme aprs au plus 500 itrations.<br> Si notre programme est correct il doit s'arrter aprs 200 itration ; cette limite de 500 ne sera pas atteinte.</p> <p>Nous choisissons ausi une fonction valeur dans IR (cocher <span style="font-style: italic;">x ! y(x)</span>).<br> Si notre programme est correct les valeurs de <span style="font-style: italic;">x </span>seront croissantes.<br> Nous activons l'entre <span style="font-style: italic;">Tester.</span><br> <img alt="" src="../../../../../../../img/Algorithmes/Im12.jpg"><br> Nous vrifions que le programme s'xcute correctement. Les valeurs prises par <span style="font-style: italic;">x</span> et <span style="font-style: italic;">y </span>au cours le l'itration s'affichent en colonne.<br> Nous remplissons le champ commentaire pour nous rappeler ce que fait la fonction, puis OK pour dfinir.</p> <h2><img alt="" src="../../../../../../../img/Algorithmes/Im13.jpg"></h2> <h4>Utilisation de la fonction</h4> <p>La fonction apparat dans la liste des fonctions avec le commentaire que nous avons choisi.<br> Un bouton avec la lettre apparat aussi sous le volet graphique. En l'activant, la fonction est graphe.<br> </p> <div style="text-align: left;">Il existe aussi une entre dans le menu courbe du volet de gomtrie.<br> <img alt="" src="../../../../../../../img/Algorithmes/Im14.jpg"><br> </div> <p>Nous pouvons choisir de dfinir la fonction exponentielle sur l'intervalle [0;2] et constater que les courbes se superposent.<br> <img alt="" src="../../../../../../../img/Algorithmes/Im15.jpg">Une comparaison plus prcise peut tre faite l'aide de la table.<br> <img alt="" src="../../../../../../../img/Algorithmes/Im16.jpg"><br> Nous pouvons aussi crer la fonction g-f, pour une estimation de la diffrence.<br> <img alt="" src="../../../../../../../img/Algorithmes/Im17.jpg"><br> Un message nous avertit que la fonction ainsi cre aura une utilisation limite au graphisme.<br> <img alt="" src="../../../../../../../img/Algorithmes/Im18.jpg"><br> Nous constatons en effet que la fonction h a un graphe correct, mais que Casyope ne peut calculer une valeur symbolique comme h(2).<br> Une valeur approche de h(2) pourrait tre obtenue l'aide de la table, ou avec l'entre <span style="font-style: italic;">Evaluer Formule</span>.<br> <img alt="" src="../../../../../../../img/Algorithmes/Im20.jpg"></p> <h3>Primitive approche</h3> <p>Dans cet exemple, nous allons montrer comment des objets de Casyope peuvent tre utiliss dans un algorithme.</p> <h4>Objets de casyope</h4> <p>Crons un paramtre p pour le pas de la mthode, de faon pouvoir le faire varier.<br> <img alt="" src="../../../../../../../img/Algorithmes/Im24.jpg"><br> Crons une fonction u, qui elle aussi pourra tre modifie par la suite</p> <p><img alt="" src="../../../../../../../img/Algorithmes/Im41.jpg"></p> <h4>Modification d'une fonction dfinie par un algorithme</h4> <p>En cliquant droit dans la ligne de la liste des fonctions correspondant la fonction f, nous allons modifier son programme.<img alt="" src="../../../../../../../img/Algorithmes/Im42.jpg"><br> Supprimons la dclaration de p la ligne 2. Ainsi p est mainteant le paramtre de Casyope.<br> <img alt="" src="../../../../../../../img/Algorithmes/Im21.jpg"><br> Modifions aussi les lignes 4 et 5 ainsi que le commentaire et testons l'algorithme.<br> <img alt="" src="../../../../../../../img/Algorithmes/Im44.jpg"><br> Le programme termine, nous pouvons appliquer la modification la fonction (OK).</p> <h4>Utilisation de la fonction</h4> <p>En animant le paramtre p, on observe comment la fonction obtenue s'ajuste la fonction dfinie par <img alt="" src="../../../../../../../img/Algorithmes/Im45.jpg"><br> Ci-dessous pour les valeurs de p 1, 1/2 et 1/20.<br> <img alt="" src="../../../../../../../img/Algorithmes/Graph376.bmp" style="width: 414px; height: 314px;"><img alt="" src="../../../../../../../img/Algorithmes/Graph319.bmp" style="width: 414px; height: 314px;"><br> <img alt="" src="../../../../../../../img/Algorithmes/Graph346.bmp" style="width: 414px; height: 314px;"><br> <br> Il est possible aussi de modifier la fonction u. Ici nous prenons simplement u(x)= x et U(x)=1+x/2.<br> </p> <div style="text-align: left;"><img alt="" src="../../../../../../../img/Algorithmes/Graph1181.bmp" style="width: 414px; height: 314px;"></div> <p><br> </p> <h2>Trajectoires:&nbsp; Bip Bip et Coyotte</h2> <h3>Fonctions valeur dans IR</h3> <p style="margin-bottom: 0cm;"><img alt="" src="../../../../../../../img/Algorithmes/Im46.jpg"></p> <p style="margin-bottom: 0cm;">Le Coyote est post 20 m de distance de la sortie d'un tunnel.</p> <p>Bip-bip sort de ce tunnel sur la voie de chemin de fer rectiligne une vitesse de 2 m.s<sup>-1</sup>.<br> La fuse du Coyote lui permet d'avoir une vitesse de 3 m.s<sup>-1 </sup>.<br> <font face="Times New Roman, serif"><font size="3"><span style="background: rgb(255, 255, 255) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"> Etant donnee une direction choisie par le Coyote, peut-il rattraper Bip-Bip ? .</span></font></font></p> <h4>Fonctions dfinissant les trajectoires</h4> <p>Nous dfinissons un paramtre pour la pente de la trajectoire de Coyotte.<br> <img alt="" src="../../../../../../../img/Algorithmes/Im34.jpg"><br> et un autre pour le temps de parcours<br> <img alt="" src="../../../../../../../img/Algorithmes/Im38.jpg"><br> La trajectoire de Bip Bip est la courbe de la fonction b dfinie par l'algorithme suivant.<br> <img alt="" src="../../../../../../../img/Algorithmes/Im35.jpg"><br> La trajectoire de Coyotte est la courbe de la fonction c dfinie par l'algorithme suivant.<br> <img alt="" src="../../../../../../../img/Algorithmes/Im37.jpg"></p> <h3>Utilisation de la fonction</h3> <p>Une fois les deux fonctions cres et les courbes cres dans le volet de gomtrie, pour une valeur de a donne, nous animons le paramtre T<br> <img alt="" src="../../../../../../../img/Algorithmes/Im36.jpg"><br> Avec une pente de 9/10 coyotte passe devant Bip Bip ! Encore rat.</p> <h3>Fonctions valeur dans IR</h3> <p>Imaginons que Coyotte se dirige constamment vers Bip Bip, la mme vitesse de 5 m.s<sup>-1</sup>, BipBip allant cette fois 1 m.s<sup>-1</sup>.<br> Modifions l'algorithme de Coyotte et fixons T 20.<br> <img style="width: 688px; height: 419px;" alt="" src="../../../../../../../img/Algorithmes/Im48.jpg"></p> Nous constatons que l'algorithme s'est arrt au temps 5, Coyotte ayant dpass Bip et faisant demi-tour.<br> Choisissons l'autre case cocher qui correspond une fonction valeurs dans IR. <p><img style="width: 688px; height: 419px;" alt="" src="../../../../../../../img/Algorithmes/Chien.png"><br> </p> Cette fois le temps est bien all jusqu' 20 et les valeurs de <span style="font-style: italic;">x</span> abscisse du Coyotte ne sont plus monotones.<br> <p>L'affichage dans le volet de Gomtrie comme courbe paramtre montre les oscillations du Coyote.</p> <p><img style="width: 731px; height: 623px;" src="../../../../../../../img/Algorithmes/Chien1.png" alt=""></p> <p><br> <br> </p> </div> <hr> <div class="tbl tblout" onmouseover="this.className = 'tbl tblover'" onmouseout="this.className = 'tbl tblout'"> <table style="border: medium none ; margin: auto; text-align: center;"> <tbody> <tr> <td><br> </td> </tr> </tbody> </table> </div> <br> </div> <br> <!-- Begin of UNDER_BOXES --> <div id="UnderBoxes"> </div> <!-- End of UNDER_BOXES --> </td> </tr> </tbody> </table> </body> </html>