Aller au contenu

nombre irrationnel et la machine


tricephale

Messages recommandés

Membre, 56ans Posté(e)
tricephale Membre 1 650 messages
Baby Forumeur‚ 56ans‚
Posté(e)

Bonjour

il me semble avoir compris qu'un nombre irrationnel a après la virgule un nombre infini de chiffres

prenons un inventeur de machine ; celui-ci fait des calculs où rentrent en compte des nombres irrationnels ( pi par exemple )

à un moment il faudra bien que notre inventeur pour finaliser dans le concret sa machine , donne à pi une valeur tronquée ( il ne prendra qu'un certain nombre de chiffres après la virgule ) ; il construit donc sa machine et elle fonctionne.

ma question est : comment en prenant une valeur approximative de pi, on arrive à construire une machine qui fonctionne

on peut aussi se poser la question des calculs en physique qui prennent des libertés avec l'exactitude et qui font de l'approximation

Lien à poster
Partager sur d’autres sites

Annonces
Maintenant
Membre, Posté(e)
-X9- Membre 780 messages
Baby Forumeur‚
Posté(e)

Définition :

Un nombre irrationnel est un nombre réel qui n'est pas rationnel, c'est-à-dire qu'il ne peut pas s'écrire sous la forme d'une fraction ab, où a et b sont deux entiers relatifs (avec b non nul).

1/3 a un nombre infini de chiffres après la virgule mais est rationnel (0,3333333...333...).

Lien à poster
Partager sur d’autres sites

Membre, Posté(e)
Wipe Membre 4 815 messages
Baby Forumeur‚
Posté(e)

Réponse simple : la machine va fonctionner à peu près; ce qui est largement suffisant, le plus souvent. En plus de ça, les machines qu'on construit sont le plus souvent construite suivant la physique de Newton, qui n'est elle même qu'une approximation de la réalité; comme le sont par essence toutes les théories.

Au final, faute de pouvoir mesurer parfaitement les imperfections, la machne semblera fonctionner parfaitement.

1/3 a un nombre infini de chiffres après la virgule mais est rationnel (0,3333333...333...).

Bonne remarque. La vraie façon de reconnaitre les rationnels, c'est que la partie qui suit la virgule est composée d'une même séquence se répétant à l'infini : 1,123123123... ou 2,951753951753951753.... sont donc tout deux des rationnels.

Lien à poster
Partager sur d’autres sites

Invité
Invités, Posté(e)
Invité
Invité Invités 0 message
Posté(e)

Bonjour,

effectivement, cela pourrait être un problème. En fait ce n'en est pas un (enfin, ça arrive mais ce sont des cas exceptionnels). Lorsque l'on fait de la simulation, les chiffres après la virgule sont au nombre de 16, c'est à dire que l'on arrive à avoir 16 ordres de grandeurs entre ce que l'on utilise pour la simulation et les erreurs dues à la rationalité obligatoire des variables utilisées (on appelle ça l'erreur de troncature). 16 ordres de grandeur, pour info, c'est le rapport de taille (approximatif) entre un atome et la distance Paris/Lille... Pour la météo (par exemple), vu les échelles résolues (de l'ordre de la dizaine de mètres), on se fout un peu de savoir que l'air a bougé d'un atome vers la droite ou vers la gauche ;-)

Bref, tout ça pour dire que sauf cas exceptionnels (en chimie par exemple mais bref), l'ordre de grandeur de l'erreur est tellement faible qu'elle est tout à fait négligeable ;-)

Lien à poster
Partager sur d’autres sites

Membre, Posté(e)
Wipe Membre 4 815 messages
Baby Forumeur‚
Posté(e)

Tiens, ça me fait penser à l'histoire du bug du pentium : http://fr.wikipedia.org/wiki/Bug_de_la_division_du_Pentium

Là, les divisions étaient carrément fausses; mais malgré tout le résultat était assez proche pour que ça passe totalement inaperçu dans l'énorme majorité des cas.

Lien à poster
Partager sur d’autres sites

Invité
Invités, Posté(e)
Invité
Invité Invités 0 message
Posté(e)

Plus récent que ça, c'est arrivé il y a peu sur les compilos intel dans certains (rares) cas avec la racine carrée..(en plus ils se sont plantés sur wikipedia, l'erreur n'est pas de 61ppm mais de 6100 ppm, j'ai corrigé).

Lien à poster
Partager sur d’autres sites

Membre, Posté(e)
hlbnet Membre 4 messages
Baby Forumeur‚
Posté(e)

Bonjour,

Pas besoin d'aller chercher les nombres irrationnels : vu que la machine code les nombres réels en utilisant un nombre fini de bits (souvent 64 bits), les nombres réels sont presque toujours tronqués !

Par exemple, le nombre 0.4 (zéro virgule quatre) ne peut pas être stocké exactement dans un "double" (format binaire "à virgule flottante" sur 64 bits).

Lorsqu'on enchaîne des calculs, les imprécisions se cumulent ... et on peut très vite obtenir n'importe quoi !

Par exemple, le programme Java suivant affiche une suite numérique dont les valeurs sont entre 0 et 1.

A partir de la 50ième itération, les valeurs sont totalement fausses pourtant, ça fait seulement 100 multiplications et 50 soustractions.

Pour s'en rendre compte, il faut refaire le calcul avec une meilleure précision (par exemple, utiliser des BigDecimal Java).

public class Suite
{
   static double UN = 1.0d;
   static double K = 4.0d;

	static double next( double n ) { return K*n*(UN-n); }

	public static void main( String[] args )
	{
       double n = 0.4d;
       for ( int i = 0; i < 100; i++ )
       {
           System.out.println( "n("+ i +")="+ n );
           n = next( n );
       }
   }
}

Lien à poster
Partager sur d’autres sites

Annonces
Maintenant

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×