Loop in a cell array that consist of matrices in each cell

1 view (last 30 days)
I have written a loop to extract data from a 24x1 cell array, where each cell is of 36000x16 double table. I want to find the maximum value of column 12 in each of the 24 cells and store them in a matrix. But I'm getting an error 'Array indices must be positive integers or logical values.'
%% Loop for extracting data from a cell array
% results is a 24x1 cell array. Each cell consist of 36000x16 double table
for k =1:numel(results)
t = results{k,:}; % extracting every matrix within a cell
% values of interest is in column 12
temp = t(2:end, 12:12);
% find maximum value
max_column = max(temp);
end

Answers (2)

Matt J
Matt J on 23 Sep 2021
Edited: Matt J on 23 Sep 2021
You have a variable called "max" previously defined in your workspace.

Matt J
Matt J on 23 Sep 2021
Edited: Matt J on 23 Sep 2021
Easier:
results=cat(3,results{:});
max_column = squeeze( max(results(2:end,12,:)) )

Categories

Find more on Loops and Conditional Statements 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!