Méthode d'interpolation linéaire (Regula Falsi)

Objectifs d'apprentissage

À la fin de cette leçon, vous serez en mesure de :

  • Comprendre la différence géométrique entre la bissection et l'interpolation linéaire
  • Dériver la formule de la méthode à partir de triangles semblables
  • Implémenter l'algorithme et savoir quand l'utiliser
  • Comparer les performances avec la méthode de bissection

Principe de la méthode

La méthode d'interpolation linéaire, aussi appelée Regula Falsi (règle de la fausse position), est une amélioration de la bissection. Comme cette dernière, elle repose sur l'alternance de signe de la fonction aux bornes de l'intervalle.

Idée clé

Au lieu de prendre le milieu de l'intervalle (comme en bissection), on utilise l'intersection avec l'axe des x de la droite passant par les deux points et .

💡

Intuition géométrique

Si la fonction était vraiment une droite entre et , alors l'intersection de cette droite avec l'axe des serait exactement la racine. Pour une fonction non linéaire, cette intersection donne une meilleure approximation que le simple milieu.


Dérivation de la formule

Construction géométrique

Considérons la droite passant par les points et . Le point est l'abscisse où cette droite coupe l'axe des .

Méthode par triangles semblables

En observant le graphique, on identifie deux triangles semblables formés par :

  • La droite reliant les deux points
  • Les verticales aux abscisses , et
  • L'axe des

