免费高清特黄a大片,九一h片在线免费看,a免费国产一级特黄aa大,国产精品国产主播在线观看,成人精品一区久久久久,一级特黄aa大片,俄罗斯无遮挡一级毛片

分享

Matlab 基礎知識——矩陣操作及運算(矩陣、數組區(qū)別)

 星光閃亮圖書館 2020-03-13

看論文時,經??吹骄仃?,但在記憶里又看到數組。那么問題來了,矩陣和數組分別是什么?二者有什么區(qū)別?看論文時,經??吹骄仃嚕谟洃浝镉挚吹綌到M。那么問題來了,矩陣和數組分別是什么?二者有什么區(qū)別?

在數學上,定義m×n個數{a_{ij}}(i=1, 2…, m ; j=1, 2,… n)排成的mn列的數表示為mn列的矩陣,并且用大寫加粗黑色字母表示。

                                                                                    {\mathbf{A}} = \left[ \begin{gathered} {a_{11}}{\text{ }}{a_{12}}{\text{ }} \cdots {\text{ }}{a_{1n}} \hfill \\ {a_{21}}{\text{ }}{a_{22}}{\text{ }} \cdots {\text{ }}{a_{2n}} \hfill \\ {\text{ }} \text{ }\vdots {\text{ }}\text{ }\text{ } \vdots {\text{ }} \text{ }\text{ }\ddots {\text{ }}\text{ }\text{ } \vdots \hfill \\ {a_{m1}}{\text{ }}{a_{m2}}{ \cdots{a_{mn}} \hfill \\ \end{gathered} \right]

只有一行的矩陣:{\bf{A}} = \left( {{a_1}{\rm{ }}{a_2}{\rm{ }} \cdots {\rm{ }}{a_n}} \right),也稱之為行向量;

只有一列的矩陣,也稱之為列向量

                                                                                   {\bf{A}} = \left( \begin{array}{l} {a_1}{\rm{ }}\\ {a_2}\\ {\rm{ }} \text{ }\vdots \\ {a_m} \end{array} \right)

矩陣最早來自于方程組的系數即常數所構成的方陣,這一個概念有19世紀英國數學家凱利首先提出。

數組是在程序設計中,為了處理方便,把具有相同類型的若干變量按有序的形式組織起來的一種形式。這些按序排列的同類數據元素的集合稱之為數組。

在Matlab中,一個數組可以分解為多個數組元素,這些數組元素可以是基本數據類型或是構造類型。因此按數組元素的類型不同,數組又可以分為數值數組、字符數組、單元數組、結構數組等各種類別。

看完上面的內容,矩陣和數組的區(qū)別似乎懂了一點。矩陣和數組在Matlab中存在很多方面的區(qū)別:

(1)矩陣是數學的概念,而數組是計算機程序設計領域的概念;

(2)作為一種變換或映射算符的體現,矩陣運算有著明確而嚴格的數學規(guī)則。而數組運算是Matlab軟件定義的規(guī)則,其目的是為了使數據管理方便,操作簡單,命令形式自然,執(zhí)行計算有效。

二者聯(lián)系主要體現在:在Matlab中,矩陣是以數組的形式存在的。因此,一維數組相當于向量;二維數組相當于矩陣。所以矩陣是數組的子集。

對矩陣的基本操作,主要有矩陣的構建、矩陣維度和矩陣大小的改變、矩陣的索引、矩陣的屬性信息的獲取、矩陣結構的改變等。對于這些操作,Matlab中都有固定的指令或者相應的庫函數與之相對應。在程序用到的時候,每次都要上網查,網上的很散。這里,我對我經常用的做了總結。以后用到可以查閱。

1、矩陣下表引用

   表達式(Matlab程序)

                                         函數功能

1

A(1)

將二維矩陣A重組為一維數組,返回數組中第一個元素

2

A(: , j)

返回二維矩陣A中第 j 列 列向量

3

A( i , :)

返回二維矩陣A中第 i 行 行向量

4

A(: , j : k)

返回二維矩陣A中第 j 列到第 k列 列向量組成的子矩陣

5

A( i : k , :)

返回二維矩陣A中第 i 行到第 k行 行向量組成的子矩陣

6

A( i : k , j : m)

返回二維矩陣A中第 i 行到第 k 行 行向量

和第 j 列到第 m 列 列向量的交集組成的子矩陣

7

A(:)

將二維矩陣A中得每列合并成一個列向量

8

A( j : k)

返回一個行向量,其元素為A(:)中的第 j 個元素到第 k 個元素

9

A([ j1 j2…])

返回一個行向量,其元素為A(:)中的第 j1,j2…個元素

10

A(: , [ j1 j2 …])

返回矩陣A的第 j1 列、第 j2 列等的列向量

11

A([ i1 i2 …] : ,)

返回矩陣A的第 i1 行、第 i2 行等的行向量

12

A([ i1 i2 …] , [ j1 j2 …])

返回矩陣A的第 j1列、第 j2 列等和矩陣A的第 i1 行、第 i2 行等的元素

下面將常用的幾個舉例說明:

例如:A=[1  2  3  4  5;

         12 12 14 56 657;

         23 46 34 67 56 ];

(1)將二維矩陣A轉化成一維矩陣(列向量):Matlab 默認將其轉化成列向量,需要行向量轉置即可。

 Matlab程序:   A(:)  %將二維矩陣其轉化成列向量

(2)讀取矩陣取前N行或N列的方法

         Matlab程序:

         A(1:2,:)  %讀取矩陣A前2行

         A(:,1:3)  %讀取矩陣A前3列

(3)求矩陣中每行或每列的最大值和最小值

         ① 找矩陣A每列的最大值:[max_A,index]=max(A,[],1);

              其中,max_A是最大的數值,index是最大的數值所處的位置

        ② 找矩陣A每行的最大值:[max_A,index]=max(A,[],2);

             其中,max_A是最大的數值,index是最大的數值所處的位置

同理可求出每行,每列的最小值。

       ③ 找矩陣A每列的最小值:[min_A,index]=min(A,[],1);

            其中,min_A是最小的數值,index是最小的數值所處的位置

      ④ 找矩陣A每行的最小值:[min_A,index]=min(A,[],2);

          其中,min_A是最小的數值,index是最小的數值所處的位置

2、矩陣合并

已知矩陣:

A=[1   2  3  4  5;

   12 12 14 56 657;

   23 46 34 67 56];

B=[1 1 1 1 1;

     2 2 2 2 2;

     3 3 3 3 3];

(1)矩陣A,B左右合并:horzcat(A,B); %矩陣A,B左右合并

(2)矩陣A,B上下合并:vertcat(A,B); %矩陣A,B上下合并

3、矩陣運算(加、減、乘、除、點乘、點除等)

(1)A+B; 表示矩陣A和矩陣B相加(各個元素對應相加);

(2)A-B; 表示矩陣A和矩陣B相減(各個元素對應相減);

(3)A*B; 表示矩陣A和矩陣B相乘;

(4)A.*B; 表示矩陣A和矩陣B對應元素相乘(點乘);

(5)A/B; 表示矩陣A與矩陣B相除法;

(6)A./B; 表示矩陣A和矩陣B對應元素相除(點除);

(7)A^B; 表示矩陣A的B次冪;

(8)A.^B; 表示矩陣A的每個元素的B次冪。

Matlab平臺提供了大量的運算函數,很強勢。下面列舉了常用的函數

        函數

                      運算法則

1

exp(x)

求以e為底數的x次冪

2

log(x)

求以e為底數對x值取對數

3

Log10(x)

求以10為底數x值取對數

4

sqrt(x)

求x的平方根

5

sin(x)

正弦函數

6

cos(x)

余弦函數

7

tan(x)

正切函數

8

asin(x)

反正弦函數

9

acos(x)

反余弦函數

10

atan(x)

反正切函數

11

mode(a,b)

a與b相除取余數

12

min(a,b)

返回a, b中較小的數值

13

max(a,b)

返回a, b中較大的數值

14

mean(x)

求x的列平均數(列平均)

15

median(x)

求x的列中位數(列中位數)

16

sum(x)

x中各個列之間的元素求和

17

rank(x)

X矩陣的秩

參考資料

[1] https://blog.csdn.net/yundanfengqing_nuc/article/details/49246477

[2] http://blog.sina.com.cn/s/blog_70c7b3780100ru11.html

[3] https://blog.csdn.net/carrie8899/article/details/8500088

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多