Résolution d'une équation à une inconnue


Bibliothèques à importer

Le module optimize de la bibliothèque scipy offre plusieurs fonction pour rechercher les racines d'une fonction. D'autre part, selon les besoins, des fonctions de la bibliothèque math peuvent s'avérer utiles.

Fonction "bisect"

La commande bisect opère par dichotomie. Sa syntaxe s'écrit bisect(fonction,borne_inf,borne_sup).

Pour que celle-ci fonctionne, il est nécessaire de :

  • définir préalablement une fonction $\mathsf{f(x)}$,
  • préciser un intervalle $\mathsf{[a,b]}$ à l'intérieur duquel rechercher la racine de $\mathsf{f}$,
  • s'assurer que $\mathsf{f(a)}$ et$\mathsf{f(b)}$ sont de signes opposés.

Par exemple, pour chercher une solution de l'équation suivante : \begin{equation}\mathsf{ 10^{-3}=\frac{4x^3}{(0,1-2x)^2}} \end{equation} on peut définir la fonction $f$ comme suit : \begin{align}\mathsf{ f(x)=10^{-3}-\frac{4x^3}{(0,1-2x)^2}} \end{align}

In [ ]:
import scipy.optimize as op
from math import log,exp,sin

def f(x) :
    return 1E-3 - 4*x**3/(0.1-2*x)**2

print(op.bisect(f,0,1))
0.01141799529614218