Factor symbolic expression involving exp()

2 visualizaciones (últimos 30 días)
Philip
Philip el 13 de Sept. de 2015
Comentada: Philip el 13 de Sept. de 2015
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.

Respuesta aceptada

Walter Roberson
Walter Roberson el 13 de Sept. de 2015
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 comentarios
Walter Roberson
Walter Roberson el 13 de Sept. de 2015
Try
Y = expand(subs(X, a, ln(A)))
Philip
Philip el 13 de Sept. de 2015
That's perfect! Thanks again.

Iniciar sesión para comentar.

Más respuestas (0)

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by