how can i take average of matrices in a cell?
2 次查看(过去 30 天)
显示 更早的评论
Hi, i have a cell array X{16*12} in which each element of cell X is a 3d array. now I want to take the average of all the matrices in the row which will result in another cell array Y{1,12} (each element of Y cell array consist of 3d array). can anyone please help me with this.
thank you
5 个评论
Bob Thompson
2018-3-15
Cool, glad I could help. I deliberately avoided putting the answer into a cell matrix since I figured it would just be numbers and a cell matrix of numbers is just extra complicated, but you do what you need to.
采纳的回答
Andrei Bobrov
2018-3-15
A - your cell array
one variant
[m,n,k] = size(A{1});
[h,l] = size(A);
A1 = reshape(cat(3,A{:}),m,n,k,h,l);
out = squeeze(num2cell(mean(A1,4),1:3))';
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!