TP6 : Méthode par balayage (boucles tant que)
|
11-10-2019, 05:13 PM
Message : #1
|
|||
|
|||
TP6 : Méthode par balayage (boucles tant que)
Soit f la fonction définie par f(x) = x² + x
On cherche l'antécédent de 3 par la fonction f Cela revient à chercher les valeurs de x qui ont pour image f(x) = 3 Cela revient à résoudre l'équation f(x) = 3 c'est-à-dire l'équation x² + x = 3 Or, on ne sait pas résoudre cette équation Une calculatrice graphique nous montre qu'une valeur de x cherchée est comprise entre 1 et 2 Nous allons essayer de trouver un encadrement d'amplitude 10-3 (c'est-à-dire 0,001) de cette solution Avec le tableau de valeurs de la calculatrice, observer quand f(x) dépasse 3 car on "voit" que la fonction f est croissante sur l'intervalle [ 1 ; 2 ] L'écran de la calculatrice doit montrer ceci : La calculatrice nous montre que 1,302 < solution < 1,303 |
|||
31-10-2019, 03:08 PM
Message : #2
|
|||
|
|||
TP6 : Méthode par balayage (boucles tant que)
Si on devait faire cette recherche "à la main",
il faudrait calculer les images des nombres de 0,001 en 0,001 à partir de 1 On calcule f(1) Si f(1) < 3 alors on continue, sinon on arrête On calcule f(1,001) Si f(1,001) < 3 alors on continue, sinon on arrête On calcule f(1,002) Si f(1,002) < 3 alors on continue, sinon on arrête On calcule f(1,003) Si f(1,003) < 3 alors on continue, sinon on arrête etc... Cette méthode s'appelle méthode par balayage car on "balaye" successivement toutes les valeurs de x pour trouver celle qui nous intéresse... Lancer le balayage dans le fichier suivant Reprenons notre algorithme : On calcule f(1) Si f(1) < 3 alors on continue, sinon on arrête On calcule f(1,001) Si f(1,001) < 3 alors on continue, sinon on arrête On calcule f(1,002) Si f(1,002) < 3 alors on continue, sinon on arrête On calcule f(1,003) Si f(1,003) < 3 alors on continue, sinon on arrête etc... Pour ne pas avoir à écrire "etc...", on pourrait écrire on commence avec x qui a la valeur 1 on calcule f(x) tant que f(x) < 3 on ajoute 0,001 à la valeur de x on calcule f(x) fin du tant que Bien sûr, cela risque d'être un petit peu long pour nous... mais comme un ordinateur est capable de faire des millions d'opérations par seconde nous allons lui demander de faire ce travail à notre place..! Nous allons utiliser 2 variables : • la variable x, dans laquelle sera rangée la valeur de x • la variable y, dans laquelle sera rangée la valeur de f(x) L'algorithme s'écrit alors :
lire le message #1 du tutoriel 6 Ecrire une fonction Python f qui renvoie l'image d'un nombre par la fonction donnée (f(x) = x² + x) Ecrire une fonction Python balayage qui renvoie les deux bornes de l'encadrement de la solution de l'équation f(x) = 3 en commençant à 1 Appeler cette fonction dans la console Ecrire une fonction Python balayagecroissant qui renvoie les deux bornes de l'encadrement de la solution de l'équation f(x) = k (n'importe quel nombre réel) avec une fonction croissante f en commençant à xdébut (n'importe quel nombre réel) avec un pas égal à p (n'importe quel nombre de la forme 10 -n, n étant un nombre entier naturel) Appeler cette fonction dans la console : • pour trouver un encadrement d'amplitude 10-4 de la solution de l'équation x² + x = 3 en commençant à 1,2 • pour trouver un encadrement d'amplitude 10-5 de la solution de l'équation x² + x = 1 en commençant à 0,5 |
|||
13-06-2021, 01:55 PM
Message : #3
|
|||
|
|||
TP6 : Méthode par balayage (boucles tant que)
Mais, en observant la courbe sur une calculatrice, on s'aperçoit que
l'équation f(x) = 3 a une autre solution comprise entre -3 et -2 Ecrire une fonction Python balayagedécroissant qui renvoie les deux bornes de l'encadrement de la solution de l'équation f(x) = k (n'importe quel nombre réel) avec une fonction décroissante f en commençant à xdébut (n'importe quel nombre réel) avec un pas égal à p (n'importe quel nombre entier négatif) Tester cette fonction dans la console : • pour trouver un encadrement d'amplitude 10-2 de l'autre solution de l'équation x² + x = 3 en commençant à -3 • pour trouver un encadrement d'amplitude 10-6 de l'autre solution de l'équation x² + x = 1 en commençant à -1,8 |
|||
22-03-2022, 09:32 AM
Message : #4
|
|||
|
|||
TP6 : Méthode par balayage (boucles tant que)
Voici un fichier qui montre la méthode de balayage
Pour que la recherche aboutisse, il faut que : • l'équation ait une solution "visible" • xdépart doit être inférieur à la solution cherchée • le point noir doit parcourir une portion toujours montante (ou toujours descendante) de la courbe |
|||