MATLAB--数字图像处理 cumsum()
程序员文章站
2022-04-01 10:25:40
...
概念
cumsum,通常用于计算一个数组各行的累加值。
用法
- B = cumsum(A,dim)
- B = cumsum(A)
调用格式及说明
格式一
B = cumsum(A)
返回数组不同维数的累加和
- 如果A是一个向量, cumsum(A) 返回一个向量,该向量中第m行的元素是A中第1行到第m行的所有元素累加和(原向量A是m行一列,返回结果也是m行一列)
- 如果A是一个矩阵, cumsum(A) 返回一个和A同行同列的矩阵,矩阵中第m行第n列元素是A中第1行到第m行的所有第n列元素的累加和(原向量A是m行n列,返回结果也是m行n列,相当于对每一列进行累加求和)
- 如果A是一个多维数组, cumsum(A)只对A中第一个非奇异维进行计算(也就是默认只对第一行进行累加求和)
注:
解释一下matlab中矩阵、数组、向量的概念
首先,matlab的是矩阵实验室的意思。也就是说matlab中的数据都被视为矩阵。
数组就是一个一行n列的矩阵,向量就是一个m行一列的矩阵。
格式二
B = cumsum(A,dim)
返回A中由标量dim所指定的维数的累加和。
例如:cumsum(A,1)返回的是沿着第一维(各列)的累加和,cumsum(A,2)返回的是沿着第二维(各行)的累加和。
MATLAB举例
测试代码
A=[1;
2;
3;
4;
5]
cumsum(A) % A是一个向量 m行1列
B=1:5 %B=[1 2 3 4 5]
cumsum(B) % B是一个数组 1行n列
C = [1 2 3;
4 5 6];%C是一个矩阵
cumsum(C,1)%对C的每一列进行累加求和
cumsum(C,2)%对C的每一行进行累加求和
结果
% A向量
A =
1
2
3
4
5
% cumsum(A)
ans =
1
3
6
10
15
% B数组
B =
1 2 3 4 5
% cumsum(B)
ans =
1 3 6 10 15
% C矩阵
C =
1 2 3
4 5 6
% cumsum(C,1) 对C的每一列进行累加求值
ans =
1 2 3
5 7 9
% cumsum(C,2) 对C的每一行进行累加求值
ans =
1 3 6
4 9 15
上一篇: MATLAB数字图像处理实验三