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,:);

回答(1 个)

类别

帮助中心File Exchange 中查找有关 Statistics and Machine Learning Toolbox 的更多信息

回答:

2015-11-4

Community Treasure Hunt

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

Start Hunting!

Translated by