How to increase the speed of this code?
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Zhongruo Wang
il 8 Apr 2016
Commentato: Roger Stafford
il 9 Apr 2016
Here, I want to generate a 3D lattice points in the form of 3 column tuples. Here is my code:
% code
pts = [];
for i = 0.01:0.01:1
for j = 0.01:0.01:1
for k = 0.01:0.01:1
a = [i j k];
pts = [pts;a];
end
end
end
end
It is too slow when I run this script in the Matlab, is there any way to increase the speed of the operation? Or is there any way to decrease the number of the for loop?
Thanks
0 Commenti
Risposta accettata
Roger Stafford
il 8 Apr 2016
Modificato: Roger Stafford
il 8 Apr 2016
Try 'ndgrid':
[X,Y,Z] = ndgrid(0.01:0.01:1);
pts = [Z(:),Y(:),X(:)]; %(Corrected)
0 Commenti
Più risposte (1)
Azzi Abdelmalek
il 8 Apr 2016
i = 0.01:0.01:0.1
j = 0.01:0.01:.1
k = 0.01:0.01:.1
[ii,jj,kk]=meshgrid(i,j,k)
out=[kk(:) ii(:) jj(:)]
1 Commento
Roger Stafford
il 9 Apr 2016
@Azzi: I think these will not be in the same order requested by Zhongruo.
Vedere anche
Categorie
Scopri di più su Function Creation in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!