数的类型

Mathematica 中建立了四种基本的数的类型.

Integer任意长度的精确整数
Rationalinteger/integer 的最简形式
Real近似实数,具有任意指定的精度
Complex具有 number+number I 形式的复数

Mathematica 中数的基本类型.

有理数是两个整数的比,化简为最简形式.
In[1]:=
Click for copyable input
Out[1]=
近似实数通过小数点来区分.
In[2]:=
Click for copyable input
Out[2]=
近似实数可以有任意的位数.
In[3]:=
Click for copyable input
Out[3]=
复数中可以有整数或有理数的成分.
In[4]:=
Click for copyable input
Out[4]=
复数中也可以有近似实数的成分.
In[5]:=
Click for copyable input
Out[5]=
123精确整数
123.近似实数
123.0000000000000具有确定精度的近似实数
123.+0.I包含近似实数成分的复数

数 123 的几种类型.

通过查看数的头可以区分在 Mathematica 中数的不同类型.(虽然 Mathematica 中的数像其他表达式一样有头,但没有明确的元素来提取它们.)

对象 被看作精确整数,它具有头 Integer.
In[6]:=
Click for copyable input
Out[6]=
小数点的出现使 Mathematica 中被处理为近似实数,它具有头 Real.
In[7]:=
Click for copyable input
Out[7]=
NumberQ[x]检验 x 是否是数
IntegerQ[x]检验 x 是否是整数
EvenQ[x]检验 x 是否是偶数
OddQ[x]检验 x 是否是奇数
PrimeQ[x]检验 x 是否是素数
Head[x]===type检验数的类型

检验不同类型的数.

NumberQ[x] 检测任何类型的数.
In[8]:=
Click for copyable input
Out[8]=
作为实数处理 Real,所以 IntegerQ 得出 False.
In[9]:=
Click for copyable input
Out[9]=

如果经常使用复数,应该注意一些微妙之处. 当输入一个数如 时,Mathematica 把它作为近似实数处理,而假定它的虚部是精确的0. 有时可能会输入虚部是具有一定精度的0,但不是精确的0的近似复数.

当虚部是精确整数 时,Mathematica 把该复数简化为实数.
In[10]:=
Click for copyable input
Out[10]=
这里虚部只是具有确定精度的0,故 Mathematica 保持它为复数形式.
In[11]:=
Click for copyable input
Out[11]=

区分虚部是精确的0的复数和虚部是具有一定精度的0的复数,似乎太学究气了. 但是,例如,当我们在"多值函数" 中讨论复数的幂和根的解释时,这个区别就很有意义了.

Mathematica 中确定数的类型的一种方法是使用 Head[expr] 来找出它的头. 然而,在许多情况下,最好使用函数如IntegerQ,它明确地检测特定的类型. 当这些函数的参数是所需类型时,该函数设置返回 True,否则,返回 False. 因此,除非 是一个整数,否则,IntegerQ[x] 将返回 False.

New to Mathematica? Find your learning path »
Have a question? Ask support »