get only addends of subexpression

1 visualización (últimos 30 días)
David Armendáriz
David Armendáriz el 15 de Mzo. de 2018
Comentada: Walter Roberson el 15 de Mzo. de 2018
Suppose I have a symbolic expression like this
syms x x0
f=(x-x0)^3
children(f)
[(x-x0),3]
I would like to get instead
[(x-x0)^3]
How can this be done?
  1 comentario
Steven Lord
Steven Lord el 15 de Mzo. de 2018
Can you say a little more about your ultimate goal? Perhaps there's a way to do what you want without running a MuPAD expression via feval(symengine, ...).

Iniciar sesión para comentar.

Respuesta aceptada

Walter Roberson
Walter Roberson el 15 de Mzo. de 2018
You cannot do that with children().
You need to do something like,
feval(symengine, '(V) -> if testtype(V,"_plus") then [op(V)] else [V] end_if;', f)
  2 comentarios
David Armendáriz
David Armendáriz el 15 de Mzo. de 2018
Thanks, and is there any way to do the same but with multiplication? I mean, if I have
f=a*b*c*d
I would like to get
[a,b,c,d]
And when
f=a
then the output is
[a]
Walter Roberson
Walter Roberson el 15 de Mzo. de 2018
Use _mult instead of _plus for that purpose.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Get Started with MuPAD en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by