how to count the number of terms in syms

2 visualizaciones (últimos 30 días)
EllaD
EllaD el 20 de Oct. de 2020
Editada: EllaD el 20 de Oct. de 2020
Hello!
I have a syms variable let's say A which is an addition of many terms say: A=a+b-c*a+a*b-d+... I want to count the number of added terms in A, how can I do that? my matlab version is 2012 by the way.
Thank you!

Respuestas (3)

Ameer Hamza
Ameer Hamza el 20 de Oct. de 2020
Try this
syms a b c d
A=a+b-c*a+a*b-d+a*c;
num_terms = numel(regexp(char(A), '[+-]?'))+1;

Walter Roberson
Walter Roberson el 20 de Oct. de 2020
feval(symengine, 'nops', A)
In newer releases you can numel(children(A)) but that is several years after your version
  1 comentario
EllaD
EllaD el 20 de Oct. de 2020
Editada: EllaD el 20 de Oct. de 2020
Thanks but it seems that this doesnt work, I have 87 terms but this outputs 3.
EDIT: It is strange though, I checked this code for 5 terms and it does work.

Iniciar sesión para comentar.


KSSV
KSSV el 20 de Oct. de 2020
You can get the number of sym variables present in the work spce using:
s = whos ;
iwant = nnz(strcmp({s(:).class},'sym'))

Community Treasure Hunt

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

Start Hunting!

Translated by