How can I create a for loop to count letters in a sequence?

i have the following sequence
a = b c d b c d e c c d b c b e e
i want to create a for loop to identify the number of b’s and c’s in the sequence?
help please

 Accepted Answer

No loops needed:
a = 'b c d b c d e c c d b c b e e'
no_of_bs=sum(ismember(a,'b'))
no_of_cs=sum(ismember(a,'c'))

3 Comments

You're overcomplicating:
no_of_bs = sum(a == 'b')
no_of_cs = sum(a == 'c')
Instead of sum you can use nnz (which will work even if a is a matrix, whereas with sum you'd have to specify 'all' (R2018b) or reshape into a vector):
no_of_bs = nnz(a == 'b')
no_of_cs = nnz(a == 'c')
Thanks Guillaume , what was I thinking , you are absolutely right!
thanks for this, but ive just realised that I need a for loop because I am then going to use the loop to count a different character in the sequence.
i understand that i dont necessarily need one, but is there a way to create a for loop that loops through a and counts the numebr of b’s?
thanks so much

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Products

Release

R2018b

Tags

Asked:

on 19 Nov 2018

Commented:

on 19 Nov 2018

Community Treasure Hunt

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

Start Hunting!