Hallo dx_dy,
Wie bereits erklärt, verschwendet SQRT hier nur Zeit. Wenn SQRT(a) < SQRT(b), dann gilt auch a < b. Also:
...
beste_distanz = 1000 ^2;
index = 0;
for i = 1:size(C_xyz,1)
temp_distanz = (Footprint(k,1)-C_xy(i,1))^2 + ...(Footprint(k,2)-C_xy(i,2))^2;
if (temp_distanz < beste_distanz)
beste_distanz = temp_distanz;
index = i;
end
end
distanz(k,1)=sqrt(beste_distanz); % Nur hier *einmal*
distanz(k,2)=index;
end
Das sollte merkbar schneller sein.
Gruß, Jan
↧