Par la propriété des triangles semblables (droites parallèles coupant les côtés d'un triangle), on obtient :

Résolution pour X₃

En isolant :

🚨

Formule de l'interpolation linéaire

Méthode alternative : équation de la droite

On peut aussi retrouver cette formule en écrivant l'équation de la droite passant par les deux points et en cherchant où elle coupe l'axe .

L'équation de la droite est :

En posant et en résolvant pour , on retrouve la même formule.


Visualisation interactive

Le graphique suivant illustre la différence géométrique entre les deux méthodes. Observez comment l'interpolation linéaire utilise la pente de la sécante pour estimer la position de la racine.

Comparaison : Bissection vs Interpolation linéaire

F(X) = X³ + X² - 3X - 3 — Racine exacte : √3 ≈ 1.7320508

F(X)
Sécante
X₃ Regula Falsi
X₃ Bissection
Racine exacte
X₃ Bissection1.500000Erreur: 0.232051
X₃ Regula Falsi1.571429Erreur: 0.160622
Racine exacte1.732051√3
Meilleure approximationRegula Falsi ✓
Dérivation géométrique (triangles semblables)

La droite sécante passe par les points (X₁, F(X₁)) et (X₂, F(X₂)). On cherche X₃, l'abscisse où cette droite coupe l'axe des x.

Par triangles semblables :

(X₂ - X₃) / (X₂ - X₁) = F(X₂) / (F(X₂) - F(X₁))

⟹ X₃ = X₂ - F(X₂) · (X₂ - X₁) / (F(X₂) - F(X₁))

Valeur actuelle : X₃ = 2.000 - (3.000) × (1.000) / (7.000) = 1.571429

Interprétation
  • • La droite orange pointillée est la sécante passant par (X₁, F(X₁)) et (X₂, F(X₂))
  • • Le point orange est X₃ calculé par interpolation linéaire
  • • Le point violet est X₃ calculé par bissection (simple milieu)
  • • Le point rouge est la racine exacte (√3)
  • • L'interpolation linéaire utilise la pente de la fonction pour mieux estimer la racine

Algorithme

Pseudo-code

regula_falsi.pseudotext
Algorithme : Méthode d'interpolation linéaire (Regula Falsi)
Entrées : F (fonction), X1, X2 (bornes), δ (tolérance sur x), ε (tolérance sur F)
Sortie : X (approximation de la racine)

Précondition : F(X1) · F(X2) ≤ 0

Calculer X3 = X2 - F(X2) · (X2 - X1) / (F(X2) - F(X1))

Tant que (|X1 - X2| ≥ δ) ET (|F(X3)| ≥ ε) faire
  Calculer X3 = X2 - F(X2) · (X2 - X1) / (F(X2) - F(X1))

  Si F(X1) · F(X3) ≤ 0 alors
      X2 ← X3    // La racine est dans [X1, X3]
  Sinon
      X1 ← X3    // La racine est dans [X3, X2]
  Fin Si
Fin Tant que

Retourner X = X3

Implémentation en Python

regula_falsi.pypython
def regula_falsi(f, x1, x2, tol_x=1e-6, tol_f=1e-10, max_iter=100):
  """
  Méthode d'interpolation linéaire (Regula Falsi).

  Paramètres:
      f : fonction dont on cherche la racine
      x1, x2 : bornes de l'intervalle initial
      tol_x : tolérance sur x (critère d'arrêt)
      tol_f : tolérance sur f(x) (critère d'arrêt)
      max_iter : nombre maximum d'itérations

  Retourne:
      x3 : approximation de la racine
      iterations : liste des itérés successifs
  """
  # Vérification de la condition initiale
  if f(x1) * f(x2) > 0:
      raise ValueError("f(x1) et f(x2) doivent être de signes opposés")

  iterations = []

  for n in range(max_iter):
      # Formule de l'interpolation linéaire
      fx1, fx2 = f(x1), f(x2)
      x3 = x2 - fx2 * (x2 - x1) / (fx2 - fx1)
      fx3 = f(x3)

      iterations.append({
          'n': n + 1,
          'x3': x3,
          'f(x3)': fx3,
          'erreur': abs(x2 - x1)
      })

      # Critères d'arrêt
      if abs(x2 - x1) < tol_x or abs(fx3) < tol_f:
          return x3, iterations

      # Choix du sous-intervalle
      if f(x1) * fx3 <= 0:
          x2 = x3
      else:
          x1 = x3

  return x3, iterations

Comparaison avec la bissection

Exemple comparatif

Appliquons les deux méthodes à la fonction avec l'intervalle .

Méthode de bissection

ItérationX₁X₂X₃F(X₃)|X₂ - X₁|
11.0000002.0000001.500000-1.8750001.0
21.5000002.0000001.7500000.1718750.5
31.5000001.7500001.625000-0.9433590.25
41.6250001.7500001.687500-0.4096680.125
51.6875001.7500001.718750-0.1247860.0625
61.7187501.7500001.7343750.0217740.03125
71.7187501.7343751.726563-0.0520020.015625
81.7265631.7343751.730469-0.0152310.0078125

Méthode Regula Falsi

ItérationX₁X₂X₃F(X₃)|Xₙ₊₁ - Xₙ|
11.0000002.0000001.571429-1.364431
21.5714292.0000001.705411-0.2473700.133982
31.7054112.0000001.727883-0.0393180.022472
41.7278832.0000001.731405-0.0061070.003522
51.7314052.0000001.731951-0.0009440.000546
61.7319512.0000001.732035-0.0001460.000084
71.7320352.0000001.732048-0.0000230.000013
81.7320482.0000001.732050-0.0000040.000002

Valeur exacte :

Analyse des résultats

💡

Observation importante

Après 8 itérations :

  • Bissection : , (erreur sur la racine ≈ 0.0016)
  • Regula Falsi : , (erreur sur la racine ≈ 0.000001)

L'interpolation linéaire converge plus vite vers la valeur exacte, même si l'intervalle ne se réduit pas aussi régulièrement.

Notez le phénomène de la borne fixe : dans Regula Falsi, reste constant pendant toutes les itérations, tandis que seul se rapproche de la racine.


Avantages et inconvénients

Avantages

AvantageDescription
Hypothèse faibleNe nécessite que la continuité de
Facilité d'implémentationAlgorithme simple, similaire à la bissection
Convergence souvent meilleureExploite l'information sur la pente de la fonction
Hypothèse de linéarité localeEfficace quand est proche d'une droite localement

Inconvénients

InconvénientDescription
Intervalle de départ requisNécessite et avec
Convergence parfois lentePeut être plus lente que la bissection dans certains cas
Borne fixeSouvent, une des bornes reste fixe pendant plusieurs itérations
Pas de garantie d'erreurContrairement à la bissection, on ne peut pas prédire exactement le nombre d'itérations

Quand utiliser cette méthode ?

Cas favorables

  • La fonction est approximativement linéaire près de la racine
  • On dispose d'un bon intervalle de départ
  • On veut une méthode simple avec une convergence raisonnable

Cas défavorables

  • La fonction est très courbée (convexe ou concave marquée)
  • On a besoin d'une garantie sur le nombre d'itérations
  • Une des bornes risque de rester fixe longtemps

Résumé

Dans cette leçon, nous avons étudié la méthode d'interpolation linéaire (Regula Falsi) :

  1. Principe : utiliser l'intersection de la sécante avec l'axe des au lieu du milieu de l'intervalle

  2. Formule :

  3. Dérivation : par triangles semblables ou équation de la droite

  4. Condition suffisante : même que la bissection — continue avec

  5. Comparaison : converge généralement plus vite que la bissection vers la valeur exacte, mais l'intervalle ne se réduit pas de façon prévisible

  6. Limitation : phénomène de la borne fixe dans certains cas