MATLAB: Select elements in a cell array

cell arraycell arrays

Hi, I have a cell array that is sized 1×31 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

Best Answer

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