函数功能
调用格式及说明
格式一:B = cumsum(A)
这种用法返回
数组不同维数的累加和。
首先,matlab的是矩阵实验室的意思。也就是说matlab中的数据都被视为矩阵。
数组就是一个一行n列的矩阵,向量就是一个n行一列的矩阵。
如果A是一个向量, cumsum(A) 返回一个向量,该向量中第m行的元素是A中第1行到第m行的所有元素累加和;
如果A是一个矩阵, cumsum(A) 返回一个和A同行同列的矩阵,矩阵中第m行第n列元素是A中第1行到第m行的所有第n列元素的累加和;
如果A是一个
多维数组, cumsum(A)只对A中第一个非奇异维进行计算。
格式二:B = cumsum(A,
dim)
这种调用格式返回A中由标量dim所指定的维数的累加和。例如:cumsum(A,1)返回的是沿着第一维(各列)的累加和,cumsum(A,2)返回的是沿着第二维(各行)的累加和。
具体用法参考程序示例或matlab的帮助文档。
Aaa =
1 2 3
4 5 6
>> cumsum(Aaa,1)
ans =
1 2 3
5 7 9
>> cumsum(Aaa,2)
ans =
1 3 6
4 9 15
相关函数
cumprod, prod, sum
程序示例编辑
% cumsum example
clc
clear
A=[1;2;3;4;5];
cumsum(A) % A是一个向量
B=1:5;
cumsum(B) % B是一个数组
C = [1 2 3; 4 5 6];
cumsum(C,1)
cumsum(C,2)
% 构造一个
多维数组
D = zeros(3, 3, 3);
D(:,:,2) = [1,2,3;4,5,6;7,8,9];
D(:,:,3) = ones(3,3)
cumsum(D)
输出:
ans =
1
3
6
10
15
ans =
1 3 6 10 15
ans =
1 2 3
5 7 9
ans =
1 3 6
4 9 15
D(:,:,1) =
0 0 0
0 0 0
0 0 0
D(:,:,2) =
1 2 3
4 5 6
7 8 9
D(:,:,3) =
1 1 1
1 1 1
1 1 1
ans(:,:,1) =
0 0 0
0 0 0
0 0 0
ans(:,:,2) =
1 2 3
5 7 9
12 15 18
ans(:,:,3) =
1 1 1
2 2 2
3 3 3