how to count the number of terms in syms

1 Ansicht (letzte 30 Tage)
EllaD
EllaD am 20 Okt. 2020
Bearbeitet: EllaD am 20 Okt. 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!

Antworten (3)

Ameer Hamza
Ameer Hamza am 20 Okt. 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 am 20 Okt. 2020
feval(symengine, 'nops', A)
In newer releases you can numel(children(A)) but that is several years after your version
  1 Kommentar
EllaD
EllaD am 20 Okt. 2020
Bearbeitet: EllaD am 20 Okt. 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.

Melden Sie sich an, um zu kommentieren.


KSSV
KSSV am 20 Okt. 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