How to find occurrences of a vector of strings in a cell string.

2 views (last 30 days)
I have a cell string, named Channels, that lists 69 distinct EEG channels, A1, A2, ...
To find an occurrence of a particular channel, e.g. B8, I use something like
find(ismember(Channels,'B8'))
which returns the correct index value of 25.
Now suppose I have a vector of a few of the channels, e.g. X=['A1','A2','B8'] and I want to find which indices in the cell string Channels correspond to those in X. In other words is there an elegant way to return the index values 1, 2, and 25?

Accepted Answer

xi
xi on 1 May 2017
cs=[{'A1'},{'A2'},{'A3'},{'B1'},{'B8'}];
X=[{'A1'},{'B8'}];
find(ismember(cs,X));
ans: 1 5
  2 Comments
Stephen23
Stephen23 on 1 May 2017
Edited: Stephen23 on 1 May 2017
You can construct these arrays in a much simpler way than that:
cs = {'A1','A2','A3','B1','B8'};
X = {'A1','B8'};

Sign in to comment.

More Answers (0)

Categories

Find more on Data Import and Analysis in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!