1、sum函数
sum函数用于求矩阵列方向元素或向量的和,调用格式如下。
(1)B=sum(A):若A为向量,则返回所有元素的和;如A为矩阵,则分别对其各列所有元素求和并返回结果。
(2)B=sum(A,dim):分别对矩阵A中第dim维的所有元素求和。
应用示例:
>> A = pascal(6)
A =
1 1 1 1 1 1
1 2 3 4 5 6
1 3 6 10 15 21
1 4 10 20 35 56
1 5 15 35 70 126
1 6 21 56 126 252
>> A=A(:,1:4) % 创建演示矩阵
A =
1 1 1 1
1 2 3 4
1 3 6 10
1 4 10 20
1 5 15 35
1 6 21 56
>> B=sum(A) % 求各列的和
B =
6 21 56 126
>> C=sum(A') % 求转置后矩阵各列的和
C =
4 10 20 35 56 84
>> D=sum(A,1) % 求第1维方向也就是列方向各元素的和
D =
6 21 56 126
>> E=sum(A,2) % 求第2维方向也就是行方向各元素的和
E =
4
10
20
35
56
84
2.cumsum函数
cumsum函数用于求矩阵或向量的累积和,调用格式如下。
(1)B=cumsum(A):若输入参数A为一个向量,则返回该向量所有元素的累积和;若A为矩阵,则返回该矩阵列方向各元素的累积和。
(2)B=cumsum(A,dim):A为矩阵,dim为指定维数,若dim=1,则表示在列方向上求累积和;若dim=2,则表示在行方向上求累积和,如果A是多维矩阵那么dim可以为其他维数。
【例4-17】 cumsum函数应用示例。
>> cumsum(1:5)
ans =
1 3 6 10 15
>> A=magic(4)
A =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
>> cumsum(A) % 列方向上求累积和
ans =
16 2 3 13
21 13 13 21
30 20 19 33
34 34 34 34
>> cumsum(A,1) % 列方向上求累积和
ans =
16 2 3 13
21 13 13 21
30 20 19 33
34 34 34 34
>> cumsum(A,2) % 行方向上求累积和
ans =
16 18 21 34
5 16 26 34
9 16 22 34
4 18 33 34
cumsum函数和sum函数的区别
cumsum函数是累积和,结果中含有每一步计算的结果,而sum给出的则是最终求和的结果。