首頁 > 軟體

MATLAB 函數sum的用法簡介

2019-12-25 19:06:56

在malab中,函數sum是一個經常用到的函數,非常重要。下面小編將從三個方面詳細的介紹一下這個sum函數,分別是sum函數的基本用法、資料型別和使用的技巧。

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


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



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

 



IT145.com E-mail:sddin#qq.com