14 views (last 30 days)

Show older comments

Hi the wonderful MatLab community!

Im very new to MatLab and urgently require some assistance please!

I have a cell array

C=

1 '100'

2 '200'

3 '200'

4 '100'

5 '200'

...etc

The cell array changes will always have the two columns but will have random number of rows. The first column will always start from 1 and increase in sequential order moving down the cell array. The second column will only have numbers of either '100' or '200'.

How do you convert array of C such that C(:,2) == 200; basically outcome of array D to be:

D=

2

3

5

...etc

Henry Giddens
on 2 Sep 2017

Hi,

In this example, all of your '100' and 200' values are strings, so you need to identify the cells in the second column of your cell array which have the string value of 200.

The following line of code does this, and also groups the output into an array of numerical values (rather than a cell array).

D = [C{strcmp(C(:,2),'200'),1}]'

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

Start Hunting!