adding same size cell arrays

Assume I have a matrices C1,C2 as follows:
C1 = nx1 cell each cell is [5x5 double].
C2 = nx1 cell each cell is [5x5 double].
How to calculate C3 as:
C3{1,1} = C1{1,1}+C2{1,1};
C3{2,1} = C1{2,1}+C2{2,1};
.
.
C3{n,1} = C1{n,1}+C2{n,1};
using cellfun or any other method without looping

 Accepted Answer

cellfun(@plus,A,B,'uni',0)
cell2mat(A)+cell2mat(B)

2 Comments

Just to clarify; your answer provides two ways to solve the problem;
C3 = cellfun(@plus,A,B,'uni',0);
Result in C3 a cell array, while
C3 = cell2mat(A)+cell2mat(B);
Result in C3 as array type double.
am l right??
Yes altho the latter is easily converted simply by enclosing in the curlies...
C3 = {cell2mat(A)+cell2mat(B)};
Which might have a performance advantage I've no idea...

Sign in to comment.

More Answers (1)

If you have the neural networks toolbox:
gadd(A,B)

1 Comment

command line documentation
help gadd
doc gadd
See also gsubtract, gmultiply, gdivide, gnegate.

Sign in to comment.

Asked:

on 28 Dec 2015

Commented:

on 29 Dec 2015

Community Treasure Hunt

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

Start Hunting!