get only addends of subexpression

1 vue (au cours des 30 derniers jours)
David Armendáriz
David Armendáriz le 15 Mar 2018
Commenté : Walter Roberson le 15 Mar 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 commentaire
Steven Lord
Steven Lord le 15 Mar 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, ...).

Connectez-vous pour commenter.

Réponse acceptée

Walter Roberson
Walter Roberson le 15 Mar 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 commentaires
David Armendáriz
David Armendáriz le 15 Mar 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 le 15 Mar 2018
Use _mult instead of _plus for that purpose.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Get Started with MuPAD dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by