next up previous contents index
suivant: Les programmes monter: La méthode de Romberg précédent: La formule d'Euler Mac   Table des matières   Index

L'algorithme de Romberg

On applque l'algorithme de Richardson à T(h) avec r = $ {\frac{{1}}{{2}}}$.
On pose :

Tn, 0 = T($\displaystyle {\frac{{b-a}}{{2^n}}}$)

Tn, 1 = $\displaystyle {\frac{{4T_{n,0}-T_{n-1,0}}}{{3}}}$

Tn, k = $\displaystyle {\frac{{2^{2k}T_{n,k-1}-T_{n-1,k-1}}}{{2^{2k}-1}}}$

Théorème :
On a :

Tn, p = I + O($\displaystyle {\frac{{1}}{{2^{2np}}}}$)

On partage successivement l'intervalle [a;b] en 1 = 20, 2 = 21, 4 = 22,..., 2n et on calcule la formule des trapèzes correspondante : T0, 0, T1, 0,.., Tn, 0 c'est ce que fait le programme trapezel fait en 10.1.1 que je recopie ci-dessous.
trapezel(f,a,b,n):={
local s,puiss2,k,lt,s1,j;
s:=evalf((f(a)+f(b))/2);
puiss2:=1;
lt:=[s*(b-a)];
for (k:=1;k<=n;k++) {
    s1:=0;
    for (j:=0;j<puiss2;j++) {
        s1:=s1+f(a+(2*j+1)*(b-a)/(2*puiss2));
    }
    s:=s+s1;
    puiss2:=2*puiss2;
    lt:=concat(lt,s*(b-a)/puiss2);
}
return lt;
}
On va travailler tout d'abord avec deux listes : l0 et l1 au début l0 = [T0, 0] et l1 = [T1, 0], on calcule T1, 1 et l1 = [T1, 0, T1, 1], puis on n'a plus besoin de l0 donc on met l1 dans l0 et on recommence avec l1 = [T2, 0], on calcule T2, 1 et T2, 2, et l1 = [T2, 0, T2, 1, T2, 2] puis on met l1 dans l0 et on recommence avec.....pour enfin avoir Tn, 0, Tn, 1,... Tn, n dans l1.
next up previous contents index
suivant: Les programmes monter: La méthode de Romberg précédent: La formule d'Euler Mac   Table des matières   Index
Documentation de giac écrite par Renée De Graeve