IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
logo
Sommaire > Nombres
        Comment approximer un résultat exact ?
        Comment changer de base ?
        Comment extraire les chiffres d'un nombre ?
        Comment préciser l'erreur dans une variable ?
        Comment définir des intervalles ?
        Comment arrondir un nombre ?
        Comment rendre exact un nombre ?





Comment approximer un résultat exact ?
Création le 17/07/2011 [haut]
auteur : Thibaut Cuvelier
On utilise à cet effet la fonction N[] :
In[1]:= N[1/3]
Out[1]= 0.333333
In[2]:= N[1/3, 10]
Out[2]= 0.3333333333
On peut l'utiliser en suffixe d'une expression :
In[3]:= Sqrt[42] // N
Out[3]= 6.48074
On peut toujours définir la précision à ce moment :
In[4]:= Sqrt[42] // N[#, 10] &
Out[4]= 6.480740698

Comment changer de base ?
Création le 17/07/2011 [haut]
auteur : Thibaut Cuvelier
On peut utiliser la notation base^^chiffres pour convertir un nombre d'une base donnée dans la notation décimale habituelle :
In[20]:= 2^^101010
Out[20]= 42
Mathematica supporte les bases jusque 36, en utilisant les lettres A à Z pour les chiffres après 9.


Comment extraire les chiffres d'un nombre ?
Création le 17/07/2011 [haut]
auteur : Thibaut Cuvelier
La fonction IntegerDigits[] extrait les chiffres d'un nombre passé en argument (en base décimale) sous forme de liste.
In[23]:= IntegerDigits[42]
Out[23]= {4, 2}
A contrario, RealDigits[] retourne une liste à deux éléments : le premier est une liste contenant les chiffres, l'autre est la position de la virgule décimale.
In[25]:= RealDigits[N[Pi]]
Out[25]= {{3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9, 3}, 1}
On peut aussi passer une base en paramètre :
In[26]:= IntegerDigits[42, 16]
Out[26]= {2, 10}

Comment préciser l'erreur dans une variable ?
Création le 17/07/2011 [haut]
auteur : Thibaut Cuvelier
On travaille dans ce cas avec des intervalles :
In[31]:= Interval[{1.42 - 10^-5, 1.42 + 10^-5}]
Out[31]= Interval[{1.41999, 1.42001}]]
Des calculs sur ce genre d'expression auront pour résultat un intervalle, Mathematica s'occupant de gérer les deux bornes en fonction des opérations subies.
In[32]:= % + 1
Out[32]= Interval[{2.41999, 2.42001}]

Comment définir des intervalles ?
Création le 17/07/2011 [haut]
auteur : Thibaut Cuvelier
On utilise la fonction Interval[].
In[34]:= Interval[{1.42 - 10^-5, 1.42 + 10^-5}]
Out[34]= Interval[{1.41999, 1.42001}]
Cependant, cette fonction peut stocker des intervalles non consécutifs :
In[35]:= Interval[{1, 2}, {8, 9}]
Out[35]= Interval[{1, 2}, {8, 9}]
Si les paramètres ne sont pas dans l'ordre croissant, Mathematica les réordonnera :
In[36]:= Interval[{22, 12}, {10, 9}]
Out[36]= Interval[{9, 10}, {12, 22}]

Comment arrondir un nombre ?
Création le 17/07/2011 [haut]
auteur : Thibaut Cuvelier
On dispose de plusieurs fonctions : Floor[], qui renvoie l'arrondi inférieur ; Ceiling[], l'arrondi supérieur ; Round[], l'arrondi à l'entier le plus proche.
In[46]:= Floor[42/15]
Out[46]= 2
In[47]:= Ceiling[42/15]
Out[47]= 3
In[48]:= Round[42/15]
Out[48]= 3

Comment rendre exact un nombre ?
Création le 17/07/2011 [haut]
auteur : Thibaut Cuvelier
Il n'est pas possible de récupérer les décimales perdues ; par contre, Mathematica peut rendre une version exacte d'un nombre suffisamment proche du nombre à exprimer sous la forme d'un rationnel. On peut spécifier cette tolérance, même demander à Mathematica de donner une expression rationnelle exacte avec une tolérance nulle.
In[49]:= Rationalize[3.14159]
Out[49]= 314159/100000
In[50]:= Rationalize[3.14159, 10^-3]
Out[50]= 201/64
In[51]:= Rationalize[3.14159, 0]
Out[51]= 314159/100000

Copyright © 2011 Thibaut Cuvelier. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.