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

2 views (last 30 days)
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 Comments

Sign in to comment.

Accepted Answer

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

More Answers (0)

Community Treasure Hunt

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

Start Hunting!