フィルターのクリア

mean of each column of a cell array that contains cell arrays

3 ビュー (過去 30 日間)
Peter P
Peter P 2017 年 12 月 20 日
I have a cell array A(2x82). Cell array A contains in each cell cell arrays of different row sizes but equal column sizes. To be specific the column sizes are always 1.
First I want to combine the two rows of A and then calculate the mean of each column of cell array A. As a result i would get a 1x82 matrix.
Any suggestion? Thanks in advance, Peter
  2 件のコメント
Walter Roberson
Walter Roberson 2017 年 12 月 20 日
You have a 2 x 82 cell array of column vectors. When you take the mean of each column, I would expect a 2 x 82 numeric result, not a 1 x 82 numeric result.
Peter P
Peter P 2017 年 12 月 20 日
編集済み: Peter P 2017 年 12 月 20 日
You are right! I forgot to mention that I want to first combine the two rows of A and then calculate the mean. Any thoughts?

サインインしてコメントする。

採用された回答

Walter Roberson
Walter Roberson 2017 年 12 月 20 日
cellfun(@mean, A) %provided you want a 2 x 82 numeric result.
  1 件のコメント
Walter Roberson
Walter Roberson 2017 年 12 月 20 日
sum(cellfun(@sum, A)) ./ sum(cellfun(@length, A))

サインインしてコメントする。

その他の回答 (1 件)

Jos (10584)
Jos (10584) 2017 年 12 月 20 日
Another approach, as all cells contain a column vector:
M = arrayfun(@(k) mean([A(k,1) ; A(k,2)]), 1:size(A,1))
  4 件のコメント
Walter Roberson
Walter Roberson 2020 年 4 月 9 日
size(A,2) is the size of the second dimension of the array A -- the number of columns. 1:size(A,2) is then a vector of numbers, 1, 2, 3, 4, ... until the number of columns of A
Nandini Chatterjee
Nandini Chatterjee 2020 年 4 月 9 日
Thank you!

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeStructures についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by