Acessing large3D matrix incredibly slow
Show older comments
I have a code in which i wish to remove certain points from a large matrix, calculation of which points to remove which requires large number of calculations only takes a fraction of the time it takes to change a point in the matrix. i timed it like so:
d=top_cell_array{i};
a=d(1);
b=d(2);
c=d(3);
tic;
centroids_3D(a,b,c)=0;
time_of_exec=toc
what i get as a result is sometimes a few ms, but sometimes exceeds half a second, just to excess and change the point in the matrix, the matrix is of size (512,512,520); my calculations which require hundreds if not thousands of operations(which include excessing the large matrix) only take a few ms everytime, im incredibly confused as to why matlab takes it time in changing it, and what can i do about it.
2 Comments
Daniel ziv
on 17 May 2017
Stephen23
on 17 May 2017
Instead you could easily leave the matrix where it is, and return the indices.
Answers (0)
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!