Subset and nanmean of a three dimensional array to a have a 2d array 1xndim

2 vues (au cours des 30 derniers jours)
Hi, I am very new to matlab and I need your help.
I have a 3d array 609x881x348 being lonxlatxtime of sst data.
I need to subset to a specific location, calculate mean (nanmean) and reshape this array in order to have a final 1x348 array, so having the nanmean of a subset of data in that specif area of interest for 348 time period.
So far I did this:
s1pos = (lon>=12 & lon<=16 & lat>=76 & lat<=77); %609x881 logical of zeros and ones
pt_lev(:,:,1) = nanmean(pt_lev8(s1pos));
But it doesn't give what am I looking for...
Hope the question is clear.
Thank you very much!!!
  4 commentaires

Connectez-vous pour commenter.

Réponse acceptée

Matt J
Matt J le 17 Juin 2021
pt_lev8=reshape(pt_lev8,[],348);
final = mean(pt_lev8(s1pos,:),1,'omitnan')

Plus de réponses (0)

Catégories

En savoir plus sur Resizing and Reshaping Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by