Matraquage de la touche cos sur calculette
Olympiades mathématiques, énigmes et défis
-
ffpower
- Membre Complexe
- Messages: 2542
- Enregistré le: 13 Déc 2007, 05:25
-
par ffpower » 07 Fév 2010, 15:34
Bonjour,
Vous étiez vous déja amusé sur une calculette scientifique basique, à écrire un nombre puis appuyer plein de fois d affilé sur la touche "cos" ( en mode radians disons )? Peu importe le nombre que l'on prend au départ, quand on appuit un certain nombre de fois sur la touche, la calculette finit toujours par afficher le même nombre, 0.739 et des poussieres..
Veuillez expliquer ce phénomene, en n'omettant pas le fait que la calculatrice effectue des arrondis :lol5:
-
Ben314
- Le Ben
- Messages: 21561
- Enregistré le: 11 Nov 2009, 22:53
-
par Ben314 » 07 Fév 2010, 15:56
Elle a beau faire autant d'arrondi qu'elle veut (elle peut même faire des erreurs de calculs au début), comme la solution L de cos(x)=x représente un point fixe attractif (car |cos'(L)|cos(x) est lipchitzienne de rapport q<1 sur [-1,1] (i.e. |cos'(x)|<q) et de conclure en appliquant le théorème des accroissements finis : |cos(x)-cos(L)|<q|x-L|...
Qui n'entend qu'un son n'entend qu'une sonnerie. Signé : Sonfucius
-
ffpower
- Membre Complexe
- Messages: 2542
- Enregistré le: 13 Déc 2007, 05:25
-
par ffpower » 07 Fév 2010, 16:04
C'est l'idée, mais ca demande quelques précisions. Si par exemple j ai une calculette pourrie qui fait des arrondis au 1/10, ca peut ne pas stationner :we:
-
Ben314
- Le Ben
- Messages: 21561
- Enregistré le: 11 Nov 2009, 22:53
-
par Ben314 » 07 Fév 2010, 16:18
Je pense que, dans ce cas, il est possible que l'affichage "cycle" sur deux valeurs a et b qui différent de 0,1, c'est dire que la machine donne cos(a)=b puis cos(b)=a.
Ca risque de dépendre de la façon dont elle fait les calculs (donne t'elle l'arrondi au plus proche de la valeur exacte de cos(x) ?)
Qui n'entend qu'un son n'entend qu'une sonnerie. Signé : Sonfucius
-
ffpower
- Membre Complexe
- Messages: 2542
- Enregistré le: 13 Déc 2007, 05:25
-
par ffpower » 07 Fév 2010, 16:36
J'ai fait expres de ne donner aucune précisions dans mon 1er post pour laisser le lecteur faire sa propre modélisation..Maintenant donc, soyons plus précis( mais je blanchis pour ceux qui ne veulent pas voir )...
(On va dire que la calculette est de précision e (qui est théoriquement une puissance de 10, ou alors c est bizarre, mais on s en fiche de toute façon ) si quand on lui donne un nombre x (décimal), et qu'on appuie sur cos la calculatrice nous renvoie un nombre y ( décimal ) tel que |y-cos(x)|<e ( mais on ne sait rien de comment elle fait son arrondi..
Il faut montrer que pour e petit ( raisonnablement pour une calculette, pas du 10^(-10^10) ^^) , la suite qu on obtient en matraquant cos stationne..)
Ceci est ma propore modélisation, on doit pouvoir faire des variantes ( sur la manière d arrondir par exemple ) mais ca ne doit pas changer grand chose au probleme..
-
Ben314
- Le Ben
- Messages: 21561
- Enregistré le: 11 Nov 2009, 22:53
-
par Ben314 » 07 Fév 2010, 17:06
Je pense qu'avec la modélisation que tu donne, on peut avoir... n'importe quoi : le fait que l'affichage de la calculette soit "un décimal y tel que |y-cos(x)|<e" de défini pas un unique y donc si on ne sait rien sur la calculette, elle pourait être "non déterministe", c'est à dire donner deux résultat différents quand on lui demande deux fois le même calcul.
Dans ce cas, il est évident que la suite n'est pas forcément stationnaire.
Pour que ta machine soit "déterministe", il faudrait par exemple qu'elle donne comme résultat de cos(x) l'unique y multiple de e tel que -e/2<y-cos(x)<=+e/2.
P.S. Le comportement que je décrit d'une machine à calculer "non déterministe" est trés proche des vrais machines à calculer car elles calculent 12 ou 13 chiffres mais n'en affichent que 10 donc il est possible que deux affichages identiques ne donnent pas le même résultat lorsque l'on appuie sur la touche d'une certaine fonction...
Qui n'entend qu'un son n'entend qu'une sonnerie. Signé : Sonfucius
-
ffpower
- Membre Complexe
- Messages: 2542
- Enregistré le: 13 Déc 2007, 05:25
-
par ffpower » 07 Fév 2010, 17:34
Hum, tu as raison..Enfin ca ne fera pas n'importe quoi non plus, seule la derniere décimale risquerait d osciller entre 2 . Mais justement du coup, en rajoutant dans la modélisation que la caclculette cache la derniere décimale, ca regle le probleme..
Edit : Je n en suis même plus si sur en fait..Je croyais avoir fait le tour de la question, mais finalement je doute...
-
nodgim
- Habitué(e)
- Messages: 2002
- Enregistré le: 27 Jan 2008, 11:21
-
par nodgim » 07 Fév 2010, 18:18
Ma petite casio, si j'ai le malheur de taper un nombre de 11 chiffres, elle me laisse faire mais ignore le 11ème chiffre. C'est bien quand vous faites des divisions pour connaitre la divisibilité!
-
ffpower
- Membre Complexe
- Messages: 2542
- Enregistré le: 13 Déc 2007, 05:25
-
par ffpower » 07 Fév 2010, 19:03
Je viens en tout cas de vérifier la partie "mathématiques", que je peux par exemple exprimer ainsi :
Si
, et si
est une suite de réels vérifiant
, alors pour n assez grand,
, ou
est le point fixe de cos.
Je pense que cet argument doit permettre de conclure. Mais comment modéliser la calculette correctement pour ce faire ( je m'embrouille dans tous les sens sur les arrondis là :marteau: )
-
Ben314
- Le Ben
- Messages: 21561
- Enregistré le: 11 Nov 2009, 22:53
-
par Ben314 » 07 Fév 2010, 19:28
Vu que les "vrais calculettes" cachent des chiffres (en général 2) et que leur précision est meilleure que les deux chiffres qu'elles cachent, ton résultat est parfaitement valable.
Je me rappelle de l'Apple II (précision pas énorme et surtout, comme un con, il affichait tout ce qu'il avaic calculé !!!) qui, quand on lui demandait : PRINT 5*0.2 - 1
ne répondait pas 0 (because il calculait évidement en base 2 et que 1/5=0.2(base 10) a une infinité de chiffre aprés la virgule en base 2)
par contre PRINT 2*0.5 - 1 donnait bien 0...
Qui n'entend qu'un son n'entend qu'une sonnerie. Signé : Sonfucius
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 18 invités