Mean of a cell array with different cell sizes?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Akzeptierte Antwort
Dyuman Joshi
am 28 Nov. 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 Kommentare
Dyuman Joshi
am 28 Nov. 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)
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Logical finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!