Factor symbolic expression involving exp()

1 回表示 (過去 30 日間)
Philip
Philip 2015 年 9 月 13 日
コメント済み: Philip 2015 年 9 月 13 日
I have a symbolic function exp(a+b), and would like to factor out A=exp(a) to produce exp(a+b) = A*exp(b), but I cannot figure out how to do this in MATLAB. Below is my attempt:
syms a b A
X = exp(a+b)
Y = subs(X,exp(a),A) % = A*exp(b)
however, Y = exp(a+b). For some reason, MATLAB cannot determine exp(a+b) = exp(a)*exp(b) = A*exp(b).
Any help is greatly appreciated.

採用された回答

Walter Roberson
Walter Roberson 2015 年 9 月 13 日
subs() replaces one sub-expression tree with a different sub-expression tree. exp(a) is not present as a sub-expression in exp(a+b) so you cannot use subs() to make that replacement in it.
What might work is
Y = subs(expand(X), exp(a), A);
  3 件のコメント
Walter Roberson
Walter Roberson 2015 年 9 月 13 日
Try
Y = expand(subs(X, a, ln(A)))
Philip
Philip 2015 年 9 月 13 日
That's perfect! Thanks again.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeNumeric Solvers についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by