mean of each column of a cell array that contains cell arrays
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Peter P
el 20 de Dic. de 2017
Comentada: Nandini Chatterjee
el 9 de Abr. de 2020
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 comentarios
Walter Roberson
el 20 de Dic. de 2017
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.
Respuesta aceptada
Walter Roberson
el 20 de Dic. de 2017
cellfun(@mean, A) %provided you want a 2 x 82 numeric result.
1 comentario
Walter Roberson
el 20 de Dic. de 2017
sum(cellfun(@sum, A)) ./ sum(cellfun(@length, A))
Más respuestas (1)
Jos (10584)
el 20 de Dic. de 2017
Another approach, as all cells contain a column vector:
M = arrayfun(@(k) mean([A(k,1) ; A(k,2)]), 1:size(A,1))
4 comentarios
Walter Roberson
el 9 de Abr. de 2020
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
Ver también
Categorías
Más información sobre Structures en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!