MATLAB Answers

Finding columns by name in a cell array

3 views (last 30 days)
Hello all,
Let's say I have a large cell array with similar variable names in the first row (A_F1 , B_F2 , A_F2 , G_F5 ...) followed by data.
I want to create a smaller cell array with just the columns where the variable name starts with A_ AND the one column right before each of those variables. Something based on this (thanks Stephen Cobeldick!):
idx = strncmp(QC(1,:),'A_',2); %Find the columns that start with A_
? %Find the columns right before those that start with A_
Q = QC(:,idx); %Produce the new cell array
How would I do that?
Thank you


Sign in to comment.

Accepted Answer

Stephen Cobeldick
Stephen Cobeldick on 12 Apr 2017
Edited: Stephen Cobeldick on 12 Apr 2017
idx = strncmp(QC(1,:),'A_',2);
idx = idx | [idx(2:end),false];
Q = QC(:,idx);


Sign in to comment.

More Answers (0)


Community Treasure Hunt

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

Start Hunting!