Making a monthly mean
显示 更早的评论
Hi
I have data for the geopotential for every 6 hours over a whole month. I want to get a mean over the data for the month. For example for January, I have 124 timesteps, each with their data, but I only want data for the whole month (1 dataset). I have tried, but I'm not sure if I've done it right? Pleas can anyone help me?
lon = ncread(filename,'longitude') ; nx = length(lon) ;
lat = ncread(filename,'latitude') ; ny = length(lat) ;
time = ncread(filename,'time') ; nt = length(time);
zmean = zeros([nx ny]);
for n = 1:nt
z = ncread(filename,'z',[1 1 nt],[nx ny 1]);
zx(:,1:ny) = z(:,ny:-1:1);
zmean = zmean + zx;
end
zmean = zmean/nt;
Here is (lon = 360x1), (lat = 181x1), (time = 124x1 int32), (z = 360x181)
采纳的回答
更多回答(1 个)
Jonas Damsbo
2018-10-27
0 个投票
2 个评论
jonas
2018-10-27
If you load the data one month at a time, then you can just average all the data along the time dimension. If you load more than one month, then you need to split the data in n segments when taking the mean (where n is the number of months).
Jonas Damsbo
2018-10-27
类别
在 帮助中心 和 File Exchange 中查找有关 Interpolation of 2-D Selections in 3-D Grids 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!