CALCULE LOG(X)

pgl10 289 Messages postés samedi 18 décembre 2004Date d'inscription 1 juillet 2017 Dernière intervention - 15 mars 2010 à 14:03 - Dernière réponse :  Samy
- 6 févr. 2017 à 10:44
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

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

Afficher la suite 
cs_Jaboun 3 Messages postés dimanche 28 mars 2010Date d'inscription 11 décembre 2010 Dernière intervention - 29 mars 2010 à 17:57
merci pour cette information de calculer log(x),
j'ai un exercice de la langage c slv:
Ecrire un programme pour la gestion de stock
le stock est identifier par nom,prix unitaire,stock,stock minimal.
les operations a gérer:
1.Ajouter un produit
2.Modifier un produit
3.Supprimer un produit
4.Rechercher un produit
5.trier les produits par prix unitaire
6.trier les produit par stock
7.liste des produits a commander
cs_JCDjcd 1138 Messages postés mardi 10 juin 2003Date d'inscription 25 janvier 2009 Dernière intervention - 31 mars 2010 à 12:54
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
tagtog 7 Messages postés mardi 17 février 2009Date d'inscription 20 juillet 2011 Dernière intervention - 4 avril 2010 à 17:25
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 ^^.
cs_JCDjcd 1138 Messages postés mardi 10 juin 2003Date d'inscription 25 janvier 2009 Dernière intervention - 5 avril 2010 à 11:49
Je ne comprends pas le raisonnement ...
Quoi qu'il en soit, une precision de 10e-60 avec des double ne veut rien dire
Commenter la réponse de pgl10

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.