- MATLAB基礎及應用(第5版)
- 于潤偉 朱曉慧編著
- 2408字
- 2021-03-22 12:33:00
1.3 矩陣
1.3.1 矩陣的建立

MATLAB把矩陣作為基本運算對象。數值(標量)可被看成1×1的矩陣,矢量(一維數組)可被看成n×1或1×n的矩陣。在MATLAB中,不需要對矩陣的維數和類型進行說明,MATLAB會根據用戶所輸入的內容進行配置。創建矩陣有以下3種方法。
1.直接輸入創建矩陣
通過輸入矩陣中每個元素的值來建立一個矩陣,只需以左方括號開始,以逗號或空格為間隔輸入元素值,行與行之間用分號或單擊〈Enter〉鍵隔開,最后以右方括號結尾即可。當矩陣中的元素個數比較少時,這種方法非常適用。另外,用 “單引號” 界定的字符或字符串可創建字符矩陣。
【例1-6】 創建3×3數值矩陣A,B和字符矩陣C。


當矩陣較大時,可以分行輸入,用〈Enter〉鍵代替分號,這樣的輸入形式比較接近線性代數中的矩陣。任何矩陣的元素內部都不能有空格,否則會被MATLAB認為是兩個元素。
2.矢量法創建矩陣
矢量可以由冒號和數字產生。其格式為:

說明:矢量是從初值開始,以增量為步長,直到不超過終值的所有元素所構成的序列。步長可缺省,默認為 “1”。當矩陣中的元素很多且有規律時,可通過矢量來建立一個矩陣。其基本格式為:

【例1-7】 建立一個10以內的奇數矩陣。

3.函數法創建矩陣
利用函數可快速產生一些特別有用的矩陣,如單位矩陣、隨機矩陣及零矩陣等,特殊矩陣如表1-4所示。
表1-4 特殊矩陣

當某一項操作無結果時,MATLAB返回一個空矩陣。空矩陣的大小為零,但其確實存在于工作空間中,可以通過變量名訪問。
【例1-8】 建立空矩陣A、單位矩陣B、常數矩陣 C、均勻分布隨機矩陣 D、正態分布的隨機矩陣E、零矩陣F。


建立的矩陣將保存在MATLAB的工作區中,并可以隨時被調用。如果用戶不用clear命令清除它,或對它重新賦值,該矩陣將一直保存在工作區中直到MATLAB關閉為止。另外,矩陣函數中只有一個輸入參數,則建立的矩陣為方陣。
1.3.2 矩陣的基本運算
1.矩陣與標量的運算
運算包括加、減、乘、除和乘方運算。矩陣與標量運算是矩陣的每個元素對該標量的運算。MATLAB用符號 “∧” 計算乘方時,按照矩陣運算規則計算,要求矩陣為方陣;用符號“.∧” 計算乘方時,按照數組運算規則計算,對矩陣沒有限制。
【例1-9】 已知矩陣A=,標量b=3,計算A+b、A?b、A/b和A.∧b。


2.矩陣與矩陣的運算
(1)加減運算
兩個矩陣的維數完全相同時,可以進行矩陣加減法運算。如果兩個矩陣的維數不相等,則MATLAB將給出錯誤信息,提示兩個矩陣的維數不相等。
(2)乘法運算
兩個矩陣的維數相容時(A的列數等于B的行數),可以進行A乘B的乘法運算。
(3)除法運算
矩陣的除法運算包括左除和右除兩種運算。其中
左除:A\ B=A-1B,A為方矩陣。其中A-1=1/A
右除:A/B=AB-1 ,B為方矩陣。其中B-1=1/B
可見,左除和右除的運算過程以及對矩陣的要求是不一樣的,其數學意義也不同。
(4)點運算
兩個矩陣之間的點運算是按照數組運算規則計算,矩陣的對應元素直接運算。要求參加運算的矩陣大小必須相同。有 “.?” “./” 和 “.\” 3種運算符。
【例1-10】 已知矩陣 A=,矩陣 B=
,求 A?B、A.?B、A\B、A/B、A.\B和A./B的運算結果。


1.3.3 矩陣的操作

