Keep matrix structure after indexing

3 Ansichten (letzte 30 Tage)
Carlotta Dentico
Carlotta Dentico am 13 Sep. 2023
Kommentiert: Stephen23 am 14 Sep. 2023
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 :)

Akzeptierte Antwort

Stephen23
Stephen23 am 13 Sep. 2023
Bearbeitet: Stephen23 am 13 Sep. 2023
out = nan(size(temp));
out(A) = temp(A);
Or
out = temp;
out(~A) = NaN;
  8 Kommentare
Carlotta Dentico
Carlotta Dentico am 13 Sep. 2023
it is a matrix
Stephen23
Stephen23 am 14 Sep. 2023
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;

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Resizing and Reshaping Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by