#!/usr/bin/env python # coding: utf-8 # ![En tête general](img/En_tete_general.png) # # # *(C) Copyright Franck CHEVRIER 2019-2020 http://www.python-lycee.com/* # # Pour exécuter une saisie Python, sélectionner la cellule et valider avec SHIFT+Entrée. # # Approximation par balayage # On considère la fonction $f$ définie sur $[0;+\infty[$ par $f(x)=x^2$. # # ![Fonction carré](img/Approximation_par_balayage_carre.png) # # On admet que la fonction $f$ est croissante sur $[0;+\infty[$ et que l’équation $f(x)=2$ # a une unique solution sur $[0;+\infty[$, notée $\sqrt{2}$. # Le but de l’exercice est d’obtenir des valeurs approchées de $\sqrt{2}$. # # __1. Ecrire une fonction Python $f$ qui reçoit une valeur $x$ en argument et renvoie l’image de $x$ par la fonction $f$.__ # # In[2]: # Ecrire la fonction # __2. La fonction ci-dessous permet d’obtenir des images successives par la fonction $f$ sur l’intervalle $[1;2]$, avec un pas de $10^{-1}=0,1$.__ # # In[ ]: def balayage(f): x=1 while x<2: print("f(",x,")=",f(x)) x = x+0.1 return None # __Utiliser cette fonction pour compléter le tableau :__ # # | $x$ | $1 $ | $1.1$ |$1.2$ |$1.3$ |$1.4$ |$1.5$ |$1.6$ |$1.7$ |$1.8$ |$1.9$ |$2 $ | # | :-------: |:--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | # | $f$$($$x$$)$ | | | | | | | | | | | | # # In[ ]: # Effectuer les saisies nécessaires # __Pour quelle valeur $x_1$ du tableau a-t-on $x_1 \leqslant \sqrt{2} \leqslant x_1+0,1$ ? Justifier.__ # # __Modifier la fonction précédente pour qu’elle renvoie cette valeur $x_1$.__ # # # # # Aides : On pourra, entre autres, modifier la condition de la boucle while. # On pourra supprimer les affichages réalisés avec l’instruction print. # # In[ ]: # Modifier la fonction puis effectuer les tests ici # __3. Compléter la fonction pour qu’elle effectue, à partir de cette valeur $x_1$, un nouveau balayage de pas $10^{-2}=0,01$.__ # # __La fonction renverra une valeur $x_2$ telle que $x_2 \leqslant \sqrt{2} \leqslant x_2+0,01$.__ # In[ ]: # Modifier la fonction puis effectuer les tests ici # __4. Compléter la fonction pour qu’elle renvoie une valeur $x_3$ telle que $x_3 \leqslant \sqrt{2} \leqslant x_3+0,001$.__ # In[ ]: # Modifier la fonction puis effectuer les tests ici # __5. En ajoutant une boucle, modifier la fonction précédente pour qu’elle renvoie une valeur $x_n$ telle que $x_n \leqslant \sqrt{2} \leqslant x_n+10^{-n}$, où $n$ est une valeur donnée en argument de la fonction.__ # In[ ]: # Modifier la fonction puis effectuer les tests ici # __Donner une valeur approchée de $\sqrt{2}$ à $10^{-7}$ près.__ # In[ ]: # Effectuer les saisies nécessaires ici # __6. Prolongement :__ # # __On admet que l’équation $x^3=5$ admet une unique solution sur $[0;+\infty[$, notée $\sqrt[3]{5}$.__ # # __Déterminer une valeur approchée de $\sqrt[3]{5}$ à $10^{-8}$ près.__ # # In[ ]: # Effectuer les saisies nécessaires ici # ![Cardan](https://raw.githubusercontent.com/PythonLycee/PyLyc/master/img/Cardan.jpg) # #
Jérôme Cardan (1501-1576) fut un des premiers à justifier la méthode d'approximation par balayage.
# *(C) Copyright Franck CHEVRIER 2019-2020 http://www.python-lycee.com/*