adding same size cell arrays

5 次查看(过去 30 天)
Alnazer
Alnazer 2015-12-28
评论: Greg Heath 2015-12-29
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

采纳的回答

dpb
dpb 2015-12-28
cellfun(@plus,A,B,'uni',0)
cell2mat(A)+cell2mat(B)
  2 个评论
Alnazer
Alnazer 2015-12-28
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 2015-12-28
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...

请先登录,再进行评论。

更多回答(1 个)

Sean de Wolski
Sean de Wolski 2015-12-28
If you have the neural networks toolbox:
gadd(A,B)
  1 个评论
Greg Heath
Greg Heath 2015-12-29
command line documentation
help gadd
doc gadd
See also gsubtract, gmultiply, gdivide, gnegate.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by