Comparing vectors and determining unique values?

Let's say I have a 3x3 cell array. In each cell is a vector. For a given cell, how do I determine the unique number the vector of that cell has that no others in the cell array has.
Or in a simpler case, consider a 2x2 cell array, C.
C=
[1 0 3 4] [0 2 3 0]
[0 2 0 4] [0 2 3 4]
How can I take the vector in C{1,1} and compare it to the other vectors and pull out the number "1" which is unique among the vectors in the cell array.

Antworten (2)

per isakson
per isakson am 16 Mai 2015
Bearbeitet: per isakson am 16 Mai 2015

0 Stimmen

Try this script
cac = {
[1 0 3 4] [0 2 3 0]
[0 2 0 4] [0 2 3 4] };
%
ixa = ( 1 : numel(cac) ); % linear indices of all vectors
ix1 = sub2ind( size(cac), 1, 1 ); % linear index of selected vector
the_other_vectors = cat( 2, cac{setdiff(ixa,ix1)} );
%
setdiff( cac{ix1}, the_other_vectors )
it returns
ans =
1
Andrei Bobrov
Andrei Bobrov am 16 Mai 2015

0 Stimmen

c = C{1}
for ii = 2:numel(C)
c = setdiff(c,C{ii});
end

Kategorien

Mehr zu Operators and Elementary Operations finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 16 Mai 2015

Beantwortet:

am 16 Mai 2015

Community Treasure Hunt

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

Start Hunting!

Translated by