Bonjour,
J'ai un petit soucis avec Maple et la méthode d'accélération delta-2 d'aitken. Je souhaite accélérer la convergence de la formule de Machin (ie . J'ai donc écrit une procédure qui me permet d'approcher en utilisant le développement limité de l'arctangente pour et pour un donné.
En gros le programme renvoie une approximation de .
Fmachin:=proc(n)
local k,atg5,atg239:
atg5:=add((-1)^k*(1/5)^(2*k+1)/(2*k+1)(,k=0..n)
atg239:=add((-1)^k*(1/239)^(2*k+1)/(2*k+1)(,k=0..n)
return(16*atg5-4*atg239)
end;
Il marche, normalement . À evalf(Fmachin(10),100) j'ai bien les 100 décimales.
La procédure pour Aitken est:
delta:=proc(u,n)
return((u(n)^2-u(n-1)*u(n+1))/(2*u(n)-u(n-1)-u(n+1)))
end;
Mais là evalf(delta(evalf(Fmachin(10),100),100)) me renvoie la valeur de Fmachin mais il me dit "Error,(in delta) numeric exception: division by zero" mais je ne vois pas où...
Si quelqu'un a une idée...
Merci à tous.
Si un jour cela intéresse quelqu'un voilà ce que je propose:
Delta2Machin := proc (n,m)
local k, i, j, atg5, atg239;
for j from 0 to n+1 do
atg5(j) := add((-1)^k*(1/5)^(2*k+1)/(2*k+1), k = 0 .. j);
atg239(j) := add((-1)^k*(1/239)^(2*k+1)/(2*k+1), k = 0 .. j);
od;
for i from 0 to n+1 do;
S(i) := 16*atg5(i)-4*atg239(i);
od;
print(pi[epsilon Delta2 Machin]=
evalf((S(n)^2-S(n+1)*S(n-1))/(2*S(n)-S(n-1)-S(n+1)),m));
end;
Bonne journée !
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :