我可以像十进制近似表示一个合理的符号值吗?

时间:2016-10-04 18:12:54

标签: matlab symbolic-math

例如,我有符号值's + 5/2'。有没有办法像's + 2.5'那样显示它?

2 个答案:

答案 0 :(得分:5)

是的,请使用vpa。只需使用符号表达式并使用vpa函数即可进行转换。 vpa评估符号表达式中的每个术语,并尽可能将每个值转换为最多使用32位有效数字。您还可以使用第二个参数覆盖有效数字量vpa,但在您的情况下不需要这样做。

这是一个简单的例子:

>> syms s
>> A = s + 5/2

A =

s + 5/2

>> vpa(A)

ans =

s + 2.5

答案 1 :(得分:3)

您还可以使用digits函数的'd'标志将数字文字的初始近似模式设置为十进制模式,其中精度由sym决定:

>> expr = sym('s') + sym(5/2,'d')

expr =

s + 2.5