MATLAB中對矩陣的操作提供了多種簡便的方法,可以對矩陣進行元素操作、提取子塊、合并矩陣、轉置等操作。
1.元素操作
MATLAB允許用戶對一個矩陣的單個元素進行操作,可以通過元素的下標進行(行、列的序號是從1開始的),修改某些元素的值不會影響其他元素的值。
2.提取子塊
提取矩陣的某一部分,可以使用冒號表達式。在MATLAB中,冒號 “:” 表示 “全部”。
【例1-11】 輸入一個4×3的矩陣,選出前3行構成一個矩陣;選出前兩列構成另一個矩陣。

3.矩陣合并
把兩個矩陣合并成一個大矩陣,有兩種形式:

說明:A矩陣與B矩陣的列數必須相同,B矩陣補在A矩陣的下面。

說明:A矩陣與B矩陣的行數必須相同,B矩陣補在A矩陣的右面。
4.矩陣的轉置
用符號 “′”(單引號)可以進行矩陣的轉置運算。
5.矩陣的展開
矩陣的展開是按照矩陣在內存中的實際存放形式展開的。矩陣的元素在內存中是按列存放的,即先存放第1列,接著存放第2列……把一個矩陣內的所有元素統一展開成一個列矢量,其指令格式為:

【例1-12】 把矩陣A=和矩陣 B=(2 4 6)合并成一個矩陣,再轉置后展開。

6.矩陣的線性變換
MATLAB提供了一些矩陣變換函數,可以對矩陣作形式上的變換。矩陣的變換函數如表1-5所示。
表1-5 矩陣的變換函數

【例1-13】 建立一個3×3的魔方矩陣,提取其對角元素和下三角矩陣,并上下翻轉。

1.3.4 復數和復數矩陣
MATLAB允許在運算和函數中使用復數或復數矩陣。復數的表示借助于特殊的字符 i或j,其值在工作空間中都顯示為0+1.0000i。
1.復數
復數可由以下兩種方式輸入:

其中,3.14為復數幅角的弧度,3為復數的模。
2.復數矩陣
復數矩陣有下列兩種表示方法:

兩式具有相同的結果。另外,當復數的虛部為一個確定的數值(而不是變量或矩陣)時,輸入時可以省略i(或j)前面的 “?” 符號。另外,如果 i、j被定義為其他變量(例如在程序設計中常常習慣于將i和j作為循環變量),則應定義另一個新的復數單位,如

這里將i1定義成新的復數單位。
1.3.5 稀疏矩陣
在許多工程實踐中,經常會出現一些只包含幾個非零元素,而其他大量的元素都為零值的矩陣,這種矩陣被稱為稀疏矩陣。如果按普通的矩陣處理方法來處理這些矩陣,不但會占用許多存儲空間,同時也會嚴重地影響運行速度。為了避免這些缺點,對于那些具有大量零元素的矩陣,MATLAB采用一種不同于一般矩陣的處理方法,只存儲非零元素的數值以及這些元素所對應的下標。例如,設矩陣A=,A 是具有稀疏特征的矩陣,其完全存儲方式是列存儲每個元素,共有 12 個元素,即 2,0,0,0,0,0,3,0,0,1,0,0。其稀疏存儲方式為(1,1),2,(2,3),3,(3,2),1。稀疏存儲方式占用9個元素空間,當原矩陣更大且更加 “稀疏” 時,稀疏存儲方式會更有效地提高空間利用率。
雖然MATLAB對稀疏矩陣采用了特殊的處理,但其各種運算的規則仍然和完全矩陣一樣。另外,MATLAB也有專門的函數來處理稀疏矩陣,如表1-6所示。
表1-6 處理稀疏矩陣的主要函數

【例1-14】 將矩陣A=轉化為稀疏矩陣B,并察看;再將稀疏矩陣B轉化為完全矩陣C。

- 剪映短視頻剪輯零基礎一本通
- 中文版SolidWorks 2015技術大全
- OpenStack實戰指南
- Microsoft BizTalk Server 2010 Patterns
- 品悟:Alias 2014+Showcase產品可視化造型與渲染
- PPT 2016幻燈片設計與制作從入門到精通
- Blender 3D Architecture, Buildings, and Scenery
- Drupal: Creating Blogs, Forums, Portals, and Community Websites
- AutoCAD 2019中文版計算機輔助繪圖全攻略
- Oracle Warehouse Builder 11g: Getting Started
- 音樂日記:Studio One 6場景×風格編曲實用教程
- 中文版Photoshop CS5實用教程(第2版)
- 用友(T3)會計信息化軟件考前12小時
- Cinema 4D電商美工與視覺設計案例教程
- Photoshop CC從入門到精通