Mean of a cell array with different cell sizes?
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commenti
Risposta accettata
Dyuman Joshi
il 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 Commenti
Dyuman Joshi
il 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)
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Logical in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!