adding matrices inside cell array

16 Ansichten (letzte 30 Tage)
Franco
Franco am 10 Feb. 2011
how does one add all of the matrices stores in a cell array?
  1 Kommentar
Oleg Komarov
Oleg Komarov am 10 Feb. 2011
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?

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

vish
vish am 10 Feb. 2011
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}.

Weitere Antworten (1)

Oleg Komarov
Oleg Komarov am 10 Feb. 2011
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 Kommentar
Mariacarla Memeo
Mariacarla Memeo am 30 Sep. 2011
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.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Creating and Concatenating Matrices 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!

Translated by