expand and simplify are not reverse?

6 views (last 30 days)
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 Comment
Rik on 9 Jul 2021
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.

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 9 Jul 2021
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
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.

More Answers (0)


Find more on Symbolic Math Toolbox in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!