簡體   English   中英

使用整形的平均3d矩陣matlab

[英]average 3d matrix matlab using reshape

我有一個27x38x8760矩陣,其中27x38表示網格,一年中的8760小時。 我想對網格進行每日平均,以使最終矩陣為27x38x365。 我正在為二維矩陣使用重塑,但是否有可能將其用於3D? 問候馬蒂亞斯

假設A為輸入矩陣,請看它是否對您有用-

[m,n,r] = size(A)
daily_avg = squeeze(mean(reshape(A,m,n,24,[]),3))

或避免squeezepermute -

daily_avg = mean(permute(reshape(A,m,n,24,[]),[1 2 4 3]),4)

您也可以使用循環

A = rand([27 38 8760]);
for i = 1 : 24 :8760
    A_avg(:,:,ceil(i / 24)) = mean(A(:,:,i : i + 23),3);
end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM