how to do the data extraction data from a 3D matrix

Hi all,
I have a 3D matrix with a dimension of (251*28*10) that I want to extract a specific data from it. As the extracted data are not in the same dimension, the empty values should be NaNs the used loop is
for i = 1:10
for j = 1:28
density(:,:,i) = find(density_1000(:,j,i)>= 27.5 & density_1000(:,j,i)<=28);
den = density_1000 (density); % this should be the finle matrix of the extracted data (251*28*10)
end
end
Any help will be appreciated.
Thanks

4 Comments

Does the loop work for you? Or do you want to store NaN values to all positions with values outside of the range?
I want to extract the data and put it in a matrix that the filled with nan values. as the original data is gridded so, I don't want to lose the order. this why I created the nan matrix then I want to store the extracted data in it that also should corresponding to the index.
Lilya
Lilya on 7 Oct 2018
Edited: Lilya on 7 Oct 2018
the final matrix should contains the specified result for each slice of the third column (10)
@Rik Wisselink
I do appreciate your response. thanks a lot

Sign in to comment.

 Accepted Answer

mask = density_1000 >= 27.5 & density_1000 <= 28;
den = density_1000;
den(~mask) = nan;

More Answers (0)

Categories

Asked:

on 7 Oct 2018

Commented:

on 7 Oct 2018

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!