您的位置首页百科知识

MATLAB 函数sum的用法简介

MATLAB 函数sum的用法简介

的有关信息介绍如下:

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