How to optimize this code by avoiding nested for loops?

1 visualización (últimos 30 días)
Hi all,
I have written the following code, whose Elapsed time is 32.427771 seconds.
t=1;
ObsX=[]; ObsY=[];
tic
for i = 3.53:0.0001:4.67
for j = -6.17:0.0001:-4.53
ObsX(t) = j;
ObsY(t) = i;
t=t+1;
end
end
toc
I have rectangular obstacle with the coordinates 3.53:4.67 and -6.17:-4.53 and the resolution is 0.0001. I am trying to store the X coordinates in array ObsX and Y coordinates in array ObsY.
Can you suggest way to improve the computation time? Thanks!

Respuesta aceptada

Walter Roberson
Walter Roberson el 12 de Abr. de 2018
[X, Y] = ndgrid(3.53:0.0001:4.67, -6.17:0.0001:-4.53);
ObsX = X(:);
ObsY = Y(:);
Note: I did not check to be sure that the values are in the same order as you created. You might need meshgrid() instead of ndgrid()

Más respuestas (0)

Categorías

Más información sobre Get Started with Optimization Toolbox 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