N
更多信息
- 除非 expr 中的数是精确的,或者具有足够高的精度,否则 N[expr,n] 可能无法给出具有 n 位精度的结果.
- N[expr,n] 可能在内部计算时会超过 n 位精度.
- $MaxExtraPrecision 指定将会在内部使用到的最大超额精度.
- 精度 n 以 10 进制数给出;它不必是一个整数.
- n 必须在 $MinPrecision 和 $MaxPrecision 之间. $MaxPrecision 可以被设置为 Infinity.
- n 可以小于 $MachinePrecision.
- N[expr] 给出一个机器精度数,只要它的大小在 $MinMachineNumber 和 $MaxMachineNumber 之间.
- N[expr] 等价于 N[expr,MachinePrecision].
- N[0] 给出具有机器精度的数 0..
- N 将所有非零数转化为 Real 或 Complex 形式.
- N 把它所遇到的任何函数的每个参数依次转换成数值形式,除非该函数的头具有一个诸如 NHoldAll 的属性.
- 你可以使用 N[f[args]]:=value 和 N[f[args],n]:=value 来定义函数的数值值.
- N[expr,{p,a}] 尽可能产生精度最多 p、准确度最多 a 的结果.
- N[expr,{Infinity,a}] 尽可能产生准确度 a 的结果.
- N[expr,{Infinity,1}] 尽可能求出 expr 整数部分的近似值.
范例
打开所有单元关闭所有单元范围 (20)
数学常数 (4)
机器精度和相应精度 (4)
N[e] 通常用机器数替代并计算结果:
当 p 不是 MachinePrecision 时,N[e,p] 用任意精度数自适应地进行计算:
自适应精度控制对超额精度有一个默认的界限,$MaxExtraPrecision:
达到界限时,您可以增加 $MaxExtraPrecision 来解决问题:
N 不会提高输入中近似数的精度:
您可以用 SetPrecision 增加输入表达式的精度:
数据对象和特定规则 (5)
N 不会影响明确的数值幂:
如果幂不是 NumericQ,它会改变:
对 SparseArray 对象的处理是以所表示的数组为基础的:
通常,N[Normal[s]] 恒等于 Normal[N[s]]:
类似 InterpolatingFunction 的数据对象有特定的规则以使得仅仅数据受到影响:
下面用 NIntegrate:
在这个例子中,直接使用 NIntegrate 或许更好一些:
属性和关系 (3)
N[e] 的结果通常有精度 MachinePrecision:
通常增加 $MaxExtraPrecision 将解决这个问题:
N[e,{∞,a}] 的结果通常有 Accuracy 等于 a:
通常增加 $MaxExtraPrecision 将解决这一问题:
文本
Wolfram Research (1988),N,Wolfram 语言函数,https://reference.wolfram.com/language/ref/N.html (更新于 2003 年).
CMS
Wolfram 语言. 1988. "N." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2003. https://reference.wolfram.com/language/ref/N.html.
APA
Wolfram 语言. (1988). N. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/N.html 年