Sum two cells and write to a third cell
이전 댓글 표시
I have three cells A{10}, B{10} and C{10} of size 5x5. On each cell I want to do: A(:,1) = B(:,1) + C(:,1) I might also want to do: A(2:4,5) = B(2:4,5) + C(2:4,5)
Currently if I just write something like above, I will get error as Index exceeds matrix dimensions.
Any ideas on how this can be done (as fast as possible)
채택된 답변
추가 답변 (1개)
Walter Roberson
2015년 5월 11일
편집: Walter Roberson
2015년 5월 12일
0 개 추천
cellfun()
However, the method to do it "as fast as possible" is likely to involve creating some mex code written in C and optimizing the heck out of it. It would probably take you a few months to learn how to do properly -- I know the resident expert James Tursa is still learning about using mex after what must be at least 8 years of working with it.
댓글 수: 3
Walter Roberson
2015년 5월 11일
Use an anonymous function.
A = cellfun(@(a, b, c) [a(:,1:end-1), b(:,1) + c(:,1)], A, B, C, 'Uniform', false);
User05
2015년 5월 12일
카테고리
도움말 센터 및 File Exchange에서 Matrices and Arrays에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!