Create cell array of column indices of a specific string

1 visualizzazione (ultimi 30 giorni)
Hi,
I have a 5x1 cell array ,g, where each cell is 40x50. I want to find the column indices of the string 'Latitude' in each of the cells in the cell array. I know there is 7 occurences of this string in each of the cells but I want the code to tell me that. My desired output is a new cell array where each cell contains the column indices of this string (so it will end up being a 5x1 cell array where each cell contains the 7 column indices). I tried this:
ind=find(~cellfun('Latitudes', g));
but it won't work. Any suggestions would be much appreciated
Thank you

Risposta accettata

Voss
Voss il 22 Giu 2022
% make cell array g
g = repmat({repmat({''},40,50)},5,1);
% put 7 random 'Latitude's in each cell
for ii = 1:5
g{ii}(randi(2000,7,1)) = {'Latitude'};
end
% get the column index of each instance of 'Latitude'
cidx = cellfun(@get_latitude_columns,g,'UniformOutput',false)
cidx = 5×1 cell array
{7×1 double} {7×1 double} {7×1 double} {7×1 double} {7×1 double}
% put them together in a matrix, if you prefer
% (5x7 or 7x5, whatever makes sense to you)
cidx = [cidx{:}].'
cidx = 5×7
2 3 19 20 30 48 50 8 8 10 11 25 36 46 10 28 29 29 31 32 42 14 16 17 22 34 43 45 2 19 21 25 36 39 50
function idx = get_latitude_columns(s)
[~,idx] = find(strcmp(s,'Latitude'));
end
  6 Commenti

Accedi per commentare.

Più risposte (0)

Tag

Prodotti


Release

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by