一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

Matlab 基礎(chǔ)知識(shí)——矩陣操作及運(yùn)算(矩陣、數(shù)組區(qū)別)

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

看論文時(shí),經(jīng)常看到矩陣,但在記憶里又看到數(shù)組。那么問題來了,矩陣和數(shù)組分別是什么?二者有什么區(qū)別?看論文時(shí),經(jīng)常看到矩陣,但在記憶里又看到數(shù)組。那么問題來了,矩陣和數(shù)組分別是什么?二者有什么區(qū)別?

在數(shù)學(xué)上,定義m×n個(gè)數(shù){a_{ij}}(i=1, 2…, m ; j=1, 2,… n)排成的mn列的數(shù)表示為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)

矩陣最早來自于方程組的系數(shù)即常數(shù)所構(gòu)成的方陣,這一個(gè)概念有19世紀(jì)英國(guó)數(shù)學(xué)家凱利首先提出。

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

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

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

(1)矩陣是數(shù)學(xué)的概念,而數(shù)組是計(jì)算機(jī)程序設(shè)計(jì)領(lǐng)域的概念;

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

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

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

1、矩陣下表引用

   表達(dá)式(Matlab程序)

                                         函數(shù)功能

1

A(1)

將二維矩陣A重組為一維數(shù)組,返回?cái)?shù)組中第一個(gè)元素

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中得每列合并成一個(gè)列向量

8

A( j : k)

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

9

A([ j1 j2…])

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

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 行等的元素

下面將常用的幾個(gè)舉例說明:

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

         12 12 14 56 657;

         23 46 34 67 56 ];

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

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

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

         Matlab程序:

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

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

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

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

              其中,max_A是最大的數(shù)值,index是最大的數(shù)值所處的位置

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

             其中,max_A是最大的數(shù)值,index是最大的數(shù)值所處的位置

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

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

            其中,min_A是最小的數(shù)值,index是最小的數(shù)值所處的位置

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

          其中,min_A是最小的數(shù)值,index是最小的數(shù)值所處的位置

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、矩陣運(yùn)算(加、減、乘、除、點(diǎn)乘、點(diǎn)除等)

(1)A+B; 表示矩陣A和矩陣B相加(各個(gè)元素對(duì)應(yīng)相加);

(2)A-B; 表示矩陣A和矩陣B相減(各個(gè)元素對(duì)應(yīng)相減);

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

(4)A.*B; 表示矩陣A和矩陣B對(duì)應(yīng)元素相乘(點(diǎn)乘);

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

(6)A./B; 表示矩陣A和矩陣B對(duì)應(yīng)元素相除(點(diǎn)除);

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

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

Matlab平臺(tái)提供了大量的運(yùn)算函數(shù),很強(qiáng)勢(shì)。下面列舉了常用的函數(shù)

        函數(shù)

                      運(yùn)算法則

1

exp(x)

求以e為底數(shù)的x次冪

2

log(x)

求以e為底數(shù)對(duì)x值取對(duì)數(shù)

3

Log10(x)

求以10為底數(shù)x值取對(duì)數(shù)

4

sqrt(x)

求x的平方根

5

sin(x)

正弦函數(shù)

6

cos(x)

余弦函數(shù)

7

tan(x)

正切函數(shù)

8

asin(x)

反正弦函數(shù)

9

acos(x)

反余弦函數(shù)

10

atan(x)

反正切函數(shù)

11

mode(a,b)

a與b相除取余數(shù)

12

min(a,b)

返回a, b中較小的數(shù)值

13

max(a,b)

返回a, b中較大的數(shù)值

14

mean(x)

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

15

median(x)

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

16

sum(x)

x中各個(gè)列之間的元素求和

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

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    精品欧美日韩一二三区| 国产成人精品一区二三区在线观看 | 日本免费一本一二区三区| 亚洲精品成人午夜久久| 国产一级片内射视频免费播放| 国产精品十八禁亚洲黄污免费观看| 狠色婷婷久久一区二区三区| 欧美三级精品在线观看| 开心激情网 激情五月天| 久久综合日韩精品免费观看| 欧美欧美日韩综合一区| 特黄大片性高水多欧美一级| 日本女优一区二区三区免费| 成人三级视频在线观看不卡| 国产免费观看一区二区| 亚洲中文字幕三区四区| 老熟妇乱视频一区二区| 国产精品欧美一区二区三区| 亚洲视频一级二级三级| 少妇熟女精品一区二区三区| 亚洲国产av国产av| 亚洲一区二区久久观看| 欧美日韩三区在线观看| 久久人妻人人澡人人妻| 色哟哟在线免费一区二区三区| 一区二区三区日韩在线| 婷婷色香五月综合激激情| 成人精品视频在线观看不卡| 午夜精品一区二区av| 国产91人妻精品一区二区三区| 好东西一起分享老鸭窝| 精品人妻一区二区三区免费看| 日韩精品少妇人妻一区二区| 精品国产丝袜一区二区| 免费观看成人免费视频| 欧美精品中文字幕亚洲| 亚洲精品小视频在线观看| 东北女人的逼操的舒服吗| 黑丝国产精品一区二区| 日韩一区欧美二区国产| 丰满少妇高潮一区二区|