expand and simplify are not reverse?

16 vues (au cours des 30 derniers jours)
Niklas Kurz
Niklas Kurz le 9 Juil 2021
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 commentaire
Rik
Rik le 9 Juil 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.

Connectez-vous pour commenter.

Réponse acceptée

Walter Roberson
Walter Roberson le 9 Juil 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
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.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by