|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
求助:请问mMatlab怎样计算月平均值?" s4 W/ ?/ i# y* ?+ U0 [
9 P! }3 _0 _$ X% {9 |1 z* j* o2 Q# ]4 D0 }
有5年的日数据(2011-2015),放在一个文件夹中,排列方式是test0510.clm2.h0.2011-01-01-00000.nc test0510.clm2.h0.2011-01-02-00000.nc .... test0510.clm2.h0.2015-12-31-00000.nc 我想要计算5年月TG的平均值,并且plot出月平均。 读取nc文件中的TG字段的方法是: a=ncread(str,'TG') 。我目前的想法是把所有数据分成5年,每年一个文件夹,然后每个文件夹又分为12个月,每个月一个文件夹,然后读取每个月的平均值,代码如下:
3 z- d% V$ W. r9 X; j( z. yInPath1='C:\Users\Administrator\Desktop\2015\1';
: W0 `, Q' Z) ]& ]3 R7 k ]1 jInput_dir1=dir(fullfile(InPath1,'*.nc')); . l: r5 Q% y. E7 }4 Q
Input_length1=length(Input_dir1);, U2 |: `% A, L/ a
a=[];# O! Y& T% t, ~: z# k( x, X
for i=1:Input_length14 W! [' Y: y/ H1 v+ A6 W) f
filename1=fullfile(InPath1,Input_dir1(i).name);
" t, u* q( }' |. b% Y% s1 F" _str=strcat(filename1)
, [; `) d; g! k' z& {a1=ncread(str,'TG') 0 b. J/ m- E) t! Y$ Z' u$ s
a=[a,a1]
# Y2 I. c+ Q8 s' |: Tend
+ @; o8 D: T/ Z% W: D9 yx1=mean(a)
( \ T' J2 b1 |6 ^$ U' x$ _+ ?然后再整理出每年12个月的数据,然后5年的数据再平均,得到5年月平均的数据,但是这样要手动计算很麻烦。 怎么再上面的代码中加入年和月,让他一次性输出5年月平均的数据? 另外如何不用划分文件夹,一次性在一个文件夹里面读取呢? ) } G2 }; t2 V s8 A0 d5 s! n' {
谢谢大佬~+ Q, V: E, U7 G, ~0 N
# P: H4 M& [/ ?) W2 d3 ~ |
|