MATLAB 函数sum的用法简介

2022年7月25日 22点热度 0人点赞

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

工具/原料

  • MATLAB 2014

基本用法

  1. 1

    操作对象是向量:

    生成一个向量以及使用sum函数对向量进行操作.sum函数对向量的所有元素进行求和。

    调用格式:b=sum(a); a表示行向量,b表示行向量求和的值。

    例子如下:

           >>a=[1 2 3 4 5];

           >>b=sum(a);

           b=

                15

  2. 2

    操作对象是一个矩阵:

    生成一个矩阵以及使用sum函数对矩阵进行操作。在MATLAB默认的情况下,sum函数对矩阵的每一列的元素进行求和,结果是一个横向量。

    调用格式:b=sum(a); a表示矩阵,b表示矩阵每列求和得到的行向量。

    例子如下:

           >>a=[1 2 3

                     4 5 6

                     7 8 9];

           >>sum(a)=

                     [12 15 18];

  3. 3

    设定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];

    END

数据类型

  1. 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. 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. 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. 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型。

    END

使用技巧

  1. 1

    操作对象为矩阵

    C=sum(sum(a));a为一个矩阵,结果为矩阵a所有元素的求和。

    示例如下:

        >> a=[1 2 3

                   4 5 6

                   7 8 9];

        >>sum(sum(a))

         Ans=

               45

  2. 2

    操作对象为矩阵

    C=sum(diag(a)); a为一个方阵,结果为对角线元素之和,及矩阵的迹;

         >> a=[1 2 3

                    4 5 6

                    7 8 9];

         >>sum(diag(a))

           Ans=

                  15

     

  3. 3

    操作对象为矩阵

    C=sum(a(:,n)); a为一个矩阵,结果为第n列的所有元素之和,即矩阵的迹;

          >> a=[1 2 3

                     4 5 6

                     7 8 9];

         >>sum(a(:,2))

        Ans=

                15

  4. 4

    操作对象为矩阵

    C=sum(a(n,:)); a为一个矩阵,结果为第n行的所有元素之和,即矩阵的迹;

          >> a=[1 2 3

                     4 5 6

                     7 8 9];

          >>sum(a(1,:))

           Ans=

                   6

     

    END

注意事项

  • 如果您觉得有帮助请点个赞把!!如果有问题请私信我
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
展开阅读全部

laozhao

这个人很懒,什么都没留下

文章评论