How can I Improve the efficiency of the following code?

조회 수: 2 (최근 30일)
Emanuele Massaro
Emanuele Massaro 2015년 7월 9일
편집: Emanuele Massaro 2015년 7월 9일
Hello I have this loop
id = unique(DATA(:,3));
rg = zeros(length(id),4);
for i = 1 : size(id,1)
x = y(DATA(:,3)==id(i));
rg(i,1) = sum(sqrt((Y(x,4) - Xm(id(i),1)).^2 + (Y(x,3) - Xm(id(i),2)).^2 ))./size(x,1);
rg(i,2) = id(i);
rg(i,3) = Xm(id(i),1);
rg(i,4) = Xm(id(i),2);
end
It is a very slow process. Is there a way to improve it? In particular I would like to avoid the first line after the loop and do it with accumarray or similar function. Thank you.

답변 (0개)

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by