[Excel] Erreur sur erreur
-
- Utilisateur chevronné
- Messages : 1173
- Inscription : lundi 21 mai 2007, 13:57
- Statut actuel : Autre
- Localisation : Dordogne
[Excel] Erreur sur erreur
J'ai fait un essai d'Excel 2007
C'est très beau et rapide.
Fonction erf(x) :
Je note qu'un bug connu n'est toujours pas corrigé:
erf(0.72) = +0.691433123138751 valeur correcte
erf(0.72) = +0.691432825426609 d'après Excel
diff = -0.000000297712141
C'est autour de 0.72 que l'erreur est maximale.
Heureusement, une haute précision sur erf est rarement utile.
D'autres fonctions statistiques sont calculées depuis erf, je n'ai pas testé.
Excel 2007 ne sait pas calculer erf d'un argument négatif.
Ce bug est présent depuis au moins Excel 5.
C'est encore un exemple où il ne faut pas faire aveuglément confiance aux machines !
:o
C'est très beau et rapide.
Fonction erf(x) :
Je note qu'un bug connu n'est toujours pas corrigé:
erf(0.72) = +0.691433123138751 valeur correcte
erf(0.72) = +0.691432825426609 d'après Excel
diff = -0.000000297712141
C'est autour de 0.72 que l'erreur est maximale.
Heureusement, une haute précision sur erf est rarement utile.
D'autres fonctions statistiques sont calculées depuis erf, je n'ai pas testé.
Excel 2007 ne sait pas calculer erf d'un argument négatif.
Ce bug est présent depuis au moins Excel 5.
C'est encore un exemple où il ne faut pas faire aveuglément confiance aux machines !
:o
J'ai le virus des sciences, ça se soigne ?
-
- Modérateur général
- Messages : 8209
- Inscription : vendredi 06 janvier 2006, 15:32
- Statut actuel : Enseignant
- Localisation : Le Mans
As-tu essayé avec OOoCalc pour comparer ?
Edit : OOoCalc fournit la valeur correcte que tu mentionnes.
Edit : OOoCalc fournit la valeur correcte que tu mentionnes.
Pas d'aide par MP : les questions sont publiques, les réponses aussi.
Tu as apprécié l'aide qui t'a été fournie ? Alors n'hésite pas à rendre la pareille à quelqu'un d'autre.
Un peu d'autopromotion.
Tu as apprécié l'aide qui t'a été fournie ? Alors n'hésite pas à rendre la pareille à quelqu'un d'autre.
Un peu d'autopromotion.
-
- Utilisateur chevronné
- Messages : 1173
- Inscription : lundi 21 mai 2007, 13:57
- Statut actuel : Autre
- Localisation : Dordogne
Je n'ai pas Excel 2007, je l'ai essayé sur une autre machine.
Je reconnais que c'est très "design".
Je ne veut pas de Office 2007 compte tenu de tous les sytèmes anti-pirates à la noix, celui de Windows déjà m'exaspère.
Il faudra que j'essaye avec OOoCalc vs Excel 2000.
Je joins une table des valeurs correctes de erf.
Je reconnais que c'est très "design".
Je ne veut pas de Office 2007 compte tenu de tous les sytèmes anti-pirates à la noix, celui de Windows déjà m'exaspère.
Il faudra que j'essaye avec OOoCalc vs Excel 2000.
Je joins une table des valeurs correctes de erf.
- Pièces jointes
-
- Erf.ZIP
- Table erf + pgm
- (20.7 Kio) Téléchargé 405 fois
J'ai le virus des sciences, ça se soigne ?
-
- Modérateur général
- Messages : 8209
- Inscription : vendredi 06 janvier 2006, 15:32
- Statut actuel : Enseignant
- Localisation : Le Mans
J'ai fait le test avec la version 2.2 de OOoCalc.
Pas d'aide par MP : les questions sont publiques, les réponses aussi.
Tu as apprécié l'aide qui t'a été fournie ? Alors n'hésite pas à rendre la pareille à quelqu'un d'autre.
Un peu d'autopromotion.
Tu as apprécié l'aide qui t'a été fournie ? Alors n'hésite pas à rendre la pareille à quelqu'un d'autre.
Un peu d'autopromotion.
-
- Utilisateur chevronné
- Messages : 1173
- Inscription : lundi 21 mai 2007, 13:57
- Statut actuel : Autre
- Localisation : Dordogne
Si quelqu'un a besoin de erf précis dans excel, je joins la version pour vb Derf, D pour double selon l'habitude Fortran.
[Edit - MAJ ]
Peter Henrici
Computational Analysis with the HP 25 Pocket Calculator
http://dlmf.nist.gov/7.4 et suivants
Function Derf# (x#) 'double precision erf function
Const PI = 3.14159265358979
Const epsilon# = .000000000000001
a# = Exp(-x# * x#) / Sqr(PI)
If (x# <= 2) Then
a# = 2 * x# * a#
s# = a#
nu# = 1 / 2
Do
a# = x# * x# * a# / (nu# + 1)
s# = s# + a#
nu# = nu# + 1
Loop While (a# > epsilon#)
Derf# = s#
Else
m# = 8
z# = x#
Do
z# = x# + m# / z#
m# = m# - 1 / 2
Loop While (m# > 0#)
Derf# = 1 - a# / z#
End If
End Function
[Edit - MAJ ]
Peter Henrici
Computational Analysis with the HP 25 Pocket Calculator
http://dlmf.nist.gov/7.4 et suivants
Function Derf# (x#) 'double precision erf function
Const PI = 3.14159265358979
Const epsilon# = .000000000000001
a# = Exp(-x# * x#) / Sqr(PI)
If (x# <= 2) Then
a# = 2 * x# * a#
s# = a#
nu# = 1 / 2
Do
a# = x# * x# * a# / (nu# + 1)
s# = s# + a#
nu# = nu# + 1
Loop While (a# > epsilon#)
Derf# = s#
Else
m# = 8
z# = x#
Do
z# = x# + m# / z#
m# = m# - 1 / 2
Loop While (m# > 0#)
Derf# = 1 - a# / z#
End If
End Function
Dernière modification par Framboise le dimanche 05 mars 2017, 15:54, modifié 1 fois.
J'ai le virus des sciences, ça se soigne ?
-
- Modérateur honoraire
- Messages : 6962
- Inscription : mercredi 15 février 2006, 13:18
- Localisation : le havre
-
- Modérateur général
- Messages : 8209
- Inscription : vendredi 06 janvier 2006, 15:32
- Statut actuel : Enseignant
- Localisation : Le Mans
wikipediarebouxo a écrit :Euh, c'est quoi erf ? Une nouvelle race de framboise ? une exclamation dans une BD (Ben, erf, le courrier en retard) ?
Olivier
PS : cela sert à quoi ?
Pas d'aide par MP : les questions sont publiques, les réponses aussi.
Tu as apprécié l'aide qui t'a été fournie ? Alors n'hésite pas à rendre la pareille à quelqu'un d'autre.
Un peu d'autopromotion.
Tu as apprécié l'aide qui t'a été fournie ? Alors n'hésite pas à rendre la pareille à quelqu'un d'autre.
Un peu d'autopromotion.
-
- Utilisateur chevronné
- Messages : 1173
- Inscription : lundi 21 mai 2007, 13:57
- Statut actuel : Autre
- Localisation : Dordogne
Un intérêt particulier est le calcul des probabilités pour la distribution "normale".
Wikipedia n'en parle pas, si j'ai le temps il faudra que je complète cela.
On a:
P(x) + Q(x) = 1
P(-x) = Q(x)
A(x) = 2 P(x) - 1 = P(x) - Q(x)
et on a:
$A(x) = erf(x * 2^(^-^1^/^2^))$
Oui, mais à quoi cela sert ?
A(x) est l'intégrale de la courbe de la distribution normale de -x à +x
P(x) est l'intégrale de la courbe de la distribution normale de -infini à +x
Q(x) est l'intégrale de la courbe de la distribution normale de +x à +infini
x en unité sigma
erf est un moyen de calculer les probabilités sans s'encombrer des tabelles statistiques qui n'ont jamais la valeur que l'on veut et que l'on cherche partout en essayant de se rappeler où elle peut bien être.
C'est très pratique quand on veut automatiser un traitement de données avec application du critère de Chauvenet par ex. pour écarter les valeurs intempestives.
Wikipedia n'en parle pas, si j'ai le temps il faudra que je complète cela.
On a:
P(x) + Q(x) = 1
P(-x) = Q(x)
A(x) = 2 P(x) - 1 = P(x) - Q(x)
et on a:
$A(x) = erf(x * 2^(^-^1^/^2^))$
Oui, mais à quoi cela sert ?
A(x) est l'intégrale de la courbe de la distribution normale de -x à +x
P(x) est l'intégrale de la courbe de la distribution normale de -infini à +x
Q(x) est l'intégrale de la courbe de la distribution normale de +x à +infini
x en unité sigma
erf est un moyen de calculer les probabilités sans s'encombrer des tabelles statistiques qui n'ont jamais la valeur que l'on veut et que l'on cherche partout en essayant de se rappeler où elle peut bien être.
C'est très pratique quand on veut automatiser un traitement de données avec application du critère de Chauvenet par ex. pour écarter les valeurs intempestives.
J'ai le virus des sciences, ça se soigne ?
-
- Modérateur honoraire
- Messages : 6962
- Inscription : mercredi 15 février 2006, 13:18
- Localisation : le havre
Est-ce à dire que c'est la méthode qu'utilise les logiciels pour calculer les probabilités d'une loi $N(m,\sigma)$ ?
Si, on utilise excel pour calculer une probabilité, il y a une erreur ?
Guiguiche, tu as essayé OOo, mais tu ne nous dit pas quelle le résultat du test : OOo, calcule-t-il bien ?
Olivier
Si, on utilise excel pour calculer une probabilité, il y a une erreur ?
Guiguiche, tu as essayé OOo, mais tu ne nous dit pas quelle le résultat du test : OOo, calcule-t-il bien ?
Olivier
-
- Utilisateur chevronné
- Messages : 1173
- Inscription : lundi 21 mai 2007, 13:57
- Statut actuel : Autre
- Localisation : Dordogne
Un autre usage en chimie (!).
En chromatographie, un pic de concentration large, de forme "rectangulaire", est soumis à des diffusions et peut être traité comme somme de gaussiennes subissant la diffusion. On retrouve encore la function erf.
Application par ex. à la chromatographie du Fer (III) sur résine non-ionique en milieu HCl aqueux concentré.
Je sens déjà flipper des oreilles sur le forum...
En chromatographie, un pic de concentration large, de forme "rectangulaire", est soumis à des diffusions et peut être traité comme somme de gaussiennes subissant la diffusion. On retrouve encore la function erf.
Application par ex. à la chromatographie du Fer (III) sur résine non-ionique en milieu HCl aqueux concentré.
Je sens déjà flipper des oreilles sur le forum...
J'ai le virus des sciences, ça se soigne ?
-
- Modérateur honoraire
- Messages : 6962
- Inscription : mercredi 15 février 2006, 13:18
- Localisation : le havre
-
- Utilisateur chevronné
- Messages : 1173
- Inscription : lundi 21 mai 2007, 13:57
- Statut actuel : Autre
- Localisation : Dordogne
C'est une méthode possible de calcul parmi d'autresrebouxo a écrit :Est-ce à dire que c'est la méthode qu'utilise les logiciels pour calculer les probabilités d'une loi $N(m,\sigma)$ ?
Si, on utilise excel pour calculer une probabilité, il y a une erreur ?
Olivier
Une autre principe est d'utiliser une approximation polynomiale :( . C'est probablement ce que fait Excel. Excel fait appel à une sous-routine interne servant à différents calculs de fonctions dont erf. Je crains que d'autres fonctions stats soient mises en défaut de même compte tenu que bon nombre de fonctions stats se déduisent de erf.
L'erreur avec Excel est au max de l'ordre de la 6 ème décimale. Cela n'influe pas sur les probabilités en général et cela est bien assez précis.
Par contre il vaut mieux ne pas faire un exercice de différentiation numérique avec erf d'Excel car le résultat devient chaotique.
J'ai le virus des sciences, ça se soigne ?
-
- Modérateur général
- Messages : 8209
- Inscription : vendredi 06 janvier 2006, 15:32
- Statut actuel : Enseignant
- Localisation : Le Mans
Re: [Excel] erreur sur erreur
rebouxo a écrit :Guiguiche, tu as essayé OOo, mais tu ne nous dit pas quelle le résultat du test : OOo, calcule-t-il bien ?
Framboise a écrit :erf(0.72) = +0.691433123138751 valeur correcte
erf(0.72) = +0.691432825426609 d'après Excel
diff = -0.000000297712141
guiguiche a écrit :Edit : OOoCalc fournit la valeur correcte que tu mentionnes.
Pas d'aide par MP : les questions sont publiques, les réponses aussi.
Tu as apprécié l'aide qui t'a été fournie ? Alors n'hésite pas à rendre la pareille à quelqu'un d'autre.
Un peu d'autopromotion.
Tu as apprécié l'aide qui t'a été fournie ? Alors n'hésite pas à rendre la pareille à quelqu'un d'autre.
Un peu d'autopromotion.
-
- Modérateur honoraire
- Messages : 1803
- Inscription : samedi 28 mai 2005, 14:48
- Localisation : Orsay, France
Je confirme, il ne bluffe pas, il avait donné le résultat.
L'erreur se situe à la 6ème décimale, c'est vrai que ça "craint".
Mais en même temps on sait bien que c'est dangereux de faire autre chose que des moyennes ou ecart type avec excel.

L'erreur se situe à la 6ème décimale, c'est vrai que ça "craint".
Mais en même temps on sait bien que c'est dangereux de faire autre chose que des moyennes ou ecart type avec excel.
nirosis
Lisez le tutoriel sur LaTeX
Lisez le tutoriel sur LaTeX
-
- Modérateur général
- Messages : 8209
- Inscription : vendredi 06 janvier 2006, 15:32
- Statut actuel : Enseignant
- Localisation : Le Mans
Quand je pense que mes étudiants devront passer une "certification MS Office" pour valider leur cursus en école de commerce (au moins pour certaines écoles).nirosis a écrit :Mais en même temps on sait bien que c'est dangereux de faire autre chose que des moyennes ou ecart type avec excel.
Pas d'aide par MP : les questions sont publiques, les réponses aussi.
Tu as apprécié l'aide qui t'a été fournie ? Alors n'hésite pas à rendre la pareille à quelqu'un d'autre.
Un peu d'autopromotion.
Tu as apprécié l'aide qui t'a été fournie ? Alors n'hésite pas à rendre la pareille à quelqu'un d'autre.
Un peu d'autopromotion.
-
- Utilisateur chevronné
- Messages : 2833
- Inscription : samedi 08 juillet 2006, 20:56
- Localisation : Saint Bonnet Elvert
Re: [Excel] erreur sur erreur
Excel n'est pas franchement un logiciel recommandable pour tester des conjectures mathématiques.Framboise a écrit :J'ai fait un essai d'Excel 2007
C'est très beau et rapide.
Fonction erf(x) :
Je note qu'un bug connu n'est toujours pas corrigé:
[SNIP]
C'est encore un exemple où il ne faut pas faire aveuglément confiance aux machines !
:o
Pour tout bon matheux la suite définie par : $x_0=0{,}2$ et $$\forall n\in\N,\;x_{n+1}=11\,x_n-2$$
est stationnaire. Pour les versions d'Excel que j'ai pu tester, elle ne l'est pas.
Par contre, la suite définie par : $x_0=0{,}125$ et $$\forall n\in\N,\;x_{n+1}=11\,x_n-1{,}25$$
l'est.
JJR.
LaTeXien migrateur.
LaTeXien migrateur.
-
- Utilisateur chevronné
- Messages : 1173
- Inscription : lundi 21 mai 2007, 13:57
- Statut actuel : Autre
- Localisation : Dordogne
Re: [Excel] erreur sur erreur
C'est normal, la précision d'Excel est d'environ 16 décimales, le comportement de la suite selon la chance peut devenir chaotique ou non.gigiair a écrit :Excel n'est pas franchement un logiciel recommandable pour tester des conjectures mathématiques.Framboise a écrit :J'ai fait un essai d'Excel 2007
C'est très beau et rapide.
Fonction erf(x) :
Je note qu'un bug connu n'est toujours pas corrigé:
[SNIP]
C'est encore un exemple où il ne faut pas faire aveuglément confiance aux machines !
:o
Pour tout bon matheux la suite définie par : $x_0=0{,}2$ et $$\forall n\in\N,\;x_{n+1}=11\,x_n-2$$
est stationnaire. Pour les versions d'Excel que j'ai pu tester, elle ne l'est pas.
Par contre, la suite définie par : $x_0=0{,}125$ et $$\forall n\in\N,\;x_{n+1}=11\,x_n-1{,}25$$
l'est.
0.200000000000000
0.200000000000000
0.200000000000002
0.200000000000021
0.200000000000236
0.200000000002601
0.200000000028608
0.200000000314692
0.200000003461617
0.200000038077786
0.200000418855651
0.200004607412159
0.200050681533745
0.200557496871196
0.206132465583152
0.267457121414670
0.942028335561367
8.362311691175030
89.985428602925400
987.839714632179000
Le "chaos" gagne une décimale à chaque itération.
Cela n'est pas toujours visible, le nombre étant stocké en interne plus précis que l'affichage qui est arrondi.
J'ai le virus des sciences, ça se soigne ?
-
- Utilisateur chevronné
- Messages : 1173
- Inscription : lundi 21 mai 2007, 13:57
- Statut actuel : Autre
- Localisation : Dordogne
Re: [Excel] erreur sur erreur
Un autre exemple:
$x_0=0{.}001$
$r=3$
$\forall n\in\N,x_{n+1}=x_n + r x_n (1-x_n)$
Si l'on fait le calcul sur différents systèmes, les séquences deviennent rapidement très différentes et chaotiques.
Voir:
Chaos and Fractals (Peitgen, Jürgens, Saupe) Springer Verlag. 1st ed.
page 48, Quadratic Iterator.
$x_0=0{.}001$
$r=3$
$\forall n\in\N,x_{n+1}=x_n + r x_n (1-x_n)$
Si l'on fait le calcul sur différents systèmes, les séquences deviennent rapidement très différentes et chaotiques.
Voir:
Chaos and Fractals (Peitgen, Jürgens, Saupe) Springer Verlag. 1st ed.
page 48, Quadratic Iterator.
J'ai le virus des sciences, ça se soigne ?
-
- Utilisateur chevronné
- Messages : 2833
- Inscription : samedi 08 juillet 2006, 20:56
- Localisation : Saint Bonnet Elvert
Re: [Excel] erreur sur erreur
Framboise a écrit : C'est normal, la précision d'Excel est d'environ 16 décimales, le comportement de la suite selon la chance peut devenir chaotique ou non.
Excel est incapable de représenter correctement la plupart des nombres décimaux et les remplace par une approximation à l'insu de l'utilisateur.
Le deuxième exemple montre que parfois Excel représente correctement les nombres et la précision du calcul n'a pas changé. Pour moi, Excel est à déconseiller fortement pour faire des mathématiques, sauf à bien connaître les algorithmes de calcul et de représentation interne des nombres.
Les autres tableurs donnent d'ailleurs le même résultat, du moins ceux que j'ai contrôlé.
JJR.
LaTeXien migrateur.
LaTeXien migrateur.