2012-07-17 5 views
2
A= [ 1 2 4 
    2 3 1 
    3 1 2 ] 

을 만들려면 :매트릭스 위에서 답이 있어야 할 수 있도록 cumsum이 매트릭스

B = [ 1 3 7 
     9 12 13 
    16 17 19 ] 

감사 cumsumreshape 조작하기

+0

http://www.mathworks.se/help/techdoc/ref/cumsum.html –

+1

무엇이'B = cumsum (A)'입니까? 방금 당신 자신의 질문에 대답했습니다 ... –

+0

아니, 나는 내 질문에 대답하지 않았다. 나는 A를 입력으로 갖는다. 그리고 나는 B를 출력으로 갖고 싶어. 내가 어떻게 할 수 있니? –

답변

5

가 당신을 얻을 수 있습니다

B = reshape(cumsum(reshape(A', 1, [])), size(A))' 
%# Equivalent to: B = A'; B = reshape(cumsum(B(:)), size(A))' 

이 결과는 다음과 같습니다.

B = 

    1  3  7 
    9 12 13 
    16 17 19 
+0

니스 (+1). 내부의'reshape '대신'subsref (A, struct ('type ','() ','subs ', {{': '}}))'를 사용할 수도 있습니다. :)'. 그러나 이것이 "변형"보다 더 빠르지는 모르겠다. –

+0

@Eitant : 고맙습니다. 많은 도움이되었습니다. –