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

1 voto

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

Más información sobre Entering Commands en Centro de ayuda y File Exchange.

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