find and store the index value of maximum or minimum value of cell array

3 次查看(过去 30 天)
i have cell of size 613x1 and each cell has 200x1 column in it . i want to find out the index location of maximum and minimum of each column in cell and store it in different vector. further i want to split the cell based on these index location.

回答(2 个)

Simon Chan
Simon Chan 2022-10-3
[~,idxMax]=cellfun(@max,yourCell); % Index for maximum
[~,idxMin]=cellfun(@min,yourCell); % Index for minimum

Davide Masiello
Davide Masiello 2022-10-3
编辑:Davide Masiello 2022-10-3
Example
for row = 1:613
yourcellarray(row,1) = {randi(100,200,1)};
end
yourcellarray
yourcellarray = 613×1 cell array
{200×1 double} {200×1 double} {200×1 double} {200×1 double} {200×1 double} {200×1 double} {200×1 double} {200×1 double} {200×1 double} {200×1 double} {200×1 double} {200×1 double} {200×1 double} {200×1 double} {200×1 double} {200×1 double}
yourcellarray{1}
ans = 200×1
49 86 95 78 37 36 99 4 67 13
Above is just an example of the type of cell array you have described. Now, to find the index of the maximum and minimum for each cell, you just need to do
[~,idxMax] = cellfun(@max,yourcellarray)
idxMax = 613×1
7 93 4 40 55 41 58 50 106 28
[~,idxMin] = cellfun(@min,yourcellarray)
idxMin = 613×1
22 45 50 62 167 71 57 170 17 91
Regarding splitting the cell array based on the index of the maximum you need to give more info.

类别

Help CenterFile Exchange 中查找有关 Cell Arrays 的更多信息

产品


版本

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by