function [attSimilarity] = CalcOneAttributeSimilarity(data, attributes, attId, returnSparse) n = size(data,1); attSimilarity = zeros(n,n); %Note - Sigal, replace 0 and 2 so we can have sparse matrix for i=1:n for j=1:i-1 val_i = attributes(i,attId); val_j = attributes(j,attId); if val_i == 0 && val_j == 0 attSimilarity(i,j) = 2; elseif val_i == val_j attSimilarity(i,j) = 1; % else % can be skipped as already initilaize with zero % attSimilarity(i,j) = 0; end attSimilarity(j,i) = attSimilarity(i,j); end end for i = 1 : size(attSimilarity,1) attSimilarity(i,i) = 1; end if returnSparse == 1 attSimilarity = sparse(attSimilarity); end end %function