2016-07-04 74 views
0

的時間平均允許圖像有一個24X5矩陣M爲1小時數據5種不同的變量類型(每24個值)。一個數據矩陣

我喜歡平均數據到例如4小時的意思。

有沒有更好的辦法有三個重塑這樣做呢?

M = reshape(nanmean(reshape(reshape(M,1,[]), 4, [])), [], 5) 

或者,也許更好的閱讀:

M = reshape(M,1,[]); 
M = reshape(M,4,[]); 
M = nanmean(M); 
M = reshape(M,[],5); 

謝謝您的回答。

+0

有什麼問題你目前的做法?它可以被簡化爲「nanmean」(重塑(M,4,6,[]),1​​)' – Suever

+0

我認爲這沒有錯,但對我來說它看起來有點不熟練(如喜歡和來回:)我喜歡你的方法與擠壓,謝謝你的建議:) –

回答

0

reshape是不是在MATLAB昂貴的操作,因爲它只會改變數據是如何處理和不接觸或複製的基礎數據。

話雖這麼說,真正需要的只是一個調用reshape

means = squeeze(nanmean(reshape(M, 4, 6, []), 1)) 
+0

謝謝Suever :) –