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

1 次查看(过去 30 天)
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

回答(2 个)

Matt J
Matt J 2021-9-23
编辑:Matt J 2021-9-23
You have a variable called "max" previously defined in your workspace.

Matt J
Matt J 2021-9-23
编辑:Matt J 2021-9-23
Easier:
results=cat(3,results{:});
max_column = squeeze( max(results(2:end,12,:)) )

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by