compare elements of cell array
조회 수: 5 (최근 30일)
이전 댓글 표시
hey
how can i compare elements of a cell array like this .e.g.
array={[1,1,1,2];[1,3,9,2];[2,5,9];[1,4,7];[3,9];[1,2,4,5,2,1,6]}
array2=[5;6]
it'll compare elements of 'array2' (5 & 6 row of 'array') with other rows in 'array'. and if its elements matches it will show in output. e.g. for 5th row, it'll show [0; 3,9 ; 9; 0; 0] (0 in case if nothing matches)
Thanks
댓글 수: 0
채택된 답변
Andrei Bobrov
2017년 6월 10일
f = @(x)cellfun(@(y)y(ismember(y,array{x})),array([1:x-1,x+1:end]),'un',0);
out = arrayfun(f,array2,'un',0);
out = cat(2,out{:});
out(cellfun(@isempty,out)) = {0}
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Matrices and Arrays에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!