数字

使用变化而变化的精度

描述

数字(d设置由所使用的精度VPAd显著十进制数字。默认值是32位。

D1=数字返回由当前使用的精度VPA

D1=位数(d设置新的精度d并返回旧精度D1

例子

增加结果的精度

默认情况下,MATLAB®使用的精度16位。对于更高的精度,使用VPA。默认精度VPA是32位。通过使用增加的精度超过32个位数数字

PI运用VPA,它使用默认32位精度。确认当前精度为32通过使用数字

pi32 = VPA(PI)
pi32 = 3.1415926535897932384626433832795
currentPrecision =位数
currentPrecision = 32

保存的当前值数字digitsOld并设置新的精度100数字。找PI运用VPA。结果有100位。

digitsOld =数字(100);pi100 = VPA(PI)
pi100 = 3.1415926535897932384626433832795028841971693993751058209 ... 74944592307816406286208998628034825342117068

注意

VPA输出是象征性的。采用与不接受的符号值的MATLAB函数符号输出,通过使用符号值转换为双精度

最后,恢复的旧值数字为进一步计算。

数字(digitsOld)

欲了解更多信息,请参阅增加数字计算的精度

提高速度通过降低精

通过使用MATLAB提高计算速度VPA具有较低的精度。通过设置较低的精度数字

首先,找到一个大的输入执行操作所花费的时间。

输入= 1:0.01:500;抽动ζ电(输入);TOC
经过时间是48.968983秒。

现在,通过使用重复操作以较低的精度VPA。降低精度10通过使用数字数字。然后,使用VPA减少的精度输入和执行相同的操作。所用的时间显著下降。

digitsOld =位(10);vpaInput = VPA(输入);抽动ζ电(vpaInput);TOC
经过时间是31.450342秒。

注意

VPA输出是象征性的。采用与不接受的符号值的MATLAB函数符号输出,通过使用符号值转换为双精度

最后,恢复的旧值数字为进一步计算。

数字(digitsOld)

欲了解更多信息,请参阅提高速度的降低精度

卫队位数

您指定使用的位数VPA功能或数字功能是数字的保证次数。在内部,超过您指定的工具箱可以用几个数字。这些额外的数字被称为后卫位数。例如,数字的位数设置为4,并且然后使用四位数字显示的1/3的浮点近似值:

旧=位(4);一个VPA =(1/3)
A = 0.3333

现在,显示器一个使用20位。结果表明,工具箱计算当在内部使用多于四个数字一个。在下面的结果中的最后数字是由于舍入误差不正确的:

数字(20)VPA的(a)数字(旧)
ANS = 0.33333333333303016843

隐藏的舍入误差

隐藏的舍入误差可能会导致意想不到的结果。例如,计算的数量1/10与默认32位精度和10-位精度:

一个VPA =(1/10)=旧数字(10);B = VPA(1/10)数字(旧)
A = 0.1 B = 0.1

现在,计算的区别一个 - B。其结果不是0:

一个 -  B
ANS = 0.000000000000000000086736173798840354720600815844403

区别一个 - B不等于零,因为在内部工具箱提升的10位数字B = 0.1到32位精度。这个过程意味着舍入误差。该工具箱实际计算的区别一个 - B如下:

B = VPA(b)一种 -  B
B = 0.09999999999999999991326382620116 ANS = 0.000000000000000000086736173798840354720600815844403

技术用于将浮点数来象征意义的物品

假设你的双重数字转换为象征性的对象,然后对该对象执行VPA操作。结果可能取决于您使用浮点数字转换为一个象征性的对象转换技术。该符号功能可让您通过指定可选的第二个参数选择转换技术,它可以是'R''F''d', 要么'E'。默认值是'R'。例如,转换的常π= 3.141592653589793 ...到一个符号对象:

R =符号(PI)F =符号(P1, 'F')d =符号(P1, 'd')E =符号(P1, 'E')
R = PI F =281474976710656分之884279719003555d = 3.1415926535897931159979634685442 E = PI  - (198 * EPS)/ 359

虽然不同的工具箱在屏幕上显示这些数字,它们是有理逼近PI。采用VPA转换的这些有理逼近PI回浮点值。

设置的位数为4。三四个近似给出相同的结果。

位(4)VPA(R)VPA(F)VPA(d)VPA(e)中
ANS = 3.142 ANS = 3.142 ANS = 3.142 ANS = 3.142  -  0.5515 * EPS

现在,设置的位数到40的象征性的近似之间的差异PI变得更加明显。

数字(40)VPA(R)VPA(F)VPA(d)VPA(e)中
ANS = 3.141592653589793238462643383279502884197 ANS = 3.141592653589793115997963468544185161591 ANS = 3.1415926535897931159979634685442 ANS = 3.141592653589793238462643383279502884197 -... 0.5515320334261838440111420612813370473538 * EPS

输入参数

全部收缩

新的准确度设置,指定为数字或符号数。设置规定要用于可变精度计算的显著小数的位数。如果该值d不是整数,数字其四舍五入为最接近的整数。

输出参数

全部收缩

当前的准确度设置,返回一个双精度数。设置规定的目前用于可变精度计算显著小数的位数。

R2006a前推出