On cherche le maximum de la fonction f définie sur \mathbb{R} par f(x) = 3x^3 - 5x + 1 sur un intervalle [a;b] à la précision 10^{-n} , n étant le nombre de chiffres corrects après la virgule.
Comment définir la fonction f définie sur \mathbb{R} par f(x) = 3x^3 - 5x + 1 en Python ?
On coupe l'intervalle en 3 en posant m = \dfrac{b-a}{3} , c = a + m , et d = b - m .
On a alors a < c < d < b et on peut séparer les différents cas possibles en notant x_0 l'abscisse du maximum :
- si a < x_0 \leq c , alors f(c) > f(d) ;
- si c \leq x_0 \leq d , alors f(c) \geq f(d) ou f(c) \leq f(d) ;
- si d \leq x_0 \leq b , alors f(c) < f(d) .
Comment peut-on résumer la situation précédente ?
Comment mettre à jour l'intervalle dans lequel se trouve le maximum ?
Quel programme Python permet de déterminer un intervalle à la précision 10^{-n} dans lequel se trouve le maximum de la fonction f sur un intervalle [a;b] ?