SetPrecision
SetPrecision[expr,p]
将 expr 中所有数设置为具有精确度 p.
更多信息
- 当使用 SetPrecision 来提高一个数的精确度时,该数将用 0 填充. 0 采用以 2 为基. 在以 10 为基时,其它数位通常不是 0.
- 即便所得到的有效数位比 $MachinePrecision 小,SetPrecision 仍返回一个任意精度的数.
- SetPrecision[expr,MachinePrecision] 把所有在 expr 的数转变为机器精度.
- 如果有太大或太小的数来表示机器精度数,SetPrecision[expr,MachinePrecision] 将把他们转变为精度为 $MachinePrecision 的任意精度数.
- 当 expr 包含机器精度的数时,在不同计算机系统上 SetPrecision[expr,p] 可以给出不同的结果.
- SetPrecision 首先打开一个数的内部二进制表示中所有隐藏的特殊数位,且只有用完这些之后才添加尾数 0. »
- 在任何计算机系统上 0.004``25 生成一个所有末尾数字为 0,精度为 25 的数.
- SetPrecision[expr,p] 不修改 expr 本身.
范例
打开所有单元关闭所有单元范围 (5)
SetPrecision 不影响明确的幂:
对于一个 InterpolatingFunction 对象,SetPrecision 仅改变适当的数据:
应用 (4)
属性和关系 (5)
当选择相应的 N,SetPrecision 仅设置数的精度:
因为选择相应的 N,结果有所需要的 20 位准确度:
用 SetPrecision:
SetPrecision 计算 Sin,其中参数 1000 精度为 20:
N 一般不提高表达式的精度,但 SetPrecision 相反:
对于非零数 ,SetPrecision[x,p] 等价于 SetAccuracy[x,p-e]:
由 RealExponent 给出:
SetPrecision[x,∞] 和 Rationalize[x,0] 给出实数 x 的有理近似值:
Rationalize[x,0] 给出一个等价于 x 有理数,它有 x 的精度:
SetPrecision[x,∞] 从 x 的按位表示直接获得一个有理式:
SetPrecision[x,∞] 和 RootApproximant[x] 给出关于实数 x 的明确近似值:
RootApproximant[x] 给出等价于 x 的代数数,它有 x 的精度:
SetPrecision[x,∞] 从 x 的按位表示直接获得一个有理式:
可能存在的问题 (1)
SetPrecision[z,prec] 对于关于近似零 z 给出明确的零:
如果您需要一个近似零,用 SetAccuracy:
这对于 prec 是 MachinePrecision 例外,您获得一个机器零:
文本
Wolfram Research (1991),SetPrecision,Wolfram 语言函数,https://reference.wolfram.com/language/ref/SetPrecision.html (更新于 2003 年).
CMS
Wolfram 语言. 1991. "SetPrecision." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2003. https://reference.wolfram.com/language/ref/SetPrecision.html.
APA
Wolfram 语言. (1991). SetPrecision. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/SetPrecision.html 年