17.sum函数
sum函数的作用是对矩阵的元素求和。函数的语法格式为:
S=sum(A):返回A沿大小不等于1的第一个数组维度的元素之和。
· 如果A是向量,则sum(A)返回元素之和。
· 如果A是矩阵,则sum(A)将返回包含每列总和的行向量。
· 如果A是多维数组,则sum(A)沿大小不等于1的第一个数组维度计算,并将这些元素视为向量。此维度会变为1,而所有其他维度的大小保持不变。
S=sum(A,'all'):计算A的所有元素的总和。此语法适用于MATLAB R2018b及更高版本。
S=sum(A,dim):沿维度dim返回总和。以一个二维输入数组A为例:
· sum(A,1),对A的列中的连续元素进行求和并返回一个包含每列之和的行向量,效果如图1-5所示。
· sum(A,2),对A的行中的连续元素进行求和并返回一个包含每行之和的列向量,效果如图1-6所示。
当dim大于ndims(A)或者size(A,dim)为1时,sum返回A。
S=sum(A,vecdim)根据向量vecdim中指定的维度对A的元素求和。以2×3×3输入数组A为例。sum(A,[1 2])返回1×1×3数组,其元素是A的每个页面的总和,效果如图1-7所示。
图1-5 sum(A,1)求和结果
图1-6 sum(A,2)求和结果
图1-7 sum(A,[1 2])求和结果
S=sum(___,outtype):返回指定数据类型的总和。outtype可以是'default'、'double'或'native'。
S=sum(___,nanflag):指定在上述任意语法的计算中包括还是忽略NaN值。NaN条件,指定为下列值之一:
· 'includenan':计算总和时包括NaN值,生成NaN。
· 'omitnan':忽略输入中的所有NaN值。
sum(A,'includenan'):在计算中包括所有NaN值,而sum(A,'omitnan')则忽略这些值。
【例1-17】创建一个由1值组成的4×2×3数组,并计算沿第三个维度的总和。