MATLAB: Using find function in 3D array and coverting indices bact to 3D array.

3d arrayfindgpuarrayindexing

Hello,
I have 3D array with gpuArray elements size of x(1x5x500). Did use find function to find the indeces of this condition indx=find(x>t), in order to find indeces of the find elements did use [r,c,m]=ind2sub(size(x),indx). Now I need to store all indeces back to 3d array in order for further calculations, what would be a good way to do this?

Best Answer

Using find will be slow. Go for logical indexing. These indices gives 1 where condition is obeyed and 0 if condition is not obeyed.
A = rand(1,5,10) ;
idx = A>0.5