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

使从上述矩阵的答案应该是:如何使cumsum这个矩阵

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

感谢

+0

http://www.mathworks.se/help/techdoc/ref/cumsum.html – 2012-07-17 06:24:08

+1

什么,'B = cumsum(A)'?你只是回答你自己的问题... – 2012-07-17 06:40:29

+0

不,我没有回答我的问题。我有A作为输入。我想把B当成输出。我该怎么做?你能帮助我吗? – 2012-07-17 06:51:13

回答

5

cumsumreshape摆弄可以让你有:

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)。你也可以使用subsref(A',struct('type','()','subs',{{':'}}))',它基本上是一个'A'(而不是内部'reshape' :)'。不过,不知道这是否比'reshape'更快。 – 2012-07-17 08:05:07

+0

@Eitant:非常感谢你的帮助。 – 2012-07-18 04:51:09