Problèmes aux limites — Méthode de tir

Objectifs d'apprentissage

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

  • Distinguer les problèmes à conditions initiales des problèmes à conditions aux limites
  • Appliquer la méthode de tir pour les ÉD linéaires
  • Adapter la méthode aux ÉD non linéaires
  • Comprendre le théorème de superposition

Prérequis

  • Méthodes numériques pour ÉD (Leçons 6.2–6.6)
  • Systèmes d'ÉD d'ordre 1
  • Combinaisons linéaires de solutions

Conditions initiales vs conditions aux limites

Problème à valeur initiale (PVI)

Toutes les conditions sont données au même point t0t_0 :

x(t)=f(t,x,x),x(t0)=α,x(t0)=βx''(t) = f(t, x, x'), \quad x(t_0) = \alpha, \quad x'(t_0) = \beta

Les méthodes d'Euler, RK, Adams s'appliquent directement.

Problème à valeur aux limites (PVL)

Les conditions sont données à deux points différents t0t_0 et t1t_1 :

x(t)=f(t,x,x),x(t0)=α,x(t1)=βx''(t) = f(t, x, x'), \quad x(t_0) = \alpha, \quad x(t_1) = \beta
🚨

Problème fondamental

On connaît x(t0)x(t_0) et x(t1)x(t_1), mais pas x(t0)x'(t_0). Les méthodes numériques classiques (Euler, RK) ne peuvent pas démarrer !


Exemple physique : déformation d'une poutre

Une poutre encastrée aux deux extrémités sous charge qq satisfait :

d2wdx2=SEIw+qx2EI(xL)\frac{d^2w}{dx^2} = \frac{S}{EI}w + \frac{qx}{2EI}(x - L)

w(x)w(x) est la flèche, SS la charge axiale, EE le module d'Young, II le moment d'inertie.

Conditions aux limites : w(0)=0w(0) = 0 et w(L)=0w(L) = 0 (encastrements).


Théorème de superposition (ÉD linéaires)

Pour une ÉD linéaire, si y1(t)y_1(t) et y2(t)y_2(t) sont deux solutions, alors toute combinaison linéaire :

y3(t)=αy1(t)+(1α)y2(t)y_3(t) = \alpha\,y_1(t) + (1-\alpha)\,y_2(t)

est aussi une solution (avec les conditions initiales combinées de la même façon).

💡

Cas homogène

Si l'ÉD est homogène (r(t)=0r(t) = 0), alors αy1+βy2\alpha y_1 + \beta y_2 est solution pour tout α,β\alpha, \beta.


Méthode de tir — Principe

Idée

  1. Deviner une valeur de x(t0)x'(t_0)
  2. Résoudre le PVI avec RK4 ou Adams-Moulton
  3. Vérifier si x(t1)=βx(t_1) = \beta
  4. Ajuster la valeur de x(t0)x'(t_0) et recommencer

Analogie du tir

C'est comme viser une cible avec un canon :

  • On connaît la position de départ et la cible
  • On ajuste l'angle de tir (= x(t0)x'(t_0))
  • On tire et on observe où atterrit le projectile
  • On corrige l'angle et on recommence

Cas linéaire : convergence en 2 tirs

Pour une ÉD linéaire d'ordre 2, deux tirs suffisent grâce au théorème de superposition.

Algorithme

Tir 1 : On choisit x1(t0)=m1x'_1(t_0) = m_1 (une valeur arbitraire) et on résout le PVI. On obtient x1(t1)x_1(t_1).

Tir 2 : On choisit x2(t0)=m2m1x'_2(t_0) = m_2 \neq m_1 et on résout. On obtient x2(t1)x_2(t_1).

Combinaison : La solution cherchée est :

x3(t)=αx1(t)+(1α)x2(t)x_3(t) = \alpha\,x_1(t) + (1-\alpha)\,x_2(t)

α\alpha est choisi pour que x3(t1)=βx_3(t_1) = \beta :

β=αx1(t1)+(1α)x2(t1)\beta = \alpha\,x_1(t_1) + (1-\alpha)\,x_2(t_1)
α=βx2(t1)x1(t1)x2(t1)\alpha = \frac{\beta - x_2(t_1)}{x_1(t_1) - x_2(t_1)}

Exemple détaillé (cas linéaire)

Résolvons le PVL :

x(t)=t+(10.2t)x(t),x(1)=2,x(3)=1x''(t) = t + (1 - 0.2t)x(t), \quad x(1) = 2, \quad x(3) = -1

Tir 1 : x(1)=1.5x'(1) = -1.5

On résout le PVI avec RK4 :

  • CI : x(1)=2x(1) = 2, x(1)=1.5x'(1) = -1.5
  • Résultat : x1(3)=4.788x_1(3) = 4.788 (raté ! on voulait −1)

Tir 2 : x(1)=3x'(1) = -3

On résout avec RK4 :

  • CI : x(1)=2x(1) = 2, x(1)=3x'(1) = -3
  • Résultat : x2(3)=0.436x_2(3) = 0.436 (raté aussi !)

Combinaison linéaire

On cherche α\alpha tel que :

1=α×4.788+(1α)×0.436-1 = \alpha \times 4.788 + (1-\alpha) \times 0.436
1=4.788α+0.4360.436α=4.352α+0.436-1 = 4.788\alpha + 0.436 - 0.436\alpha = 4.352\alpha + 0.436
α=10.4364.352=1.4364.352=0.3300\alpha = \frac{-1 - 0.436}{4.352} = \frac{-1.436}{4.352} = -0.3300

La solution est :

x3(t)=0.3300x1(t)+1.3300x2(t)x_3(t) = -0.3300\,x_1(t) + 1.3300\,x_2(t)

Tableau des solutions

tx₁(t)x₂(t)x₃(t)
1.02.0002.0002.000
1.21.7511.4501.350
1.41.6040.9920.790
1.61.5600.6190.309
1.81.6220.327−0.100
2.01.7980.116−0.438
2.22.097−0.012−0.708
2.42.531−0.052−0.904
2.63.1140.003−1.024
2.83.8610.162−1.059
3.04.7880.436−1.000

Vérification

On vérifie que x3(3)=0.3300×4.788+1.3300×0.436=1.000x_3(3) = -0.3300 \times 4.788 + 1.3300 \times 0.436 = -1.000


Cas non linéaire : itérations

Pour une ÉD non linéaire, la superposition ne s'applique pas. On doit itérer.

Méthode de la sécante

On utilise l'interpolation linéaire pour estimer la prochaine valeur de x(t0)x'(t_0) :

mk+1=mk(xk(t1)β)mkmk1xk(t1)xk1(t1)m_{k+1} = m_k - (x_k(t_1) - \beta) \cdot \frac{m_k - m_{k-1}}{x_k(t_1) - x_{k-1}(t_1)}

C'est analogue à la méthode de la sécante pour trouver les zéros d'une fonction.

Exemple (cas non linéaire)

Résolvons :

x(t)=t+(10.2t)x(t)x(t),x(1)=2,x(3)=1x''(t) = t + (1 - 0.2t)x(t)x'(t), \quad x(1) = 2, \quad x(3) = -1

Le terme xxx \cdot x' rend l'équation non linéaire.

Itérations successives :

Itérationx'(1)x(3)Erreur
1−1.5−0.0160.984
2−3.0−2.0851.085
3−2.213*−1.2710.271
4−1.951*−0.9010.099
5−2.021*−1.0070.007
............
convergé−2.018*−1.0000

*Les valeurs marquées * sont obtenues par interpolation linéaire.

⚠️

Convergence

La méthode de tir non linéaire converge comme une méthode de point fixe. La convergence n'est pas garantie — elle dépend du problème et des valeurs initiales choisies.


Algorithme

python
def shooting_linear(f, t0, t1, alpha, beta, m1, m2, h=0.01):
  """
  Méthode de tir pour ÉD linéaire d'ordre 2.

  Paramètres:
      f: fonction f(t, x, x') telle que x'' = f
      t0, t1: bornes de l'intervalle
      alpha: x(t0) = alpha
      beta: x(t1) = beta
      m1, m2: deux valeurs initiales pour x'(t0)
      h: pas pour RK4

  Retourne:
      t, x: solution du PVL
  """
  # Tir 1
  t1_result, x1_result = solve_ivp_rk4(f, t0, [alpha, m1], t1, h)
  x1_end = x1_result[-1, 0]  # x1(t1)

  # Tir 2
  t2_result, x2_result = solve_ivp_rk4(f, t0, [alpha, m2], t1, h)
  x2_end = x2_result[-1, 0]  # x2(t1)

  # Combinaison linéaire
  gamma = (beta - x2_end) / (x1_end - x2_end)

  # Solution finale
  x_final = gamma * x1_result[:, 0] + (1 - gamma) * x2_result[:, 0]

  return t1_result, x_final

Avantages et inconvénients

AvantagesInconvénients
Utilise les méthodes PVI existantes (RK4)Peut nécessiter plusieurs itérations (non linéaire)
Conceptuellement simpleConvergence non garantie (non linéaire)
2 tirs suffisent (linéaire)Instabilité si solutions divergentes
Précision contrôlable via le solveur PVICoûteux si le domaine est grand

Résumé

  • Les PVL ont des conditions à deux points : x(t0)=αx(t_0) = \alpha, x(t1)=βx(t_1) = \beta
  • La méthode de tir transforme le PVL en PVI en devinant x(t0)x'(t_0)
  • Cas linéaire : 2 tirs + superposition → solution exacte
  • Cas non linéaire : itérations (sécante) jusqu'à convergence
  • La méthode réutilise les solveurs PVI standard (RK4, Adams-Moulton)

Pour aller plus loin

Dans la prochaine leçon, nous verrons la méthode des différences finies, une approche alternative qui discrétise directement le domaine et résout un système linéaire.