[Excel] Erreur sur erreur

Tout ce qui concerne les logiciels mathématiques (Matlab, Maxima, Scilab, R, ...) et les calculatrices scientifiques.
[forum modéré par les modérateurs globaux du site]
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.
oleanet
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 257
Inscription : dimanche 24 décembre 2006, 15:17

Message par oleanet »

Bon,

Excel utilise apparemment le type flottant pour représenter les nombres en interne, ce n'est pas propre à Excel, évidemment, on trouve ce type de nombres dans tous les langages de programmation. Programmez ce calcul en Pascal ou en C pour la suite x=0.2 et x <- 11x-2 et vous aurez le même comportement (qui est tout à fait logique pour l'informaticien). C'est l'un des inconvénients de ce type de codage des nombres, et c'est peut-être la raison pour laquelle Knuth s'est refusé à utiliser autre chose que des entiers en interne dans TeX et Metafont (ce qui n'est pas non plus sans inconvénient pour les calculs).

Quant à savoir si on peut faire le calcul avec des décimaux? Et bien tronquez tous les résultats à la 2ième décimale et vous aurez votre suite constante (pas testé avec Excel).

Et pourquoi pour l'autre suite ça marche? Parce que le calcul en flottant "tombe juste".

Le problème avec l'informatique ce n'est pas le logiciel proprement dit, mais plutôt l'utilisateur moyen qui non seulement ne sait pas qu'il y a un domaine de validité (en dehors duquel on peut considérer que le résultat est incohérent), mais qui en plus se permet de faire des jugements dans l'absolu sans même remettre ses connaissances en cause!

Je précise qu'il existe aussi de telles suites qui mettent en défaut les logiciels de calcul formel, mais je n'en ai pas sous la main.

oleanet
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 257
Inscription : dimanche 24 décembre 2006, 15:17

Message par oleanet »

Je viens de tester (en flottants) ceci: x=0.2 et x<- 10x-2+x
et là la suite est bien constante, donc l'ordre des opérations joue un rôle (en fottants).

Framboise
Utilisateur chevronné
Utilisateur chevronné
Messages : 1159
Inscription : lundi 21 mai 2007, 13:57
Statut actuel : Autre
Localisation : Dordogne

Message par Framboise »

C'est un problème général.

Les nombres ont une représentation interne en base binaire/hexadécimale et Excel nous les visualise sous forme décimale.
Quand par chance la représentation binaire correspond exactement à la valeur décimale, cela se passe plutôt bien, mais quand la correspondance binaire est tronquée, la correspondance est approximative avec tous les aléas que cela implique.

Des nombres différents en interne peuvent apparaitre identiques dans leur visualisation avec toutes les décimales possibles. Il est très instructif d'avoir quelque routines de visualisation du codage en hexadécimal.

Le Basic, QBASIC, Visual Basic ( donc Excel ) ont ce problème, et c'est répandu dans différents programmes, tableurs et autres.

Le C/C++ est un peu meilleur de ce point de vue, mais il y a des problèmes aussi.

J'ai parfois dû intervenir avec la représentation binaire des nombres et tous les différents compilateurs tels que visual basic ou visual C/C++ réservent des surprises.
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.
Oui, et pas seulement Excel, tous !

Conclusion : ne faisons pas de calculs sur ordi ou sur une machine quelle qu'elle soit. :evil:

Je me rappelle une machine où 1/2 = 0.5 mais 0.5 non = 1/2.

Ce qui m'émerveille dans l'informatique, c'est que parfois cela fonctionne !!! :D :D :D
J'ai le virus des sciences, ça se soigne ?

oleanet
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 257
Inscription : dimanche 24 décembre 2006, 15:17

Message par oleanet »

Framboise a écrit :C'est un problème général.
Ben oui, et c'est pas nouveau!
Conclusion : ne faisons pas de calculs sur ordi ou sur une machine quelle qu'elle soit. :evil:
Mauvaise conclusion à mon avis. Il faudrait renoncer à envoyer des satellites dans l'espace, à construire des avions de plus en plus gros, ou alors faire tous les calculs à la main?

La bonne conclusion à mon avis est: restons vigilants et soyons critiques.
Ce qui m'émerveille dans l'informatique, c'est que parfois cela fonctionne !!! :D :D :D
Cela fonctionne toujours en un certain sens, mais c'est l'interprétation de l'utilisateur qui foire en général.

Framboise
Utilisateur chevronné
Utilisateur chevronné
Messages : 1159
Inscription : lundi 21 mai 2007, 13:57
Statut actuel : Autre
Localisation : Dordogne

Message par Framboise »

Ma conclusion était très humoristique, d'autant que j'utilise beaucoup l'ordi pour les calculs justement.
J'ai le virus des sciences, ça se soigne ?

cyrille
Utilisateur chevronné
Utilisateur chevronné
Messages : 1222
Inscription : mardi 07 juin 2005, 20:42
Localisation : Cantal

Message par cyrille »

chic chic un combat de tigresses. Je mise tout sur oleanet c'est la plus vicieuse
Un Linuxien, qui surgit hors de la nuit, Court dans le forum au galop, Son nom, il le signe à la pointe du curseur d'un C qui veut dire Cyrille, Cyrille, Cyrille, manchot rusé qui fait sa loi, Cyrille, Cyrille, Vainqueur, tu l'es à chaque fois

Framboise
Utilisateur chevronné
Utilisateur chevronné
Messages : 1159
Inscription : lundi 21 mai 2007, 13:57
Statut actuel : Autre
Localisation : Dordogne

Message par Framboise »

chic chic un combat de tigresses. Je mise tout sur oleanet c'est la plus vicieuse
Ohhhh ! :evil: :evil: :evil:
J'ai le virus des sciences, ça se soigne ?

guiguiche
Modérateur global
Modérateur global
Messages : 8074
Inscription : vendredi 06 janvier 2006, 15:32
Statut actuel : Enseignant
Localisation : Le Mans

Message par guiguiche »

cyrille a écrit :chic chic un combat de tigresses. Je mise tout sur oleanet c'est la plus vicieuse
Pour prendre le contre-pied de Cyrille, je mise sur Framboise :D
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 : 1159
Inscription : lundi 21 mai 2007, 13:57
Statut actuel : Autre
Localisation : Dordogne

Message par Framboise »

Pour prendre le contre-pied de Cyrille, je mise sur Framboise
Merci. Il faudra que je fasse une super tarte aux framboises... :D :D
J'ai le virus des sciences, ça se soigne ?

guiguiche
Modérateur global
Modérateur global
Messages : 8074
Inscription : vendredi 06 janvier 2006, 15:32
Statut actuel : Enseignant
Localisation : Le Mans

Message par guiguiche »

Framboise a écrit :Merci. Il faudra que je fasse une super tarte aux framboises... :D :D
Oui car mes framboisiers n'ont pas grand chose cette année :crybaby:
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 : 1159
Inscription : lundi 21 mai 2007, 13:57
Statut actuel : Autre
Localisation : Dordogne

Message par Framboise »

Les framboises, c'est mon arme secrète. Mais, chuuuut !
J'ai le virus des sciences, ça se soigne ?

oleanet
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 257
Inscription : dimanche 24 décembre 2006, 15:17

Message par oleanet »

Il n'y a pas de combat! Je suis intervenue car j'étais surprise de voir que des gens d'un certain niveau scientifique soient surpris par les résultats de certains calculs en flottants alors qu'ils sont tout à fait "normaux" (les résultats, pas les gens :D). Mais c'est surtout le jugement à l'emporte-pièce de gigiair qui m'a poussée à réagir (je devrais être habituée pourtant...)

Framboise
Utilisateur chevronné
Utilisateur chevronné
Messages : 1159
Inscription : lundi 21 mai 2007, 13:57
Statut actuel : Autre
Localisation : Dordogne

Message par Framboise »

Il ne faut effectivement pas accepter aveuglément les résultats des ordinateurs. Les ordi sont en plus très forts pour ressortir les c****ries qu'on leur a introduites.

Voila en prime un aperçu d'adorable petit tigre.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
J'ai le virus des sciences, ça se soigne ?

cyrille
Utilisateur chevronné
Utilisateur chevronné
Messages : 1222
Inscription : mardi 07 juin 2005, 20:42
Localisation : Cantal

Message par cyrille »

et bientôt tu va nous montrer ta chatte ?

Ce post est dédié à tous les modérateurs de ce forum dont je fais partie. Merci à eux sans qui je ne serais rien, je vous dédicace ce post, merci encore.
Un Linuxien, qui surgit hors de la nuit, Court dans le forum au galop, Son nom, il le signe à la pointe du curseur d'un C qui veut dire Cyrille, Cyrille, Cyrille, manchot rusé qui fait sa loi, Cyrille, Cyrille, Vainqueur, tu l'es à chaque fois

rebouxo
Modérateur global
Modérateur global
Messages : 6962
Inscription : mercredi 15 février 2006, 13:18
Localisation : le havre

Message par rebouxo »

Super GIga Hyper MdR.
Peut-on croire la photo ? Est-ce une bonne représentation de Tigresse Framboise ?

Post très intéressant.
Olivier

Framboise
Utilisateur chevronné
Utilisateur chevronné
Messages : 1159
Inscription : lundi 21 mai 2007, 13:57
Statut actuel : Autre
Localisation : Dordogne

Message par Framboise »

:lol: :lol: :lol:

La ressemblance n'est pas bonne.

J'ai regardé plus loin avec Excel 2000.

La fonction erfc agit de même. L'erreur max est autour de l'argument 0.72.

Excel utilise les fonctions de Atpvbaen.xls/Atpvbaen.xla

Function Erf(lower_limit As Variant, Optional upper_limit As Variant) As Variant
Erf = Application.Run(GetMacroRegId("ERF"), lower_limit, upper_limit)
End Function

Function Erfc(x As Variant) As Variant
Erfc = Application.Run(GetMacroRegId("ERFC"), x)
End Function

Je regarderai si j'ai un moment pour les autres functions qui utilisent de même Application.Run.

J'ai remarqué que ce sujet semble intéresser beaucoup de monde à voir le compteur du sujet.
J'ai le virus des sciences, ça se soigne ?

cyrille
Utilisateur chevronné
Utilisateur chevronné
Messages : 1222
Inscription : mardi 07 juin 2005, 20:42
Localisation : Cantal

Message par cyrille »

normal on parle de tigresses et de chattes, ça fait toujours venir du monde.
Un Linuxien, qui surgit hors de la nuit, Court dans le forum au galop, Son nom, il le signe à la pointe du curseur d'un C qui veut dire Cyrille, Cyrille, Cyrille, manchot rusé qui fait sa loi, Cyrille, Cyrille, Vainqueur, tu l'es à chaque fois

rebouxo
Modérateur global
Modérateur global
Messages : 6962
Inscription : mercredi 15 février 2006, 13:18
Localisation : le havre

Message par rebouxo »

Ben si cela continue comme cela, le serveur de mon bahut va bannir mathematex :
Latex + chatte + tigresse
il va avoir des doutes.
Olivier