我可以表示像十进制近似值这样的有理符号值吗?
Can I represent a rational symbolic value like a decimal approximation?
例如,我有符号值's+5/2'。有没有办法像's+2.5'一样显示它?
是的,使用 vpa
。只需采用您的符号表达式并使用 vpa
函数来促进转换。 vpa
计算符号表达式中的每一项,并尽可能将每个值转换为最多使用 32 位有效数字。您还可以使用第二个参数将有效数字的数量覆盖为 vpa
,但在您的情况下不需要这样做。
这是一个简单的例子:
>> syms s
>> A = s + 5/2
A =
s + 5/2
>> vpa(A)
ans =
s + 2.5
您还可以将数字文字的初始近似模式设置为十进制模式,其中精度由digits
, using the 'd'
flag of the sym
函数决定:
>> expr = sym('s') + sym(5/2,'d')
expr =
s + 2.5
例如,我有符号值's+5/2'。有没有办法像's+2.5'一样显示它?
是的,使用 vpa
。只需采用您的符号表达式并使用 vpa
函数来促进转换。 vpa
计算符号表达式中的每一项,并尽可能将每个值转换为最多使用 32 位有效数字。您还可以使用第二个参数将有效数字的数量覆盖为 vpa
,但在您的情况下不需要这样做。
这是一个简单的例子:
>> syms s
>> A = s + 5/2
A =
s + 5/2
>> vpa(A)
ans =
s + 2.5
您还可以将数字文字的初始近似模式设置为十进制模式,其中精度由digits
, using the 'd'
flag of the sym
函数决定:
>> expr = sym('s') + sym(5/2,'d')
expr =
s + 2.5