MATLAB 函数sum的用法简介
的有关信息介绍如下:在malab中,函数sum是一个经常用到的函数,非常重要。下面小编将从三个方面详细的介绍一下这个sum函数,分别是sum函数的基本用法、数据类型和使用的技巧。
操作对象是向量:
生成一个向量以及使用sum函数对向量进行操作.sum函数对向量的所有元素进行求和。
调用格式:b=sum(a); a表示行向量,b表示行向量求和的值。
例子如下:
>>a=[1 2 3 4 5];
>>b=sum(a);
b=
15
操作对象是一个矩阵:
生成一个矩阵以及使用sum函数对矩阵进行操作。在MATLAB默认的情况下,sum函数对矩阵的每一列的元素进行求和,结果是一个横向量。
调用格式:b=sum(a); a表示矩阵,b表示矩阵每列求和得到的行向量。
例子如下:
>>a=[1 2 3
4 5 6
7 8 9];
>>sum(a)=
[12 15 18];
设定sum函数的参数列表的参数dim,对矩阵每一列或者每一列求和或每一行求和,得到行向量或者列向量。
调用格式:b=sum(a,dim); a表示矩阵;dim等于1或者2,1表示每一列进行求和,2表示每一行进行求和;表示每列求和还是每行求和;b表示求得的行向量。
例子如下:
>>a=[1 2 3
4 5 6
7 8 9];
>>sum(a,1)=[12 15 18];
>>sum(a,2)=[ 6
15
24];
MATLAB默认的数据类型:如果没有规定输出与输入变量的数据类型,则默认double型
生成一个矩阵以及用sum函数进行操作。使用whos函数观察sum函数操作过程中的变量数据类型。
示例如下:
>>a=[1 2 3
4 5 6
7 8 9];
>>b=sum(a)
b=
[12 15 18]
>>whos
命令whos的结果表明矩阵a与结果向量b的数据类型都是double型
MATLAB默认的输出数据类型:如果输入变量不是single,输出变量的数据类型是double类型。如果输入变量的数据类型是single类型,则输出的数据类型为single类型;
生成一个Int8(整数型)矩阵以及用sum函数进行操作。使用whos函数观察sum函数操作的变量数据类型。
示例如下:
>>a=[1 2 3
4 5 6
7 8 9];
>>Int8(a)
>>b=sum(a)
b=
[12 15 18]
>>whos
结果观察:输入的a矩阵为int8型,输出的矩阵b为double型
可使用类型参数‘native’,使输入与输出的矩阵或向量的数据类型一致。
生成一个Int8(整数型)矩阵以及用sum函数进行操作。使用whos函数观察sum函数操作的变量数据类型。
调用格式:b=sum(a,type); type等于’native’时,输入变量与输出变量的数据类型是相同的。
示例如下:
>>a=[1 2 3
4 5 6
7 8 9];
>>Int8(a)
>>b=sum(a)
b=
[12 15 18]
>>whos
结果观察:输入的a矩阵为int8型,输出的矩阵b为int8型
可使用类型参数‘double’,强制使输出变量的数据为类型double。输入变量不管是不是single类型,输出的数据类型都是double类型。
生成一个Int8(整数型)矩阵以及用sum函数进行操作。使用whos函数观察sum函数操作的变量数据类型。
调用格式:b=sum(a,type); type等于’double’时,输出变量的输出类型为double型。
示例如下:
>>a=[1 2 3
4 5 6
7 8 9];
>>Int8(a)
>>b=sum(a)
b=[12 15 18]
>>whos
观察结果:输入的a矩阵为int8型,输出的矩阵b为double型。
操作对象为矩阵
C=sum(sum(a));a为一个矩阵,结果为矩阵a所有元素的求和。
示例如下:
>> a=[1 2 3
4 5 6
7 8 9];
>>sum(sum(a))
Ans=
45
操作对象为矩阵
C=sum(diag(a)); a为一个方阵,结果为对角线元素之和,及矩阵的迹;
>> a=[1 2 3
4 5 6
7 8 9];
>>sum(diag(a))
Ans=
15
操作对象为矩阵
C=sum(a(:,n)); a为一个矩阵,结果为第n列的所有元素之和,即矩阵的迹;
>> a=[1 2 3
4 5 6
7 8 9];
>>sum(a(:,2))
Ans=
15
操作对象为矩阵
C=sum(a(n,:)); a为一个矩阵,结果为第n行的所有元素之和,即矩阵的迹;
>> a=[1 2 3
4 5 6
7 8 9];
>>sum(a(1,:))
Ans=
6