
上QQ阅读APP看书,第一时间看更新
18.cumsum函数
cumsum函数用于求矩阵的累积和。函数的语法格式为:
B=cumsum(A):从A中的第一个其大小不等于1的数组维度开始返回A的累积和。
· 如果A是向量,则cumsum(A)返回包含A元素累积和的向量。
· 如果A是矩阵,则cumsum(A)返回包含A每列的累积和的矩阵。
· 如果A为多维数组,则cumsum(A)沿第一个非单一维运算。
B=cumsum(A,dim):沿其指定的维度dim进行运算,dim指定为正整数。如果未指定dim值,则默认值是大小不等于1的第一个数组维度。
以一个二维输入数组A为例,整体效果如图1-8所示。

图1-8 dim取不同值的累积效果
cumsum(A,1)对A的列中的连续元素进行求和并返回一个包含每列累积和的行向量。
cumsum(A,2)对A的行中的连续元素进行求和并返回一个包含每行累积和的列向量。
如果dim大于ndims(A),则cumsum返回A。
B=cumsum(____,direction):direction为指定方向,其值为'forward'(默认值)或'reverse'。
· 'forward'从活动维度的1到end运算。
· 'reverse'从活动维度的end到1运算。
B=cumsum(____,nanflag):指定在上述任意语法的计算中包括还是忽略NaN值。cumsum(A,'includenan'),即会在计算中包括所有NaN值,cumsum(A,'omitnan')则忽略这些值。
【例1-18】计算矩阵中每列、每行的累积和。
