官术网_书友最值得收藏!

  • MATLAB 8.5基礎(chǔ)教程
  • 楊德平 孫顯錄 管殿柱等
  • 1375字
  • 2020-05-28 17:23:20

2.3 矩陣及其操作

MATLAB是基于矩陣運(yùn)算的軟件,所有數(shù)據(jù)都以矩陣形式存儲(chǔ)。最基本的數(shù)據(jù)結(jié)構(gòu)是二維的m×n矩陣(1×1的矩陣為標(biāo)量、1×n的矩陣為向量),矩陣的創(chuàng)建及操作非常靈活、簡(jiǎn)便。

2.3.1 矩陣的創(chuàng)建

1.?dāng)?shù)值矩陣的生成

矩陣可直接按行輸入每個(gè)元素來生成。同一行中的元素用逗號(hào)“,”或者空格符來分隔,且空格個(gè)數(shù)不限;不同的行用分號(hào)“;”分隔;所有元素在同一方括號(hào)“[]”內(nèi)。

例如:

2.特殊矩陣的生成

(1)全零陣

(2)全1陣

(3)單位陣

(4)產(chǎn)生以輸入元素為對(duì)角線元素的矩陣

說明:將向量v寫入矩陣X的主對(duì)角線上,而矩陣其他元素為0。k表示上移或下移行數(shù),正數(shù)表上移,負(fù)數(shù)表下移,0(默認(rèn)值)表在對(duì)角線上。

例如:

(5)Magic(魔方)矩陣

格式:M=magic(n) %產(chǎn)生n階魔方矩陣

例如:

2.3.2 矩陣元素操作

1)矩陣A的第r行:A(r,:)。

2)矩陣A的第r列:A(:,r)。

3)依次提取矩陣A的每一列,將A拉伸為一個(gè)列向量:A(:)。

4)取矩陣A的第i1~i2行、第j1~j2列構(gòu)成新矩陣:A(i1:i2,j1:j2)。

5)以逆序提取矩陣A的第i1~i2行,構(gòu)成新矩陣:A(i2:-1:i1,:)。

6)以逆序提取矩陣A的第j1~j2列,構(gòu)成新矩陣:A(:,j2:-1:j1)。

7)刪除A的第i1~i2行,構(gòu)成新矩陣:A(i1:i2,:)=[]。

8)刪除A的第j1~j2列,構(gòu)成新矩陣:A(:,j1:j2)=[]。

9)將矩陣A和B拼接成新矩陣(A和B的維數(shù)要適當(dāng)):[A B];[A;B]。

2.3.3 矩陣的維數(shù)

對(duì)于m×n的矩陣A,可以使用函數(shù)size獲得A的維數(shù)。

例如:

2.3.4 矩陣賦值與擴(kuò)展

MATLAB允許用戶對(duì)一個(gè)矩陣的單個(gè)元素進(jìn)行賦值和操作。例如,如果要將矩陣A中第2行第3列的元素賦為10,則可以通過下面的語句來完成:

>>A(2,3)=10

這時(shí)將只改變?cè)撛氐闹?,而不影響其他元素的值。如果給出的行下標(biāo)或列下標(biāo)大于原來矩陣的行數(shù)和列數(shù),則MATLAB將自動(dòng)擴(kuò)展原來的矩陣,并將擴(kuò)展后未賦值的矩陣元素置為0。例如:

2.3.5 矩陣元素及重排

1.矩陣元素

在MATLAB中,也可以采用矩陣元素的序號(hào)來引用矩陣元素。矩陣元素的序號(hào)就是相應(yīng)元素在內(nèi)存中的排列順序。在MATLAB中,矩陣元素按列存儲(chǔ),先存儲(chǔ)第一列,再存儲(chǔ)第二列,依此類推。例如:

這與人們常用的取法A(3,1),A(1,3)的結(jié)果相同。

2.矩陣重排

當(dāng)向量的元素個(gè)數(shù)能表示成m×n的形式時(shí),可以將其排為矩陣形式。

格式:A-reshape(x,m,n) %將向量x重新排成mXn的矩陣A

例如:

注:A(:)將矩陣A每一列元素堆疊起來,成為一個(gè)列向量,產(chǎn)生一個(gè)12×1的矩陣,等價(jià)于reshape(A,12,1),其轉(zhuǎn)置A(:)'就是行向量x。

2.3.6 矩陣復(fù)制

矩陣的階次在4階以下時(shí),矩陣元素的輸入可以逐個(gè)寫入。但是當(dāng)矩陣階次較大且結(jié)構(gòu)相同時(shí),用逐個(gè)輸入的方法太費(fèi)時(shí)間,這時(shí)可以用矩陣復(fù)制的辦法來加快輸入的速度,常用函數(shù)repmat()來進(jìn)行矩陣復(fù)制。

格式:repmat(A,m,n)%A為待復(fù)制的向量或矩陣,m、n為需要復(fù)制的行數(shù)和列數(shù)

【例2-10】 已知A=[1 3 6 9 12],試求:1)寫出對(duì)向量A復(fù)制6行的矩形B。

2)生成對(duì)向量A復(fù)制6行和兩列的矩陣C。

2.3.7 矩陣元素的查找

用find命令查找矩陣元素所在的位置及其對(duì)應(yīng)的值。

【例2-11】 己知,分別找出矩陣中大于0、等于20、大于等于30的位置。

2.3.8 稀疏矩陣

當(dāng)矩陣的大部分元素是零,只有少數(shù)元素為非零元素時(shí),這種矩陣稱為稀疏矩陣。

例如,對(duì)【例2-11】給定的矩陣A,試求出其稀疏矩陣B,再轉(zhuǎn)換成全矩陣C,并繪出稀疏矩陣B的標(biāo)示圖。

圖2-1 稀釋矩陣圖

圖2-2 稀釋矩陣標(biāo)示圖

主站蜘蛛池模板: 深圳市| 昌图县| 德惠市| 太康县| 马公市| 遵义市| 赤城县| 南雄市| 镇康县| 芜湖市| 资溪县| 罗平县| 云阳县| 泰来县| 崇左市| 朔州市| 江城| 翁牛特旗| 泗阳县| 德安县| 上杭县| 宁陵县| 新兴县| 楚雄市| 华阴市| 姚安县| 新丰县| 大新县| 买车| 内丘县| 沿河| 两当县| 应城市| 曲周县| 天水市| 保靖县| 阿鲁科尔沁旗| 兰溪市| 新和县| 中方县| 财经|