【发布时间】:2018-02-09 14:51:51
【问题描述】:
我正在尝试比较两个符号变量(数字)。整个问题归结为以下代码。
R = vpa(0.555555555555555555555555555);
isAlways(R>R*(1-sym(10^(-10))))
isAlways(R>R*(1-sym(10^(-50))))
两个比较都应该返回1,但第二个返回0。
我的解决方案:
digits(51);
R = vpa(0.555555555555555555555555555);
isAlways(R>R*(1-sym(10^(-10))))
isAlways(R>R*(1-sym(10^(-50))))
【问题讨论】:
-
vpa的默认精度是 32 位,如果要比较到 50,则需要指定适当的精度。
标签: matlab symbolic-math