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

 Respuesta aceptada

dpb
dpb el 28 de Dic. de 2015
cellfun(@plus,A,B,'uni',0)
cell2mat(A)+cell2mat(B)

2 comentarios

Alnazer
Alnazer el 28 de Dic. de 2015
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??
dpb
dpb el 28 de Dic. de 2015
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...

Iniciar sesión para comentar.

Más respuestas (1)

Sean de Wolski
Sean de Wolski el 28 de Dic. de 2015

2 votos

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

1 comentario

Greg Heath
Greg Heath el 29 de Dic. de 2015
command line documentation
help gadd
doc gadd
See also gsubtract, gmultiply, gdivide, gnegate.

Iniciar sesión para comentar.

Categorías

Preguntada:

el 28 de Dic. de 2015

Comentada:

el 29 de Dic. de 2015

Community Treasure Hunt

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

Start Hunting!

Translated by