多语言展示
当前在线:1657今日阅读:176今日分享:34

MATLAB 函数sum的用法简介

在malab中,函数sum是一个经常用到的函数,非常重要。下面小编将从三个方面详细的介绍一下这个sum函数,分别是sum函数的基本用法、数据类型和使用的技巧。
工具/原料

MATLAB 2014

基本用法
1

操作对象是向量:生成一个向量以及使用sum函数对向量进行操作.sum函数对向量的所有元素进行求和。调用格式:b=sum(a); a表示行向量,b表示行向量求和的值。例子如下:       >>a=[1 2 3 4 5];       >>b=sum(a);       b=            15

2

操作对象是一个矩阵:生成一个矩阵以及使用sum函数对矩阵进行操作。在MATLAB默认的情况下,sum函数对矩阵的每一列的元素进行求和,结果是一个横向量。调用格式:b=sum(a); a表示矩阵,b表示矩阵每列求和得到的行向量。例子如下:       >>a=[1 2 3                 4 5 6                 7 8 9];       >>sum(a)=                 [12 15 18];

数据类型
1

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型

2

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型

3

可使用类型参数‘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型

4

可使用类型参数‘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型。

使用技巧
1

操作对象为矩阵C=sum(sum(a));a为一个矩阵,结果为矩阵a所有元素的求和。示例如下:    >> a=[1 2 3               4 5 6               7 8 9];    >>sum(sum(a))     Ans=           45

2

操作对象为矩阵C=sum(diag(a)); a为一个方阵,结果为对角线元素之和,及矩阵的迹;     >> a=[1 2 3                4 5 6                7 8 9];     >>sum(diag(a))       Ans=              15

3

操作对象为矩阵C=sum(a(:,n)); a为一个矩阵,结果为第n列的所有元素之和,即矩阵的迹;      >> a=[1 2 3                 4 5 6                 7 8 9];     >>sum(a(:,2))    Ans=            15

4

操作对象为矩阵C=sum(a(n,:)); a为一个矩阵,结果为第n行的所有元素之和,即矩阵的迹;      >> a=[1 2 3                 4 5 6                 7 8 9];      >>sum(a(1,:))       Ans=               6

注意事项

如果您觉得有帮助请点个赞把!!如果有问题请私信我

推荐信息