MATLAB: How to find columns by name in a cell aray

cell arraysstrmatch

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.
How would I do that?
Thank you

Best Answer

This is easy with strncmp:
>> inp = {'A_F1','B_F2','A_F2','G_F5';1,2,3,4}; % demo matrix.
>> idx = strncmp(inp(1,:),'A',1); % indices of strings starting with A.
>> otp = inp(:,idx); % select those columns from inp.
As an alternative you could use the table class, and this task may well be easier.