CALCULE LOG(X)

Signaler
Messages postés
313
Date d'inscription
samedi 18 décembre 2004
Statut
Membre
Dernière intervention
26 mai 2020
-
 Samy -
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/51445-calcule-log-x

Messages postés
1138
Date d'inscription
mardi 10 juin 2003
Statut
Membre
Dernière intervention
25 janvier 2009
3
Je ne comprends pas le raisonnement ...
Quoi qu'il en soit, une precision de 10e-60 avec des double ne veut rien dire
Messages postés
7
Date d'inscription
mardi 17 février 2009
Statut
Membre
Dernière intervention
20 juillet 2011

La fonction while(fabs(term)>epsilon) ne s'arrête pas quand la condition n'est pas fausse.
Donc, nous sommes arrivés à notre objectif d'accès à la valeur epsilon = 10^(-60).
Donc le problème en dehors de notre mains ^^.
Messages postés
1138
Date d'inscription
mardi 10 juin 2003
Statut
Membre
Dernière intervention
25 janvier 2009
3
Pour revenir a la "precision de 10e-60" ... c'est tout bonnement absurde d'affirmer cela :
Avec les doubles au maximum tu peux avoir 16 chiffres significatifs, donc la précision maximale est de 10e-16

Il ne faut pas confondre le fait que l'on puisse ecrire le nombre 10e-100 dans un double et le fait le nombre 1.000 000 000 000 000 1 * 10e-100 le soit aussi alors que 1.000 000 000 000 000 01 * 10e-100 (avec un 0 de plus) soit identique a 10e-100 !
Bref 10e+100 additionne avec 10e-100 n'a aucun sans dans l'arithmetique des flottants.


Pour finir, un petit retour sur des choses plus mathemtiques :
ton test d'arret est que fabs(term)<epsilon, cele ne veut absolument pas dire que l'ecart a la vraie valeur est plus petite d'epsilon, mais seulement que le dernier terme de la serie de Taylor est plus petit en module a epsilon.
Avec ce raisonnement il suffirait de prendre la serie harmonique somme 1/n et dire qu'il suffit de s'arreter quand n depasse 1/epsilon ... alors que la serie harmonique diverge (equivalent a ln(n)+constante d'Euler+...).
Donc morale de l'histoire ne pas confondre grandeur du dernier terme avec l'erreur commise sur l'approximation
Afficher les 12 commentaires