matlab - How to distinguish the two picture matrices? -
i have picture matrix a
, size of 200*3000 double
. , have picture matrix b
, size of 200*1000 double
. 1000
columns of matrix b
comes columns of matrix a
. question is:
how matrix c
same size of matrix a
, keep original values of columns in matrix b
? mean size of matrix c
200*3000 double
, 1000
columns have same values matrix b
. other 2000
columns set value d
, second question, value should set d
, picture matrix c
can distinguish picture matrix a
?
use ismember
'rows'
option. here's example:
a = [1 2 3 4; 5 6 7 8]; %// example b = [3 10 1; 7 20 5]; %// example b val = nan; %// example value indicate no match c = a; %// initiallize ind = ismember(a.',b.','rows'); %// matching columns c(:,~ind) = val; %// set non-matching columns val
equivalently, coud replace ismember
bsxfun
, line becomes
ind = any(all(bsxfun(@eq, a, permute(b, [1 3 2])), 1), 3);
in example,
a = 1 2 3 4 5 6 7 8 b = 3 10 1 7 20 5 c = 1 nan 3 nan 5 nan 7 nan
Comments
Post a Comment