Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
> for x from 0 to 5 do 
 
print(evalf(sum((-1)^k*x^(2*k)/factorial(2*k), k = 0 .. 10)), evalf(cos(x))) 
 
end do;
                             0., 1.
                   0.5403023059, 0.5403023059
                  -0.4161468365, -0.4161468365
                  -0.9899924966, -0.9899924966
                  -0.6536436057, -0.6536436209
                   0.2836642141, 0.2836621855
> 
>
la "sum" est le développement en série de cos(x),bien entendu .Maple donne 0 pour x=0,et cos(0) = 1 . (!).

Si vous donnez à x une valeur proche de zéro :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
> x := 0.1e-7; print(evalf(sum((-1)^k*x^(2*k)/factorial(2*k), k = 0 .. 10)), evalf(cos(x)));
 
                                 -8
                             1 10  
                        1.000000000, 1.
Vous obtenez le bon résultat.

Si vous demandez la série : elle est correcte :

> sum((-1)^k*x^(2*k)/factorial(2*k), k = 0 .. 5);

           1  2   1   4    1   6     1    8      1     10
       1 - - x  + -- x  - --- x  + ----- x  - ------- x  
           2      24      720      40320      3628800    
Si vous donnez à x la valeur 0 vous avez le résultat correct : 1

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
eval(1-(1/2)*x^2+(1/24)*x^4-(1/720)*x^6+(1/40320)*x^8-(1/3628800)*x^10, [x = 0]);
                               1


Quelle est cette anomalie ? . Où est l'erreur ?