Page 1 sur 1
bug tableur valeur fausse
Publié : dim. oct. 17, 2010 12:44 pm
par debimax
bonjour
je teste le tableur d'xcas pour créer un tableau de valeurs de la fonction g(x)=-5x^2+10x+15 de 0 à 3 avec un pas de 0.2.
en A0 0
B0 =A0+0.2 j'étire jusqu'en P0
En A1 =-5*A0+10*A0+15 et j'étire jusqu'en P1 et j'obtiens comme sur l'image ci-dessous
Si je remplace la celulle NO par le nombre 2.6 et P0 par 3 j'obtiens bien 7.2 en N1 et 0 en P1
edit: J'allais oublier
giac:
Installé : 0.9.0-2
sous debian sid
Re: bug tableur valeur fausse
Publié : dim. oct. 17, 2010 1:57 pm
par alb
Avec un pas de 0.2 tu obtiens des valeurs approchées (précision de cfg du cas) d'où en P3 la valeur 1.00044417195e-11
Je propose deux variantes:
-Prendre un pas de 1/5 pour obtenir les valeurs exactes ou
-Faire =round(-5*(A0)^2+10*A0+15,1) en A1 pour obtenir des valeurs à 0.1 près.
Re: bug tableur valeur fausse
Publié : dim. oct. 17, 2010 4:10 pm
par parisse
En effet, comme on calcule en base 2, on peut vérifier la taille de l'erreur de calcul
(0.2+0.2+0.2+0.2+0.2+0.2+0.2+0.2+0.2+0.2+0.2+0.2+0.2+0.2+0.2)-3
qui renvoie environ -5e-13. Ensuite comme on multiplie par 10, et avec -5*x^2, c'est normal qu'on ait une erreur en e-11.
Sinon une remarque: dans le tableur, on peut avoir le tableau de valeur d'une fonction (dans une colonne) rapidement avec le menu Tableur->Math->Fonction.
Re: bug tableur valeur fausse
Publié : dim. oct. 17, 2010 4:14 pm
par debimax
merci beaucoup
c'est cependant surprenant d'avoir une telle erreur. J'imagine un élève devant ce pbm.
Quoique il serait intéressant de voir un élève de seconde confronté à ce type de pbm.
J'avais vu pour le tableau de valeurs mais je voulais juste garder la même méthode qu'avec OOO et le tableur de geogebra.
Re: bug tableur valeur fausse
Publié : dim. oct. 17, 2010 4:24 pm
par parisse
c'est surprenant parce qu'on est habitué à travailler en base 10, et pas en base 2 (et de surcroit parce que les calculatrices travaillent aussi en base 10). Mais évidemment 1/5 n'est pas représentable exactement en base 2, au même titre que 1/3 n'est pas représentable en base 10. Ensuite c'est juste la répétition d'une erreur 15 fois dans le même sens puis amplifié par multiplication par 10.
Re: bug tableur valeur fausse
Publié : dim. oct. 17, 2010 4:39 pm
par debimax
Excusez moi pour cette boulette

En fait les cases n'étaient pas assez large et je lisais comme sur l'image 1.000444 à la place de 0 mais je ne voyais pas le e-11 à la fin ce qui me faisais penser à un bug.
meaculpa , excusez moi encore je comprend mieux.
Re: bug tableur valeur fausse
Publié : dim. oct. 17, 2010 5:53 pm
par alb
Je dois avouer que j'ai dû faire cette erreur plusieurs fois: on cherche, on cherche puis on se décide à élargir la colonne et

Pour expliquer les arrondis aux élèves sans parler de base, il me semble qu'on peut considérer un calculateur qui ne garderait que 10 chiffres après la virgule. On lui demande de calculer:
3*(1/3)-1 et il répond -0.0000000001 car pour lui:
3*(1/3)-1=3*0.3333333333-1=0.9999999999-1=-0.0000000001 (là je m'adresse à un élève de seconde)
Je leur parle ensuite de Xcas en leur demandant de tester en même temps que je parle:
on peut faire confiance au résultat de 3*1/10-3/10
tandis que 3*0.1-0.3 dépend du nombre de chiffres significatifs choisis. (voir Digits dans l'aide)
Parfois un petit malin me dit: "je fais 0.25-4*0.0625 avec n'importe quel nombre de chiffres significatifs et c'est toujours 0"
Bon, on verra ça demain ! ou l'année prochaine ...
Dans ces situations je repense à mon prof de philo de terminale, marxiste tendance Groucho, à la fin d'un cours:
"Puisqu'il nous reste 5 minutes nous allons parler de Dieu".
Re: bug tableur valeur fausse
Publié : dim. oct. 17, 2010 6:30 pm
par parisse
Ca amène la question: faut-il augmenter la taille par défaut des colonnes du tableur en fonction de Digits?
Re: bug tableur valeur fausse
Publié : dim. oct. 17, 2010 7:27 pm
par alb
Cela parait souhaitable, là où le prof bute, l'élève chute.
C'est probablement dû au fait que sur les autres tableurs on est prévenu du dépassement ou bien le nombre de digits est fonction de la largeur (je viens de vérifier avec OOo)