Matlab函数学习---sum函数(计算矩阵、数组和向量元素总
和)
实例1:创建⼀个向量并计算向量元素总和
实例2:创建⼀个矩阵并计算矩阵每列元素的总和
实例3:创建⼀个矩阵并计算矩阵每⾏元素的总和
实例4:创建⼀个三维数组并计算数组特定切⽚元素(维度1*维度2)的总和
实例5:创建⼀个三维数组并计算数组特定切⽚元素(维度2*维度3)的总和
实例6:创建⼀个三维数组并计算数组特定切⽚元素(维度1*维度3)的总和
实例7:创建⼀个三维数组并计算数组所有维度元素的总和
实例8:创建⼀个三维数组并计算数组沿第三维度元素的总和
实例9:创建⼀个int32类型向量并计算其元素的总和(输出类型不变)
实例10:创建⼀个向量并计算其元素的总和(不包括NaN值)
语法描述:
S = sum() 返回 A 沿⼤⼩不等于 1 的第⼀个数组维度的元素之和
如果 A 是向量,则 sum(A) 返回元素之和。
如果 A 是矩阵,则 sum(A) 将返回包含每列总和的⾏向量。
如果 A 是多维数组,则 sum(A) 沿⼤⼩不等于 1 的第⼀个数组维度计算,并将这些元素视为向量。此维度会变为 1,⽽所有其他维度的⼤⼩保持不变。
S = sum(,'all') 计算 A 的所有元素的总和。此语法适⽤于 MATLAB® R2018b 及更⾼版本
S = sum(,) 沿维度 dim 返回总和。例如,如果 A 为矩阵,则 sum(A,2) 是包含每⼀⾏总和的列向量
S = sum(,) 根据向量 vecdim 中指定的维度对 A 的元素求和。例如,如果 A 是矩阵,则 sum(A,[1 2]) 是 A 中所有元素的总和,因为矩阵的每个元素包含在由维度 1 和 2 定义的数组切⽚中
S = sum(___,) 使⽤上述语法中的任何输⼊参数返回指定数据类型的总和。outtype 可以是 'default'、'
double' 或 'native'
S = sum(___,) 指定在上述任意语法的计算中包括还是忽略 NaN 值。sum(A,'includenan') 会在计算中包括所有 NaN 值,
⽽ sum(A,'omitnan') 则忽略这些值
matlab学好了有什么用实例1:创建⼀个向量并计算向量元素总和
A = 1:10; %创建⼀个1-10的向量
S = sum(A) %对向量A求和
实例2:创建⼀个矩阵并计算矩阵每列元素的总和
A = [1 3 2; 4 2 5; 6 1 4]; %创建⼀个3*3的矩阵A
S = sum(A) %对矩阵A的每列元素进⾏求和
实例3:创建⼀个矩阵并计算矩阵每⾏元素的总和
A = [1 3 2; 4 2 5; 6 1 4]; %创建⼀个3*3的矩阵A
S = sum(A,2) %对矩阵A的每⾏元素进⾏求和
实例4:创建⼀个三维数组并计算数组特定切⽚元素(维度1*维度2)的总和
%沿第三个维度对 A 进⾏切⽚
A = ones(4,3,2); %创建⾏(维度1)*列(维度2)*⾼(维度3)为4*3*2,所有元素都为 1的三维数组A A(2,2,2) = 5; %将三维数组的维度3中,第2⾏,第2列的元素赋值为5
%沿第三个维度对 A 进⾏切⽚,维度3⼀共包含2个页⾯,每个页⾯均为 4×3 矩阵
S1 = sum(A,[1 2]) %维度3的两个页⾯均为 4×3 矩阵,分别计算维度3中每页的总和
三维数组A 第三维度进⾏切⽚
维度3的两个页⾯(切⽚1和切⽚2)的元素和各页⾯元素总和S1分别为:
实例5:创建⼀个三维数组并计算数组特定切⽚元素(维度2*维度3)的总和
%沿第⼀个维度对 A 进⾏切⽚
A = ones(4,3,2); %创建⾏(维度1)*列(维度2)*⾼(维度3)为4*3*2,所有元素都为 1的三维数组A
A(1,1,2) = 5; %将三维数组的维度3中,第1⾏,第1列的元素赋值为5
%使⽤向量维度参数指定要求和元素的维度(⾏和列),此为计算维度2(列)和维度3(⾼)的元素总和
%沿第⼀个维度对 A 进⾏切⽚,维度1⼀共包含4个页⾯,每个页⾯均为 2×3 矩阵
S1 = sum(A,[2 3]) %分别计算维度1中每页的总和
三维数组A 第⼀维度进⾏切⽚
维度3的两个页⾯(切⽚1和切⽚2)的元素为: 第⼀维度进⾏切⽚的各页⾯元素总和S1分别为:
注(维度解释):对于下例中3*4的矩阵A,⾏是维度1(矩阵A对应的是3⾏),列是维度2(矩阵A对应的是4列),如下图所⽰:
实例6:创建⼀个三维数组并计算数组特定切⽚元素(维度1*维度3)的总和
%沿第⼆个维度对 A 进⾏切⽚
A = ones(4,3,2); %创建⾏(维度1)*列(维度2)*⾼(维度3)为4*3*2,所有元素都为 1的三维数组A
A(1,1,2) = 5; %将三维数组的维度3中,第1⾏,第1列的元素赋值为5
%使⽤向量维度参数指定要求和元素的维度(⾏和列),此为计算维度1(⾏)和维度3(⾼)的元素总和
%沿第⼆个维度对 A 进⾏切⽚,维度2⼀共包含3个页⾯,每个页⾯均为 4×2 矩阵
S1 = sum(A,[1 3]) %分别计算维度2中每页的总和
三维数组A 第⼆维度进⾏切⽚
维度3的两个页⾯(切⽚1和切⽚2)的元素为: 第⼆维度进⾏切⽚的各页⾯元素总和S1分别为:
实例7:创建⼀个三维数组并计算数组所有维度元素的总和
⽅法⼀:
%计算数组所有维度元素的总和
A = ones(4,3,2); %创建⾏(维度1)*列(维度2)*⾼(维度3)为4*3*2,所有元素都为 1的三维数组A A(1,1,2) = 5; %将三维数组的维度3中,第1⾏,第1列的元素赋值为5
S1 = sum(A,[1 2 3]) %计算维度1、维度2和维度3中所有元素的总和
⽅法⼆:
%计算数组所有维度元素的总和
A = ones(4,3,2); %创建⾏(维度1)*列(维度2)*⾼(维度3)为4*3*2,所有元素都为 1的三维数组A A(1,1,2) = 5; %将三维数组的维度3中,第1⾏,第1列的元素赋值为5
%S1 = sum(A,[1 2 3]) %计算维度1、维度2和维度3中所有元素的总和
S1 = sum(A,'all') %计算数组A中所有维度的所有元素的总和
三维数组A
维度3的两个页⾯(切⽚1和切⽚2)的元素为: 三个维度元素总和S1为:
实例8:创建⼀个三维数组并计算数组沿第三维度元素的总和
%计算数组所有维度元素的总和
A = ones(4,3,2); %创建⾏(维度1)*列(维度2)*⾼(维度3)为4*3*2,所有元素都为 1的三维数组A A(1,1,2) = 5; %将三维数组的维度3中,第1⾏,第1列的元素赋值为5
S1 = sum(A,3) %计算数组沿第三维度元素的总和
三维数组A 沿第三维度元素的总和
维度3的两个页⾯(切⽚1和切⽚2)的元素为: 沿第三维度元素的总和S1为:
实例9:创建⼀个int32类型向量并计算其元素的总和(输出类型不变)
A = int32(1:10); %创建⼀个由 32 位整数类型(int32)组成的向量A
S = sum(A,'native') %计算向量A中元素的总和,并指定输出类型和输⼊数据类型(int32)相同
向量A的元素为: 输出总和S为:
实例10:创建⼀个向量并计算其元素的总和(不包括NaN值)
A = [1.77 -0.005 3.98 -2.95 NaN 0.34 NaN 0.19]; %创建⼀个包含NaN值的向量
S = sum(A,'omitnan') %计算向量A中不包括 NaN 值的元素的总和
%注:如果您不指定 'omitnan',则 sum(A) 会返回 NaN
向量A的元素为: 输出总和S为:
输⼊参数:
1、输⼊数组A-----指定为向量、矩阵或多维数组
如果 A 是标量,则 sum(A) 返回 A
如果 A 是 0×0 空矩阵,则 sum(A) 返回 0
2、维度向量dim-------指定为正整数向量
每个元素代表输⼊数组的⼀个维度。指定的操作维度的输出长度为 1,⽽其他保持不变。
以 2×3×3 输⼊数组 A 为例。则 sum(A,[1 2]) 返回 1×1×3 数组,其元素是 A 的每个页⾯的总和
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论