Matlab Simplify function in terms of defined function

I have a long expression I am trying to simplify into known expressions, using symbolic editor.
For example, if I know/define,
M=X/Z
N=Z/Y,
then I would like if I write:
simplify(X/Y) to return M*N.
Is this possible? My expression that I would be simplifying is much longer, but I would like it to return defined "known" functions.
Thanks

回答 (1 件)

Walter Roberson
Walter Roberson 2016 年 11 月 8 日

0 投票

The closest MATLAB gets to that is https://www.mathworks.com/help/symbolic/subexpr.html which is common sub-expression optimization, with no real controls.
The trick I tend to use is
subs(X/Y, {X, Y}, {M*Z, Z/N})
that is, solve the expression M is replacing in terms of one of the other variables and then subs() replacing the other variable with the result. It is a bit clumsy, because it replaces all occurrences of the variable.
children() can help sometimes.

タグ

質問済み:

2016 年 11 月 8 日

回答済み:

2016 年 11 月 8 日

Community Treasure Hunt

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

Start Hunting!

Translated by