Hello guys I wrote the following code, but it takes ages to complete. Could you please help me optimizing it? A and B are matrixes
for i=1:length(A)
for j=1:length(B)
CCI = CCI + heaviside(norm(A(i,:)-B(j,:)));
end
end
Thanks
No products are associated with this question.
Not necessarily faster, prettier, less confusing or better in any way with the exception of being on one line and containing the awesomeness that is bsxfun:
CCI2 = sum(sum(heaviside(sqrt(sum(bsxfun(@minus,A,reshape(B',1,size(B,2),size(B,1))).^2,2)))))
other variant
CCI = (nnz(any(bsxfun(@minus,A,reshape(B',1,size(B,2),[])),2)) + size(A,1)*size(B,1))/2;
0 Comments