Mathematica > 数学和算法 > 数值计算和精度 > 精度和准确度控制 > SetPrecision >

SetPrecision

SetPrecision
中所有数设置为具有精确度 p,并返回 expr.
  • 当使用 SetPrecision 来提高一个数的精确度时,该数将用 0 填充. 0 采用以 2 为基. 在以 10 为基时,其它数位通常不是 0.
  • expr 包含机器精度的数时,在不同计算机系统上 SetPrecision 可以给出不同的结果.
  • SetPrecision 首先打开一个数的内部二进制表示中所有隐藏的特殊数位,且只有用完这些之后才添加尾数 0.  »
  • 在任何计算机系统上 生成一个所有末尾数字为 0,精度为 25 的数.
将表达式中所有数的精度设置为 20:
将所有数转换为机器精度:
从机器精度数转换为任意精度数:
将表达式中所有数的精度设置为 20:
In[1]:=
Click for copyable input
Out[1]=
 
将所有数转换为机器精度:
In[1]:=
Click for copyable input
Out[1]=
 
从机器精度数转换为任意精度数:
In[1]:=
Click for copyable input
Out[1]=
设置复数的精度:
将近似数转换为明确的有理数:
如果显示隐藏数字,结果有尾部零:
SetPrecision 不影响明确的幂:
这允许您例如改变多项式系数的精度:
修改不明确的幂:
特定规则将应用到数据对象中:
对于一个 InterpolatingFunction 对象,SetPrecision 仅改变适当的数据:
它类似一个近似函数,但有新的精度:
在机器数的表达式计算中,求出舍入的误差:
因为增量太小,所有这主要造成了近似误差:
求出一个机器数的误差表示:
误差小,这是因为它接近机器数
相近的机器数之间的距离是 2 的幂:
在微分方程中,提高系数的精度来检测误差:
求出机器精度和精度 32 下计算的解:
绘制两个解,它们在 处偏离,指明重大误差:
屏蔽缺省的准确度和精度:
下面丢失精度比缺省下要慢,它认为操作都是独立的:
尽管如此,所有数字是正确的:
调整每次迭代的数位丢失,因为映射实际上是一个位移映射:
当选择相应的 NSetPrecision 仅设置数的精度:
因为选择相应的 N,结果有所需要的 20 位准确度:
因为正弦函数在 1000 的调整,所以精度度小于 20:
SetPrecision 计算 Sin,其中参数 1000 精度为 20:
N 一般不提高表达式的精度,但 SetPrecision 相反:
对于非零数 SetPrecision 等价于 SetAccuracy
RealExponent 给出:
SetPrecisionRationalize 给出实数 x 的有理近似值:
Rationalize 给出一个等价于 x 有理数,它有 x 的精度:
SetPrecisionx 的按位表示直接获得一个有理式:
SetPrecisionRootApproximant[x] 给出关于实数 x 的明确近似值:
RootApproximant[x] 给出等价于 x 的代数数,它有 x 的精度:
SetPrecisionx 的按位表示直接获得一个有理式:
SetPrecision 对于关于近似零 z 给出明确的零:
如果您需要一个近似零,用 SetAccuracy
这对于 precMachinePrecision 例外,您获得一个机器零:
版本 2 的新功能 | 版本 5 修改功能
Ask a question about this page  |  Suggest an improvement  |  Leave a message for the team
格式:   HTML  |  CDF