FAQ Mathematica

FAQ MathematicaConsultez toutes les FAQ
Nombre d'auteurs : 1, nombre de questions : 30, dernière mise à jour : 16 juin 2021

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
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.
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
}
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
}]
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
}]
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
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