[Résolu] Chiffres significatifs, précision des calculs, etc.

Discussions à propos du tableur Calc.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
antoin43
NOOuvel adepte
NOOuvel adepte
Messages : 17
Inscription : 22 déc. 2010 16:12

[Résolu] Chiffres significatifs, précision des calculs, etc.

Message par antoin43 »

Bonjour

j'ai vu le fil http://user.services.openoffice.org/fr/ ... ifs#p76849 mais je préferre commencer un new post.
Je n'ai pas trouvé la réponse dans l'aide de OOo (ni dans différents ouvrages sur calc)
Peut être ai-je mal cherché? sinon cette question devrait être exposée clairement me semble-t-il.
certes pour une utilisation comptable 2 décimales suffisent mais pour du calcul scientifique il est bon de savoir les possibilités, les limites du calcul.
L'exemple suivant est un extrait de la suite de Fibonacci et on vérifie que le rapport de 2 nombres de la suite tend vers le nombre d'or.
Or le rapport de 2 entiers est un nombre rationnel, calc me donne 15 chiffres
Le nombre d'or calculé par calc à partir de sa formule =(1+RACINE(5))/2 est un nombre irrationnel calc me donne 14 chiffres. la différence me donne -> 28 décimales

Suite Fibonacci Rapport / précédent Nombre d'or Différence
.....
5702887 1,61803398874986 1,6180339887499 0,0000000000000359712259978551
9227465 1,61803398874991 1,6180339887499 -0,0000000000000137667655053519
14930352 1,61803398874989 1,6180339887499 0
24157817 1,6180339887499 1,6180339887499 0
Dernière modification par Don Corleone le 24 déc. 2010 10:16, modifié 2 fois.
Raison : Coche (balise présente)
libre office 6.4 sous windows 10
Version : 6.4.2.2 (x64)
Build ID : 4e471d8c02c9c90f512f7f9ead8875b57fcb1ec3
Threads CPU : 8; OS : Windows 10.0 Build 17763; UI Render : par défaut; VCL: win;
Locale : fr-FR (fr_FR); Langue IHM : fr-FR
Calc: threaded
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16959
Inscription : 03 mars 2006 16:02
Localisation : Venise verte

Re: Chiffres significatifs, précision des calculs, etc.

Message par jeanmimi »

