Select elements in a cell array

20 次查看(过去 30 天)
Hi, I have a cell array that is sized 1x31 and each element is Nx7, N changes in every cell. I have an array with the maximum of the 4th column of each cell, now I want to extract in a new cell array (always 1X31) all the rows and colums of each cell which elements of the fourth column of the cell (i) are the same of max (i) For example:
% A is the vector of the maximun elements
A=[2 3 4];
% B is my cell array of 3 cells
B=[1 2 3 [7 3 4 [1 4 5
4 5 6 3 2 1] 2 4 6
1 2 3] 3 4 7]
%I would like my result C would be a cell array that selects the elements of the matrix which second column is igual to corresponding maximum
C=[1 2 3 [7 3 4] [1 4 5
1 2 3] 2 4 6
3 4 7]
Thank everyone for helping

采纳的回答

Stephen23
Stephen23 2015-11-3
编辑:Stephen23 2015-11-3
A = [2,3,4];
B = {[1,2,3;4,5,6;1,2,3], [7,3,4;3,2,1], [1,4,5;2,4,6;3,4,7]};
C = {};
for k = numel(B):-1:1
C{k} = B{k}(A(k)==B{k}(:,2),:);
end
creates this output cell array C:
>> C{:}
ans =
1 2 3
1 2 3
ans =
7 3 4
ans =
1 4 5
2 4 6
3 4 7

更多回答(0 个)

类别

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

Community Treasure Hunt

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

Start Hunting!

Translated by