数字到符号的转换
本主题展示符号数学工具箱™如何将数字转换为符号形式。有关符号和数字算术的概述,请参见选择数值或符号算术.
要将数字输入转换为符号形式,请使用信谊
命令。默认情况下,信谊
返回数值表达式的合理近似值。
t = 0.1;信谊(t)
ans =
信谊
确定双精度值0.1
近似于精确的符号值
.一般来说,信谊
尝试纠正浮点输入中的舍入错误,以返回精确的符号形式。具体地说,信谊
纠正与表单匹配的数字输入中的舍入错误
,
,
,
,
,在那里
而且
是普通整数。
对于这些表单,请演示这一点信谊
将浮点输入转换为精确的符号形式。首先,数值近似
,
,
.
N1 = 1/7
N1 = 0.1429
N2 =π
N2 = 3.1416
N3 = 1 /√(2)
N3 = 0.7071
将数值近似转换为精确的符号形式。信谊
纠正舍入错误。
S1 =符号(N1)
S1 =
S2 =符号(N2)
S2 =
S3 =符号(N3)
S3 =
你可以强迫信谊
通过将输入放在引号中,按原样接受输入。在前面的输入上演示此行为0.142857142857143
.的信谊
函数不会将输入转换为1/7
.
信谊(“0.142857142857143”)
ans =
当您转换较大的数字时,使用引号来准确地表示它们。通过比较来演示这种行为信谊(133333333333333333333)
与信谊(“133333333333333333333”)
.
信谊(1333333333333333333)
ans =
信谊(“1333333333333333333”)
ans =
您可以指定使用的技术信谊
使用可选的第二个参数转换浮点数,它可以是“f”
,“r”
,“e”
,或' d '
.默认标志是“r”
,为理性形式。
向理性符号形式的转换
调用将输入转换为精确有理数形式信谊
与“r”
国旗。这是您调用时的默认行为信谊
没有旗帜。
t = 0.1;信谊(t)“r”)
ans =
使用浮点展开进行转换
如果你叫信谊
的国旗“f”
,信谊
将双精度浮点数转换为它们的数值
,在那里
而且
分别是指数和尾数。
转换t
通过使用浮点展开。
信谊(t)“f”)
ans =
带误差项的理性符号形式转换
如果你叫信谊
的国旗“e”
,信谊
的合理形式返回t
加上估计值之间的误差t
和它的浮点表示。此误差表示为每股收益
(浮点相对精度)。
转换t
象征性的形式。返回其估计的符号形式与其浮点值之间的错误。
信谊(t)“e”)
ans =
错误的词eps / 40
区别在于信谊(“0.1”)
而且信谊(0.1)
.
十进制格式转换
如果你叫信谊
的国旗' d '
,信谊
返回输入的十进制展开。的数字
函数指定所使用的有效位数。的默认值。数字
是32。
信谊(t)' d ')
ans =
使用更改有效位数的数目数字
.
digitsOld =数字(7);信谊(t)' d ')
ans =
的旧值进行进一步的计算数字
.
数字(digitsOld)
转换到可变精度
可以使用可变精度浮点算术创建符号数vpa
.默认情况下,vpa
将值计算为32位有效数字。
piVpa = vpa(π)
piVpa =
当你使用vpa
在数字输入上,例如日志(2)
,数值表达式首先求值为MATLAB®默认双精度数,其有效位数小于32位。然后,vpa
应用于该双精度数,它可能不太准确。为获得更精确的结果,将数值表达式转换为符号表达式信谊
然后使用vpa
以可变精度评估结果。例如,找到日志(2)
具有17位和20位精度。
vpaOnDouble = vpa(日志(2))
vpaOnDouble =
vpaOnSym_17 = vpa(日志(信谊(2)),17)
vpaOnSym_17 =
vpaOnSym_20 = vpa(日志(信谊(2)),20)
vpaOnSym_20 =
当您转换较大的数字时,使用引号来准确地表示它们。
inaccurateNum = vpa (123456789012345678)
inaccurateNum =
accurateNum = vpa (“123456789012345678”)
accurateNum =