欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MATLAB--数字图像处理 cumsum()

程序员文章站 2022-04-01 10:25:40
...

概念

cumsum,通常用于计算一个数组各行的累加值。

用法

  • B = cumsum(A,dim)
  • B = cumsum(A)

调用格式及说明

格式一
B = cumsum(A)

返回数组不同维数的累加和

  1. 如果A是一个向量, cumsum(A) 返回一个向量,该向量中第m行的元素是A中第1行到第m行的所有元素累加和(原向量A是m行一列,返回结果也是m行一列)
  2. 如果A是一个矩阵, cumsum(A) 返回一个和A同行同列的矩阵,矩阵中第m行第n列元素是A中第1行到第m行的所有第n列元素的累加和(原向量A是m行n列,返回结果也是m行n列,相当于对每一列进行累加求和
  3. 如果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