adding same size cell arrays

조회 수: 16 (최근 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