adding matrices inside cell array

16 次查看(过去 30 天)
how does one add all of the matrices stores in a cell array?
  1 个评论
Oleg Komarov
Oleg Komarov 2011-2-10
Be more specific, what do you intend by add the matrices? (take the sum of each single matrix, sum elementwise all the matrixes, all the single matrix sums are added together?

请先登录,再进行评论。

采纳的回答

vish
vish 2011-2-10
a={[1,2;3,4],[1,2;3,4];[1,2;3,4],[1,2;3,4]}
a{1}+a{2}+a{3}+a{4}
If there are many elements, use two for loops and run all the positions one by one using the equation c=a{i,j} + a{i+1,j+1}.

更多回答(1 个)

Oleg Komarov
Oleg Komarov 2011-2-10
An example:
% Create dummy input
c = {[1 2; 3 4], [3 3; 1 1]}
c =
[2x2 double] [2x2 double]
% Elementwise sum across matrices (only if ALL matrices have same size)
sum(cat(3,c{:}),3)
ans =
4 5
4 5
% Total sum of each matrix
cellfun(@(x)sum(x(:)),c,'un',0)
ans =
[10] [8]
% Grand sum
c = cellfun(@(x) x(:),c,'un',0);
sum(cat(1,c{:}))
ans =
18
Oleg
  1 个评论
Mariacarla Memeo
Mariacarla Memeo 2011-9-30
Excuse me Oleg,
can you explain your solution for the first case(sum of each element of matrices), because I have to sum 72 matrices [25x25] placed in a cell array [72x1] and I've no idea to how set your solution in my example. Please.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by