簡體   English   中英

如何在matlab中計算單元陣列元素的平均值?

[英]how to calculate mean across the elements of a cellarray in matlab?

我有尺寸64×8的cellarray在以下尺寸的元件,

520x1 double    520x1 double    520x1 double    520x1 double    520x1 double    520x1 double    520x1 double    520x1 double
520x1 double    520x1 double    520x1 double    520x1 double    520x1 double    520x1 double    520x1 double    520x1 double
520x1 double    520x1 double    520x1 double    520x1 double    520x1 double    520x1 double    520x1 double    520x1 double
...................

現在我需要MEAN跨8行中的每一列,這樣我會得到每行只有一個520X1細胞。

所以,在跨行應用平均值后,我的輸出應該是這樣的,

520x1 double
520x1 double
520x1 double
520x1 double
............

因此,我的輸出將是從 64x8 轉換而來的 64x1 元胞數組。

我嘗試使用以下命令執行此操作,

avgCell = {mean(cat(3,C{:}),3)}

但是,它給出了只有一個維度為520X1 的單元格的1X1單元格數組。

請糾正我,並建議我是否有任何功能可以處理此問題。 並告訴我是否需要循環來執行此操作?

% Create sample data...

A = cell(64,8);

for i = 1:64
    for j = 1:8
        A{i,j} = rand(520,1);
    end
end

% Calculate column-wise means...

B = mean(cell2mat(A),2);

% Reshape the result into a cell array...

C = mat2cell(B,repmat(520,64,1),1);

暫無
暫無

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

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