我被困在與單元陣列有關的問題中。我有一個單元格數組X(size-400),每個元素都是一個大小爲(1x100)的矩陣。我想得到平均矩陣,以便我得到1x100的結果。我嘗試過cellfun和前面討論過的其他方法。我無法獲得理想的結果。我可以做到這一點,而無需將單元格陣列轉換爲矩陣。matlab中單元陣列的平均矩陣
0
A
回答
1
這是我會怎麼做:級聯所有1×100矢量垂直插入的矩陣,然後計算各列的均值:
x = {[9 4 5 4] [5 3 6 7] [8 2 4 1]}; % example cell array of 3 vectors of size 1×4
result = mean(vertcat(x{:}), 1); % concatenate vertically. Mean of each column
在這個例子中,
result =
7.3333 3.0000 5.0000 4.0000
如果你真的想要避免矩陣,你可以使用一個循環來累積值:
x = {[9 4 5 4] [5 3 6 7] [8 2 4 1]}; % example cell array of 3 vectors of size 1×4
result = zeros(size(x{1})); % initiallize
for k = 1:numel(x)
result = result + x{k}; % accumulate values
end
result = result/numel(x); % divide to obtain mean
0
您是否正確使用cellfun
? 可以採取具有在每個單元4層的元件,並且具有尺寸3
>> Cell1 = {[4 3 5 3], [1 2 3 4], [7 8 9 6]}
Cell1 =
[1x4 double] [1x4 double] [1x4 double]
使用匿名功能x
然後cellfun
需要x的每個細胞,其在我們的情況下將是意味着測試單元的一個例子Cell1
,然後最後我們採取由此產生的矩陣的意思
mean(cellfun(@(x) mean(x),Cell1))
ans =
4.5833
+0
感謝你的答案奧馬爾。我希望它像(4 + 1 + 7)/ 3,而不是每個單元的個體平均值。不管怎麼說,還是要謝謝你 – Vid
相關問題
- 1. Matlab - 存儲在單元陣列中的平均矩陣
- 2. 矩陣列表中的平均矩陣
- 3. 平均矩陣
- 4. MATLAB:3D矩陣單元陣列轉換
- 5. 陣列的平均值矩陣
- 6. matlab中的單元陣列均值
- 7. Matlab:平均多維矩陣單元的最優方法
- 8. MATLAB:乘法2D矩陣與3D矩陣單元陣列
- 9. MATLAB使用單元陣列中的元素填充矩陣
- 10. R:矩陣中的平均列對
- 11. Matlab - 矩陣陣列
- 12. 單元陣列到矩陣
- 13. 矩陣的平均行數
- 14. 平均矩陣的構造
- 15. 矩陣的Binning平均值
- 16. 操作存儲在單元陣列中的矩陣 - Matlab
- 17. Matlab 2x2矩陣的陣列和逐元矩陣/向量乘法
- 18. 如何獲得第一值的平均值在陣列矩陣中在Matlab
- 19. 如何計算陣列單元陣列的加權平均值?
- 20. MATLAB中的單元陣列
- 21. 單元陣列中的matlab
- 22. 平均值與楠矩陣的列值
- 23. 從矩陣計算元素平均值
- 24. Matlab單元陣列
- 25. 單元陣列MATLAB
- 26. 使用MATLAB將矩陣向量整合到單元陣列中?
- 27. Matlab:如何在矩陣中轉換單元陣列
- 28. 在單元陣列Matlab中乘以矩陣?
- 29. Matlab中的單元(或矩陣)結構
- 30. 循環陣列矩陣matlab
謝謝,第一個是簡單和緊湊 – Vid