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

1 回表示 (過去 30 日間)
Anirudh Peralai Ravisundar
Anirudh Peralai Ravisundar 2021 年 9 月 23 日
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 Center および File ExchangeLoops and Conditional Statements についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by