expand and simplify are not reverse?

8 次查看(过去 30 天)
I thought any symbolic function that I expand I can simplify getting same results in both direction. But it seems to be just oneway, because:
syms z; simplify(expand(1/((z-1)*(z-i))))
does not give back
1/((z-1)*(z-i)) %?
  1 个评论
Rik
Rik 2021-7-9
There is even a remark in the documentation suggesting to use expand first under some circumstances.
I'm not aware of any explicit requirements that suggest the factorized form is simpler. I think you can make a case for both forms.

请先登录,再进行评论。

采纳的回答

Walter Roberson
Walter Roberson 2021-7-9
syms x t
simplify(sin(x)^2 + cos(x)^2)
simplify(2*(sin(t)^2 + cos(t)^2))
The first sin formula in x and the sin formula in t both simplify to 1 and the overall second expression simplifies to 2.
If it were true that expand() is the reverse of simplify then it follows that if you were to
expand(sym(3))
then the result should be
sin(x)^2 + cos(x)^2 + 2 * (sin(t)^2 + cos(t)^2)
except that it should also be the same thing with several different variables instead. And, clearly, numerous other expressions.
We must arrive at the conclusion that expand() and simplify() are not inverse of each other.

更多回答(0 个)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by