Mathematica 9 is now available
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.
Mathematica > 数学和算法 > 数值计算和精度 > N >

N

N[expr]
给出 expr 的数值值.
N
尝试给出具有 n 位精度的结果.
  • 除非 expr 中的数是精确的,或者具有足够高的精度,否则 N 可能无法给出具有 n 位精度的结果.
  • N 可能在内部计算时会超过 n 位精度.
  • 精度 n 以 10 进制数给出;它不必是一个整数.
  • N 给出具有机器精度的数 .
  • N 把它所遇到的任何函数的每个参数依次转换成数值形式,除非该函数的头具有一个诸如 NHoldAll 的属性.
  • 你可以使用 N[f[args]]:=valueN[f[args], n]:=value 来定义函数的数值值.
  • N 尽可能产生精度最多 p、准确度最多 a 的结果.
  • N[expr, {Infinity, a}] 尽可能产生准确度 a 的结果.
  • N[expr, {Infinity, 1}] 尽可能求出 expr 整数部分的近似值.
数值运算:
50 位精度的数值运算:
队机器精度的输入,结果总是机器精度:
对精确的输入,结果可以达到指定的精度:
数值运算:
In[1]:=
Click for copyable input
Out[1]=
 
50 位精度的数值运算:
In[1]:=
Click for copyable input
Out[1]=
 
队机器精度的输入,结果总是机器精度:
In[1]:=
Click for copyable input
Out[1]=
对精确的输入,结果可以达到指定的精度:
In[2]:=
Click for copyable input
Out[2]=
将数学常数计算到任意精度:
大型整数的近似值:
复数结果:
NumericQ 可以检验更复杂一些的符号式数学常量:
在通常情况下,NumericQ 表达式表示可以计算到任意精度的数:
数值计算矩阵元:
数值计算符号表达式的数值部分:
将多项式系数变为数值值:
N[e] 通常用机器数替代并计算结果:
这等价于机器数的表达式:
在差商误差的对数-对数图上可清楚显示机器舍入误差:
p 不是 MachinePrecision 时,N 用任意精度数自适应地进行计算:
用自适应精度,差商误差与理论值匹配:
自适应精度控制对超额精度有一个默认的界限,$MaxExtraPrecision
达到界限时,您可以增加 $MaxExtraPrecision 来解决问题:
N 不会提高输入中近似数的精度:
结果的精度和输入相同:
您可以用 SetPrecision 增加输入表达式的精度:
N 不会影响明确的数值幂:
但会改变底数:
如果幂不是 NumericQ,它会改变:
SparseArray 对象的处理是以所表示的数组为基础的:
通常,N[Normal[s]] 恒等于 Normal
类似 InterpolatingFunction 的数据对象有特定的规则以使得仅仅数据受到影响:
仅对相关的数据做了改变,新函数用机器数:
类似 Integrate 的运算适当时用相应 N-函数:
下面用 NIntegrate
对于较高的精度需求,数值算法花费较多的时间或需要调整:
在这个例子中,直接使用 NIntegrate 或许更好一些:
对多数表达式,N 影响 FullForm 形式中的树:
出现在 之前起因于 的表示方式:
中的整数转换为机器数:
NHoldAll 属性避免一个加指标变量受到 N 的影响:
此时 N 仅影响系数:
若没有这个设置, N 同时影响到指标:
定义一个等于 的数值常量:
在精确符号表达式中,常量不计算:
N 中则计算:
加一个对任意精度或准确度都适用的定义:
以准确度 20 数值计算一个表达式:
定义一个函数,表示实数根 ,其中 为正, 为正整数:
NHoldRest 避免它的第二个自变量转换为实数:
2 的立方根的精确表示:
机器数近似值:
47 位数的近似值:
定义一个数据对象,以稀疏形式 表示一个多项式
注意要确保 N 仅影响系数,而不是幂:
要使规则有效,需要阻止默认对参变量的 N 计算:
多项式 的表示:
获得具有近似实数系数的表示:
处的计算:
5 位数准确度和任意精度:
1 位准确度,仅对应整数部分:
获得 20 位精度或 30 位准确度:
N[e] 的结果通常有精度 MachinePrecision
如果结果对于机器数来说过大,精度可能不同:
N 的结果通常有 Precision 等于 p
如果不能达到, Mathematica 将给出信息:
通常增加 $MaxExtraPrecision 将解决这个问题:
对于隐藏的零,不能达到正精度,因此您需要使用准确度:
N 的结果通常有 Accuracy 等于 a
如果不能达到, Mathematica 将给出信息:
通常增加 $MaxExtraPrecision 将解决这一问题:
的位数的一个展示:
版本 1 的新功能 | 版本 5 修改功能
Ask a question about this page  |  Suggest an improvement  |  Leave a message for the team
格式:   HTML  |  CDF