MATLAB: Any ideas how i can reduce the execution time

double looptime effort reductionvectorization

newdes=[0.6250 0.8750; 0.2500 0.7500; 0.3750 0.1250;
0.8750 0.3750; 0.1250 0.6250; 0 0; 0.5000 0.5000; 0.7500 0.2500;
0.6875 0.0625; 0.0625 0.8125; 0.1875 0.6875; 0.3125 0.3125;
0.4375 0.9375; 0.5625 0.5625; 0.9375 0.1875; 0.8125 0.4375;] ;
dis=zeros(v,1);
v=16;
m=2;
sum=0
s=2;
for j=1:v
for k=1:m
ddii=(newdes(s,k)-newdes(j,k))^2;%Distance calculation of point s at its new location with all the other points.
sum=sum+ddii;
end
dis(j,1)=sum; %Store all the distances.
sum=0;
end
I am trying to use bxsfun, but i cannot solve it. I want reduce the time effort. Thank you in advance.

Best Answer

xx=bsxfun(@minus,newdes(s,:),newdes(1:v,:));
sbs=xx.^2;
dis(:,1)=sum(sbs,2);
That is what i was looking for.