我有一个1437x159x1253的大型矩阵(让我们称它为A)每日海冰数据超过2年。我需要编写一个代码,该代码从每个月获取每日数据并确实表示(A,3)。所以基本上,1253是天数。如果我从1月份开始,我需要做出前31天的平均值(A,3),然后是2月份的平均值(A,3),接下来的28天或29天。因为这些日子在31到30之间交替(2月28日或29日),我不知道如何编写代码来执行此操作。我可以手动完成,但这需要一段时间。
谢谢!
答案 0 :(得分:0)
您可以使用布尔值初始化包含每月天数的数组Mon = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
,以检查它是否为闰年(设置Mon(2) = 29
)。天数将帮助您适当地索引每个月,使用如下循环:
index=1;
for i=1:12
average = mean(A(:,:,index:(index+Mon(i)-1),3);
index = index+M(i); % Starting location of the next month
end