Keep matrix structure after indexing

4 visualizzazioni (ultimi 30 giorni)
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 :)

Risposta accettata

Stephen23
Stephen23 il 13 Set 2023
Modificato: Stephen23 il 13 Set 2023
out = nan(size(temp));
out(A) = temp(A);
Or
out = temp;
out(~A) = NaN;
  8 Commenti
Stephen23
Stephen23 il 14 Set 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;

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Resizing and Reshaping Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by