Mean of a cell array with different cell sizes?
6 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Sim
el 28 de Nov. de 2023
Comentada: Sim
el 28 de Nov. de 2023
Mean of a cell array with different cell sizes?
% This works:
a = {[1 3 4 5];[7 7 8 2];[5 4 1 9]}
mean(cell2mat(a),2)
% but this does not work:
a = {[1 3 4 5];[7 7 8 2];[5 4 1]}
mean(cell2mat(a),2)
0 comentarios
Respuesta aceptada
Dyuman Joshi
el 28 de Nov. de 2023
If the data in the cell array is compatible for concatenation, concatenate them and use mean for the specific dimension -
a = {[1 3 4 5];[7 7 8 2];[5 4 1 9]}
b = cat(1,a{:})
m = mean(b, 2)
If the data in the cell array is not compatible for concatenation, the best approach would be to pre-allocate the output and use a for loop. You could use cellfun() but that is just a for loop in disguise.
6 comentarios
Dyuman Joshi
el 28 de Nov. de 2023
@Sim, Using the name-argument pair will give the output as a cell array.
a = {[1 3 4 5];[7 7 8 2];[5 4 1]}
cellfun(@mean,a)
Más respuestas (0)
Ver también
Categorías
Más información sobre Logical 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!