L'ordre de convergence des rectangles
Exercice · niveau 2 · mathématiques approfondies (ECG 1re année), chapitre 11 — Informatique et algorithmique · Suites, séries et calculs approchés
Énoncé
Approcher par les rectangles pour . Estimer l'exposant tel que l'erreur se comporte comme .
Corrigé
from math import exp, log
def rectangles(f, a, b, n): # rectangles a gauche
h = (b - a) / n
return h * sum(f(a + i * h) for i in range(n))
f = lambda x: exp(-x * x)
exact = 0.746824132812427
err = {}
for n in (10, 100, 1000):
err[n] = abs(rectangles(f, 0, 1, n) - exact)
print(n, err[n])
print("alpha =", log(err[10] / err[1000]) / log(100))
Les erreurs : , , . Chaque fois que est multiplié par , l'erreur est divisée par .
L'exposant : la régression sur les logarithmes donne
L'erreur se comporte donc comme , avec .
D'où vient ce . Sur chaque sous-intervalle, remplacer par sa valeur à gauche commet une erreur d'ordre ; en sommant les morceaux on obtient un terme en .
La comparaison qui compte. Les trapèzes, pour un coût quasi identique, donnent : à leur erreur est de , soit cinq mille fois mieux. Choisir la méthode pèse bien plus lourd que multiplier les points.
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.