【发布时间】:2015-01-24 21:28:31
【问题描述】:
我有一个 27x38x8760 矩阵,其中 27x38 代表一个网格和一年中的 8760 小时。我想对网格进行每日平均,这样我得到的矩阵是 27x38x365。 我将 reshape 用于二维矩阵,但是否有可能将它也用于 3d? 亲切的问候马蒂亚斯
【问题讨论】:
-
你如何使用 reshape 来获得每日平均值?
我有一个 27x38x8760 矩阵,其中 27x38 代表一个网格和一年中的 8760 小时。我想对网格进行每日平均,这样我得到的矩阵是 27x38x365。 我将 reshape 用于二维矩阵,但是否有可能将它也用于 3d? 亲切的问候马蒂亚斯
【问题讨论】:
假设A 是输入矩阵,看看这是否适合你 -
[m,n,r] = size(A)
daily_avg = squeeze(mean(reshape(A,m,n,24,[]),3))
或者避免 squeeze 和 permute -
daily_avg = mean(permute(reshape(A,m,n,24,[]),[1 2 4 3]),4)
【讨论】:
reshape
你也可以使用循环,
A = rand([27 38 8760]);
for i = 1 : 24 :8760
A_avg(:,:,ceil(i / 24)) = mean(A(:,:,i : i + 23),3);
end
【讨论】: