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

采纳的回答

Andrei Bobrov
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 CenterFile Exchange 中查找有关 Matrices and Arrays 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by