象征性地评估不等式
Evaluating an inequality symbolically
我正在尝试使用 Matlab 中的符号求解器来验证不等式。 Matlab 能够告诉我下面的第一个不等式是正确的,但是第二个不成立。我在这里做错了什么,或者是第二个复杂的 Matlab 表达式?
syms mu sigma rho lambdaP
assume(mu>0)
assume(sigma>0)
assume(rho>0)
assume(lambdaP>0)
assume(rho>mu)
b=(mu-0.5*sigma^2);
isAlways(sqrt(b^2+2*sigma^2)>=0)
isAlways(sqrt(b^2+2*sigma^2*(rho+lambdaP))>=0)
对于变量 rho
和 mu
的第二个假设,您应该使用 assumeAlso
而不是 assume
。对符号变量再次调用 assume
会删除第一个假设。您还可以删除所有单独的 assume
行,方法是将假设添加到符号变量的声明中
syms mu sigma rho lambdaP positive
assumeAlso(rho>mu)
b=(mu-0.5*sigma^2);
isAlways(sqrt(b^2+2*sigma^2)>=0)
isAlways(sqrt(b^2+2*sigma^2*(rho+lambdaP))>=0)
这两个表达式都 return 为真。
您可以通过输入例如assumptions(rho)
。如果你不使用 assumeAlso
,你会看到 > 0
假设消失了。
我正在尝试使用 Matlab 中的符号求解器来验证不等式。 Matlab 能够告诉我下面的第一个不等式是正确的,但是第二个不成立。我在这里做错了什么,或者是第二个复杂的 Matlab 表达式?
syms mu sigma rho lambdaP
assume(mu>0)
assume(sigma>0)
assume(rho>0)
assume(lambdaP>0)
assume(rho>mu)
b=(mu-0.5*sigma^2);
isAlways(sqrt(b^2+2*sigma^2)>=0)
isAlways(sqrt(b^2+2*sigma^2*(rho+lambdaP))>=0)
对于变量 rho
和 mu
的第二个假设,您应该使用 assumeAlso
而不是 assume
。对符号变量再次调用 assume
会删除第一个假设。您还可以删除所有单独的 assume
行,方法是将假设添加到符号变量的声明中
syms mu sigma rho lambdaP positive
assumeAlso(rho>mu)
b=(mu-0.5*sigma^2);
isAlways(sqrt(b^2+2*sigma^2)>=0)
isAlways(sqrt(b^2+2*sigma^2*(rho+lambdaP))>=0)
这两个表达式都 return 为真。
您可以通过输入例如assumptions(rho)
。如果你不使用 assumeAlso
,你会看到 > 0
假设消失了。