Matlab绝对值平方

时间:2017-02-07 10:15:27

标签: matlab symbolic-math

我无法在matlab中找到一种方法来简化这种符号表达。 x将以实数进行评估。

syms x
expr = abs(x)^2

我希望结果是

 expr = x^2

Matlab给出了

expr = abs(x)^2

2 个答案:

答案 0 :(得分:5)

只有当x成立时,您所需的解决方案才有效,因此您需要告诉MATLAB。

 assume(x, 'real')
 simplify(expr)

答案 1 :(得分:4)

原因与@Ander Biguri说的相同。但是在初始化x时,你可以告诉MATLAB这样:

syms x real;    %Notice this
expr = abs(x)^2;
simplify(expr)