Is there a shorter/smarter way to do this code
Mostrar comentarios más antiguos
Hi, I am trying to creat a matrix of all possible coordinates given 2 coordinate vectors. my code is attached below. I know there is a better way to do this. can anyone help?
n=8 %can be any number
Ycoord=[0.5:n-0.5];
Xcoord=[0.5:n-0.5];
for i=1:n
for j=1:n
handles.coordinates{i,j}={Xcoord(i),Ycoord(j)};
end
end
thanks
Respuesta aceptada
Más respuestas (1)
Daniel Shub
el 7 de Nov. de 2012
0 votos
It depends what you mean by better. To me the best code is the the code that is easiest for me to maintain unless it is a time bottleneck. If the maintainable code makes my overall function take too long, then I look into optimizing.
For your code, I would preallocate handles.coordinates and probably save the data as doubles instead of a cell array. As for eliminating the loops, you can and you will see an improvement, but then the code might be less readable and harder to maintain for you. For n equal to 8 (or any number of that order of magnitude) efficiency doesn't really matter unless you are calling the code a lot.
Categorías
Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!