How can I simplify this For loop?

Hello. I am facing a problem running this code to completion as the size of T is very big (over a million rows). While the time taken to compute one iteration isn't very long (0.2118s); assuming 1 million data points, the code will still take 100,000s. Thank you for your help!
function Xout = selectpoints(T,Xin)
for k = 1 : length(T)
dist = (Xin(:,1)-T(k,1)).^2 + (Xin(:,2)-T(k,2)).^2 + (Xin(:,3)-T(k,3)).^2;
[~,ind] = min(dist);
nearest(k) = ind;
end
Xout = Xin(nearest,:);

Réponses (1)

Catégories

En savoir plus sur Statistics and Machine Learning Toolbox dans Centre d'aide et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by