[Excel] Erreur sur erreur

Tout ce qui concerne notamment les outils de calcul numérique, de calcul formel ou de géométrie.
[participation réservée aux membres inscrits]
Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
Framboise
Utilisateur chevronné
Utilisateur chevronné
Messages : 1172
Inscription : lundi 21 mai 2007, 13:57
Statut actuel : Autre
Localisation : Dordogne

[Excel] Erreur sur erreur

Message non lu par Framboise »

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
J'ai le virus des sciences, ça se soigne ?
guiguiche
Modérateur général
Modérateur général
Messages : 8155
Inscription : vendredi 06 janvier 2006, 15:32
Statut actuel : Enseignant
Localisation : Le Mans

Message non lu par guiguiche »

As-tu essayé avec OOoCalc pour comparer ?

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.
Framboise
Utilisateur chevronné
Utilisateur chevronné
Messages : 1172
Inscription : lundi 21 mai 2007, 13:57
Statut actuel : Autre
Localisation : Dordogne

Message non lu par Framboise »

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.
Pièces jointes
Erf.ZIP
Table erf + pgm
(20.7 Kio) Téléchargé 312 fois
J'ai le virus des sciences, ça se soigne ?
guiguiche
Modérateur général
Modérateur général
Messages : 8155
Inscription : vendredi 06 janvier 2006, 15:32
Statut actuel : Enseignant
Localisation : Le Mans

Message non lu par guiguiche »

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.
Framboise
Utilisateur chevronné
Utilisateur chevronné
Messages : 1172
Inscription : lundi 21 mai 2007, 13:57
Statut actuel : Autre
Localisation : Dordogne

Message non lu par Framboise »

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
Dernière modification par Framboise le dimanche 05 mars 2017, 15:54, modifié 1 fois.
J'ai le virus des sciences, ça se soigne ?
rebouxo
Modérateur honoraire
Modérateur honoraire
Messages : 6962
Inscription : mercredi 15 février 2006, 13:18
Localisation : le havre

Message non lu par rebouxo »

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 ?
guiguiche
Modérateur général
Modérateur général
Messages : 8155
Inscription : vendredi 06 janvier 2006, 15:32
Statut actuel : Enseignant
Localisation : Le Mans

Message non lu par guiguiche »

rebouxo 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 ?
wikipedia
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.
Framboise
Utilisateur chevronné
Utilisateur chevronné
Messages : 1172
Inscription : lundi 21 mai 2007, 13:57
Statut actuel : Autre
Localisation : Dordogne

Message non lu par Framboise »

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.
J'ai le virus des sciences, ça se soigne ?
rebouxo
Modérateur honoraire
Modérateur honoraire
Messages : 6962
Inscription : mercredi 15 février 2006, 13:18
Localisation : le havre

Message non lu par rebouxo »

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
Framboise
Utilisateur chevronné
Utilisateur chevronné
Messages : 1172
Inscription : lundi 21 mai 2007, 13:57
Statut actuel : Autre
Localisation : Dordogne

Message non lu par Framboise »

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...
J'ai le virus des sciences, ça se soigne ?
rebouxo
Modérateur honoraire
Modérateur honoraire
Messages : 6962
Inscription : mercredi 15 février 2006, 13:18
Localisation : le havre

Message non lu par rebouxo »

Arrrrrrghhhhhhhhhhh? De la chimie. Vade retro framboisas ! :D
Olivier
Framboise
Utilisateur chevronné
Utilisateur chevronné
Messages : 1172
Inscription : lundi 21 mai 2007, 13:57
Statut actuel : Autre
Localisation : Dordogne

Message non lu par Framboise »

rebouxo 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
C'est une méthode possible de calcul parmi d'autres
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 ?
guiguiche
Modérateur général
Modérateur général
Messages : 8155
Inscription : vendredi 06 janvier 2006, 15:32
Statut actuel : Enseignant
Localisation : Le Mans

Re: [Excel] erreur sur erreur

Message non lu par guiguiche »

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.
nirosis
Administrateur
Administrateur
Messages : 1803
Inscription : samedi 28 mai 2005, 14:48
Localisation : Orsay, France

Message non lu par nirosis »

Je confirme, il ne bluffe pas, il avait donné le résultat. :lol:

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. :wink:
guiguiche
Modérateur général
Modérateur général
Messages : 8155
Inscription : vendredi 06 janvier 2006, 15:32
Statut actuel : Enseignant
Localisation : Le Mans

Message non lu par guiguiche »

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. :wink:
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).
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.
gigiair
Utilisateur chevronné
Utilisateur chevronné
Messages : 2742
Inscription : samedi 08 juillet 2006, 20:56
Localisation : Saint Bonnet Elvert

Re: [Excel] erreur sur erreur

Message non lu par gigiair »

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
Excel n'est pas franchement un logiciel recommandable pour tester des conjectures mathématiques.
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.
cyrille

Message non lu par cyrille »

quand je pense que je vais faire travailler un lycée professionnel sous linux et que linux c'est de la merde ... Openoffice powa.
Framboise
Utilisateur chevronné
Utilisateur chevronné
Messages : 1172
Inscription : lundi 21 mai 2007, 13:57
Statut actuel : Autre
Localisation : Dordogne

Re: [Excel] erreur sur erreur

Message non lu par Framboise »

gigiair a écrit :
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
Excel n'est pas franchement un logiciel recommandable pour tester des conjectures mathématiques.
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.
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.

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 ?
Framboise
Utilisateur chevronné
Utilisateur chevronné
Messages : 1172
Inscription : lundi 21 mai 2007, 13:57
Statut actuel : Autre
Localisation : Dordogne

Re: [Excel] erreur sur erreur

Message non lu par Framboise »

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.
J'ai le virus des sciences, ça se soigne ?
gigiair
Utilisateur chevronné
Utilisateur chevronné
Messages : 2742
Inscription : samedi 08 juillet 2006, 20:56
Localisation : Saint Bonnet Elvert

Re: [Excel] erreur sur erreur

Message non lu par gigiair »

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.