Keep matrix structure after indexing

5 次查看(过去 30 天)
Hello,
I have a matrix temp with dimensions 609x881 and my logical index A with the same 609x881 dimension.
When I extract the temp value based on my index using this code
temp_idx = temp(A);
my result is the vector temp_idx with dimension 230x1.
Now, since my final goal is to produce a spatial plot if this data, how can I extract the temp value based on my index so that my final matrix temp_idx has the dimension 609x881 so that I have my temperature values where the index match and NaN's outside the index.
Hope the question is clear.
Please find attach .mat file of my variables
THANK YOU :)

采纳的回答

Stephen23
Stephen23 2023-9-13
编辑:Stephen23 2023-9-13
out = nan(size(temp));
out(A) = temp(A);
Or
out = temp;
out(~A) = NaN;
  8 个评论
Stephen23
Stephen23 2023-9-14
I will assume that pt_spatial_lev20 has size 609x881x372, and A has size 609x881x1.
out = pt_spatial_lev20;
idx = repmat(A,1,1,size(out,3));
out(~idx) = NaN;

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by