Bonjour,
Afficher un nombre de 28 décimales est possible.
Est-ce que tu as un fichier pour tester ?
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice : Version : 24.2 (x64)(12 avril 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
antoin43
NOOuvel adepte
NOOuvel adepte
Messages : 17
Inscription : 22 déc. 2010 16:12

Re: Chiffres significatifs, précision des calculs, etc.

Message par antoin43 »

Quand je charge le tien je vois les zéros non significatifs. Format cellule m'indique 75 décimales.
Sur le mien par exemple pour le nombre d'or, je peux mettre 20 décimales mais il m'affiche que des zéros non significatifs, ce qui est faux car le nombre est irrationnel. L'affichage est une chose le calcul en est une autre semble-t-il.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
libre office 6.4 sous windows 10
Version : 6.4.2.2 (x64)
Build ID : 4e471d8c02c9c90f512f7f9ead8875b57fcb1ec3
Threads CPU : 8; OS : Windows 10.0 Build 17763; UI Render : par défaut; VCL: win;
Locale : fr-FR (fr_FR); Langue IHM : fr-FR
Calc: threaded
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16959
Inscription : 03 mars 2006 16:02
Localisation : Venise verte

Re: Chiffres significatifs, précision des calculs, etc.

Message par jeanmimi »

En modifiant les formats Nombre des cellules, j'arrive à afficher tous les chiffres après la virgule.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par jeanmimi le 23 déc. 2010 08:53, modifié 1 fois.
LibreOffice : Version : 24.2 (x64)(12 avril 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 5749
Inscription : 02 janv. 2009 23:56

Re: Chiffres significatifs, précision des calculs, etc.

Message par Jean-Louis Cadeillan »

Bonsoir à tous,
Je crois que l'extension CmathOOoCAS de Christophe Devalland, développé en C++ à partir du moteur GIAC de XCAS mérite plus qu'un détour lorsqu'il s'agit de calcul de précision et de calcul formel.
Cette extension permet d'accroître les capacités de Calc d'une manière exceptionnelle. Par exemple, dans chaque cellule de Calc, on peut afficher un nombre avec 2^16 décimales, soit 65536. Ce sont des décimales de mantisse, c'est-à-dire que seuls les chiffres significatifs sont comptés (à partir de la première décimale différente de zéro). Bien sûr, c'est une limite qui sollicitera énormément les capacités mémoire de Calc et de l'environnement matériel... à noter que le choix du C++ (langage natif de XCAS) assure un traitement des fonctions ultrarapide :D

La grande supériorité de CmathOOoCAS est de permettre de traiter toutes les expressions sous forme de calcul formel : on n'est pas obligé d'attribuer une valeur à une variable (ou à un nombre à développement infini, rationnel ou non) dans une expression pour que le calcul soit possible : opérateurs arithmétiques, factorisation, développement, simplification, etc.
Ci-joint le même travail sur la suite de Fibonacci, mais traitée avec CmathOOoCAS (j'y ai rajouté une petite étude sur les puissances de phi, où l'on retrouve aussi les éléments de cette même suite... :wink: )
Feuille1 : travail initial avec uniquement Calc
Feuille2 : idem mais avec CmathOOoCAS
Feuille3 : puissances de phi et Fibonacci
Phi.ods
Bien sûr ce document Calc ne doit être ouvert qu'une fois CmathOOoCAS installée. En attendant de franchir ce pas, un petit aperçu (cliquer dessus pour agrandir):
phi.jpg
Pour ceux qui connaissaient XCAS, c'est une extension qui vient combler un vide d'une façon enthousiasmante, avec une multitude de nouvelles fonctions à découvrir !!! Un grand coup de chapeau à Christophe Devalland :bravo: :bravo:
Cordialement
Jean-Louis
PS : cerise sur le gâteau on peut transférer toute cette puissance dans Writer, grâce à l'extension CmathOOo... mais ceci est une autre histoire...
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibO 7.6.6.3 (x64 avec Java 1.8.0_401) et AOO 4.1.15 (avec Java x32 1.8.0_381), Windows 7 Édition Intégrale 64 SP1
bm92
ManitOOu
ManitOOu
Messages : 2562
Inscription : 26 nov. 2005 13:42

Re: Chiffres significatifs, précision des calculs, etc.

Message par bm92 »

Bonjour
antoin43 a écrit :Or le rapport de 2 entiers est un nombre rationnel, calc me donne 15 chiffres
Le nombre d'or calculé par calc à partir de sa formule =(1+RACINE(5))/2 est un nombre irrationnel calc me donne 14 chiffres. la différence me donne -> 28 décimales
Non, la différence n'a pas de signification car elle est du même ordre de grandeur que la précision des calculs.
Dans le fil cité je faisais référence à une page Wikipedia où on trouve:
Les calculs en virgule flottante sont pratiques, mais présentent divers désagréments, notamment :

* leur précision limitée, qui se traduit par des arrondis (dus aux opérations, ainsi qu'aux changements de base implicites, si la base est différente de 10) qui peuvent s'accumuler de façon gênante. Pour cette raison, les travaux de comptabilité ne sont pas effectués en virgule flottante, car tout doit tomber juste au centième près. En particulier, la soustraction de deux nombres très proches provoque une grande perte de précision relative : on parle de « cancellation ».
Bernard

OpenOffice.org 1.1.5 fr / Apache OpenOffice 4.1.1 / LibreOffice 5.0.5.2 (X64)
MS-Windows 7 SP1 64bits Familial
antoin43
NOOuvel adepte
NOOuvel adepte
Messages : 17
Inscription : 22 déc. 2010 16:12

Re: Chiffres significatifs, précision des calculs, etc.

Message par antoin43 »

Bonjour

Merci pour vos réponses
à Jean_louis
merci de m'indiquer Cmath, ses possibilités semblent très intéressantes, je l'ai installé mais je ne le vois que pour writer (un menu supplémentaire), il n'apparaît pas dans calc, donc je n'ai pu lire ton classeur. Il me semble avoir vu ce problème évoqué dans le forum direct de cmathooo. Cela dit je pense qu'il faudrait en discuter dans un post spécifique.

à BM92
quand je dis que la différence donne 24 décimales, je veux dire que CALC m'affiche 24 décimales, et je suis bien conscient que l'on ne peut s'y fier.
Ces affichages en nombre de chiffres différents, sans raison apparente et sans explication m'on conduit à créer ce post.

Tout à fait d'accord avec ce que tu rapportes de wikipedia mais c'est une raison supplémentaire de savoir sur quelle précision (combien de décimales) ooocalc travaille pour pouvoir calculer l'erreur possible. De plus on peut mettre -> 20 décimales dans format nombre mais quel effet sur la précision ce serait bien de le savoir. Comment jeanmimi obtient 75 décimales dans le format nombre? ooocalc ne devrait pas me donner 28 décimales pour les différences, je considère qu'il y a là un bug à corriger.
cordialement
libre office 6.4 sous windows 10
Version : 6.4.2.2 (x64)
Build ID : 4e471d8c02c9c90f512f7f9ead8875b57fcb1ec3
Threads CPU : 8; OS : Windows 10.0 Build 17763; UI Render : par défaut; VCL: win;
Locale : fr-FR (fr_FR); Langue IHM : fr-FR
Calc: threaded
Avatar de l’utilisateur
Oukcha
RespOOnsable modération
RespOOnsable modération
Messages : 3949
Inscription : 06 oct. 2008 08:03

Re: Chiffres significatifs, précision des calculs, etc.

Message par Oukcha »

Bonjour,
antoin43 a écrit :je considère qu'il y a là un bogue à corriger.
Pour rappel, ce site fait partie du projet OpenOffice.org mais en aucune façon nous ne sommes liés à l'équipe de développement ou de marketing.

Pour chercher, ouvrir, voter, ou commenter une issue, merci de consulter :
http://user.services.openoffice.org/fr/ ... ic716.html

Cordialement
                                        
Pour tout savoir sur le fonctionnement de ce forum :arrow: À lire avant tout ! Image
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 5749
Inscription : 02 janv. 2009 23:56

Re: Chiffres significatifs, précision des calculs, etc.

Message par Jean-Louis Cadeillan »

antoin43 a écrit :je l'ai installé
non tu as installé CmathOOo, une extension pour Writer
Il te faut installer CmathOOoCAS, l'extension pour Calc.
Pour rester dans le droit fil du fil, le moteur GIAC qui permet entre autres le calcul en précision arbitraire, est géré par l'extension de Calc, CmathOOoCAS. L'extension de Writer, CmathOOo, permet d'une façon très simple l'écriture mathématique mais, si CmathOOoCAS est aussi installée, alors CmathOOo permet en plus d'afficher du calcul formel et du calcul en précision arbitraire dans Writer.
A+
Jean-Louis
LibO 7.6.6.3 (x64 avec Java 1.8.0_401) et AOO 4.1.15 (avec Java x32 1.8.0_381), Windows 7 Édition Intégrale 64 SP1
bm92
ManitOOu
ManitOOu
Messages : 2562
Inscription : 26 nov. 2005 13:42

Re: Chiffres significatifs, précision des calculs, etc.

Message par bm92 »

Bonsoir,
antoin43 a écrit :quand je dis que la différence donne 24 décimales, je veux dire que CALC m'affiche 24 décimales, et je suis bien conscient que l'on ne peut s'y fier.
Ces affichages en nombre de chiffres différents, sans raison apparente et sans explication m'on conduit à créer ce post.

Tout à fait d'accord avec ce que tu rapportes de wikipedia mais c'est une raison supplémentaire de savoir sur quelle précision (combien de décimales) ooocalc travaille pour pouvoir calculer l'erreur possible. De plus on peut mettre -> 20 décimales dans format nombre mais quel effet sur la précision ce serait bien de le savoir.
Je ne peux que te renvoyer à ma réponse sur l'autre fil. Tout y est.
http://user.services.openoffice.org/fr/ ... 849#p76866
Ce qui est affiché par le tableur n'est que la représentation en base décimale d'une valeur en flottant binaire. Changer le format d'affichage ne change en rien la précision du résultat. Mettre un format avec plus de décimales que la précision peut être utile (?) pour des raisons de mise en forme.

Un tableur est un outil, il faut l'utiliser correctement en connaissant ses limites, en particulier :
  • Les erreurs de calcul s'accumulent au fil des opérations.
  • Comparer deux nombres n'a de sens que si l'écart est bien supérieur à la marge d'erreur ; par exemple, une erreur classique est de tester si un nombre est nul : en virgule flottante cela n'a pas de sens, il faut tester si le nombre est proche de zéro.
  • Un format de nombre en virgule flottante, quelque soit sa précision, n'offre qu'un nombre limité de valeurs, alors que l'ensemble des Réels contient une infinité de valeurs.
Bernard

OpenOffice.org 1.1.5 fr / Apache OpenOffice 4.1.1 / LibreOffice 5.0.5.2 (X64)
MS-Windows 7 SP1 64bits Familial
antoin43
NOOuvel adepte
NOOuvel adepte
Messages : 17
Inscription : 22 déc. 2010 16:12

Re: Chiffres significatifs, précision des calculs, etc.

Message par antoin43 »

Bonsoir
merci Jean_Louis, j'ai installé CmathOOoCAS et ça a marché.
Il ne me reste plus qu'à l'étudier.

merci bm92, il faut donc parler de la précision en nombre de bits
16 bits 65536 Le basic d'APPLE ][ gérait les entiers relatifs avec 13 bits soit la moitié en positif
32 bits 4294967296
64 bits 1,84467440737096E+019
128 bits 3,40282366920938E+038
Donc Calc est basé sur 64 bits, ce qui lui permet de gérer le signe, la mantisse et 15 chiffres significatifs

:)
libre office 6.4 sous windows 10
Version : 6.4.2.2 (x64)
Build ID : 4e471d8c02c9c90f512f7f9ead8875b57fcb1ec3
Threads CPU : 8; OS : Windows 10.0 Build 17763; UI Render : par défaut; VCL: win;
Locale : fr-FR (fr_FR); Langue IHM : fr-FR
Calc: threaded
antoin43
NOOuvel adepte
NOOuvel adepte
Messages : 17
Inscription : 22 déc. 2010 16:12

Re: Chiffres significatifs, précision des calculs, etc.

Message par antoin43 »

Bonjour
On trouvera sur ce site des remarques intéressantes concernant le thème du post :
http://christianwtd.free.fr/index.php?r ... ulImprecis
cordialement
libre office 6.4 sous windows 10
Version : 6.4.2.2 (x64)
Build ID : 4e471d8c02c9c90f512f7f9ead8875b57fcb1ec3
Threads CPU : 8; OS : Windows 10.0 Build 17763; UI Render : par défaut; VCL: win;
Locale : fr-FR (fr_FR); Langue IHM : fr-FR
Calc: threaded