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)

Categories

Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!