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

1 Ansicht (letzte 30 Tage)
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

Antworten (2)

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

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

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by