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

3 views (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
##### 0 CommentsShowHide -1 older comments

Sign in to comment.

### Answers (2)

Matt J on 23 Sep 2021
Edited: Matt J on 23 Sep 2021
You have a variable called "max" previously defined in your workspace.
##### 0 CommentsShowHide -1 older comments

Sign in to comment.

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,:)) )
##### 1 CommentShowHide None
Thank you.

Sign in to comment.

### Community Treasure Hunt

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

Start Hunting!