How can I Improve the efficiency of the following code?

1 visualización (últimos 30 días)
Emanuele Massaro
Emanuele Massaro el 9 de Jul. de 2015
Editada: Emanuele Massaro el 9 de Jul. de 2015
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.

Respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by