ATLAS Ouvrir dans l'atlas →

ExerciceMaths Sup – MPSI, chapitre 8 — Limites et continuité · Fonctions continues sur un intervalle

Exercice 24

AlgorithmiqueDémonstration

1. Montrer que l'équation x3+x2−4x+1=0x^{3} + x^{2} - 4x + 1 = 0 admet exactement trois solutions réelles, et donner pour chacune un intervalle d'extrémités entières qui la contient.

2. À l'aide de l'algorithme de dichotomie, donner un encadrement d'amplitude inférieure à 10−110^{-1} de la plus grande des trois solutions. Combien d'étapes faut-il, au plus, pour obtenir un encadrement d'amplitude 10−610^{-6} ?

3. Écrire une fonction Python dichotomie(f, a, b, eps) qui renvoie un encadrement d'amplitude inférieure à eps d'une solution de f(x)=0f(x) = 0 dans [a ,b][a\,,b], lorsque ff est continue et que f(a)f(b)⩽0f(a)f(b) \leqslant 0.

Corrigé

1. Soit P(x)=x3+x2−4x+1P(x) = x^{3} + x^{2} - 4x + 1. On calcule P(−3)=−5,P(−2)=5,P(0)=1,P(1)=−1,P(2)=5.P(-3) = -5, \qquad P(-2) = 5, \qquad P(0) = 1, \qquad P(1) = -1, \qquad P(2) = 5. Par le théorème des valeurs intermédiaires, PP s'annule dans chacun des intervalles ]−3 ,−2[]-3\,,-2[, ]0 ,1[]0\,,1[ et ]1 ,2[]1\,,2[, qui sont disjoints : il y a au moins trois solutions. Il n'y en a pas d'autre : la dérivée P′(x)=3x2+2x−4P'(x) = 3x^{2} + 2x - 4 a deux racines x1<x2x_{1} < x_{2}, et PP est strictement monotone sur chacun des intervalles ]−∞ ,x1]]-\infty\,,x_{1}], [x1 ,x2][x_{1}\,,x_{2}], [x2 ,+∞[[x_{2}\,,+\infty[, où elle s'annule donc au plus une fois. trois solutions, dans ]−3 ,−2[, ]0 ,1[ et ]1 ,2[\boxed{\text{trois solutions, dans } ]-3\,,-2[,\ ]0\,,1[ \text{ et } ]1\,,2[}

2. On applique la dichotomie à partir de [1 ,2][1\,,2], où P(1)<0<P(2)P(1) < 0 < P(2) : segmentmilieu mP(m)nouveau segment[1 ,2]1,50,625>0[1 ,1,5][1 ,1,5]1,25≈−0,48<0[1,25 ,1,5][1,25 ,1,5]1,375≈−0,010<0[1,375 ,1,5][1,375 ,1,5]1,4375≈0,29>0[1,375 ,1,4375]\begin{array}{c|c|c|c} \text{segment} & \text{milieu } m & P(m) & \text{nouveau segment} \\ \hline \relax[1\,,2] & 1{,}5 & 0{,}625 > 0 & [1\,,1{,}5] \\ \relax[1\,,1{,}5] & 1{,}25 & \approx -0{,}48 < 0 & [1{,}25\,,1{,}5] \\ \relax[1{,}25\,,1{,}5] & 1{,}375 & \approx -0{,}010 < 0 & [1{,}375\,,1{,}5] \\ \relax[1{,}375\,,1{,}5] & 1{,}4375 & \approx 0{,}29 > 0 & [1{,}375\,,1{,}4375] \end{array} Après quatre étapes, 1,375⩽α⩽1,4375,\boxed{1{,}375 \leqslant \alpha \leqslant 1{,}4375}, encadrement d'amplitude 0,0625<10−10{,}0625 < 10^{-1}. Après nn étapes, l'amplitude vaut 12n\frac{1}{2^{n}}, et 2−n<10−62^{-n} < 10^{-6} équivaut à n⩾20n \geqslant 20, puisque 219=524 288<106<220=1 048 5762^{19} = 524\,288 < 10^{6} < 2^{20} = 1\,048\,576. 20 eˊtapes\boxed{20 \text{ étapes}}

3. À chaque étape, on garde la moitié aux extrémités de laquelle ff prend des valeurs de signes contraires, au sens large :

def dichotomie(f, a, b, eps):
    while b - a >= eps:
        m = (a + b) / 2
        if f(a) * f(m) <= 0:   # une solution dans [a, m]
            b = m
        else:                  # f(m) et f(b) de signes contraires
            a = m
    return a, b

L'appel dichotomie(lambda x: x**3 + x**2 - 4*x + 1, 1, 2, 1e-6) renvoie un encadrement de α≈1,377202\alpha \approx 1{,}377202. La terminaison est assurée par la division par deux de l'amplitude, et la correction par l'invariant f(a)f(b)⩽0f(a)f(b) \leqslant 0, qui est celui de la démonstration du théorème 8.

Dans l'édifice

Thèmes

fonctions continues sur un intervalle

Notions

continuité

Ouvrir dans l'atlas interactif →