- MATLAB 8.5基礎教程
- 楊德平 孫顯錄 管殿柱等
- 1375字
- 2020-05-28 17:23:20
2.3 矩陣及其操作
MATLAB是基于矩陣運算的軟件,所有數據都以矩陣形式存儲。最基本的數據結構是二維的m×n矩陣(1×1的矩陣為標量、1×n的矩陣為向量),矩陣的創建及操作非常靈活、簡便。
2.3.1 矩陣的創建
1.數值矩陣的生成
矩陣可直接按行輸入每個元素來生成。同一行中的元素用逗號“,”或者空格符來分隔,且空格個數不限;不同的行用分號“;”分隔;所有元素在同一方括號“[]”內。
例如:

2.特殊矩陣的生成
(1)全零陣

(2)全1陣

(3)單位陣

(4)產生以輸入元素為對角線元素的矩陣

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

(5)Magic(魔方)矩陣
格式:M=magic(n) %產生n階魔方矩陣
例如:

2.3.2 矩陣元素操作
1)矩陣A的第r行:A(r,:)。
2)矩陣A的第r列:A(:,r)。
3)依次提取矩陣A的每一列,將A拉伸為一個列向量:A(:)。
4)取矩陣A的第i1~i2行、第j1~j2列構成新矩陣:A(i1:i2,j1:j2)。
5)以逆序提取矩陣A的第i1~i2行,構成新矩陣:A(i2:-1:i1,:)。
6)以逆序提取矩陣A的第j1~j2列,構成新矩陣:A(:,j2:-1:j1)。
7)刪除A的第i1~i2行,構成新矩陣:A(i1:i2,:)=[]。
8)刪除A的第j1~j2列,構成新矩陣:A(:,j1:j2)=[]。
9)將矩陣A和B拼接成新矩陣(A和B的維數要適當):[A B];[A;B]。
2.3.3 矩陣的維數
對于m×n的矩陣A,可以使用函數size獲得A的維數。

例如:

2.3.4 矩陣賦值與擴展
MATLAB允許用戶對一個矩陣的單個元素進行賦值和操作。例如,如果要將矩陣A中第2行第3列的元素賦為10,則可以通過下面的語句來完成:
>>A(2,3)=10
這時將只改變該元素的值,而不影響其他元素的值。如果給出的行下標或列下標大于原來矩陣的行數和列數,則MATLAB將自動擴展原來的矩陣,并將擴展后未賦值的矩陣元素置為0。例如:

2.3.5 矩陣元素及重排
1.矩陣元素
在MATLAB中,也可以采用矩陣元素的序號來引用矩陣元素。矩陣元素的序號就是相應元素在內存中的排列順序。在MATLAB中,矩陣元素按列存儲,先存儲第一列,再存儲第二列,依此類推。例如:

這與人們常用的取法A(3,1),A(1,3)的結果相同。
2.矩陣重排
當向量的元素個數能表示成m×n的形式時,可以將其排為矩陣形式。
格式:A-reshape(x,m,n) %將向量x重新排成mXn的矩陣A
例如:

注:A(:)將矩陣A每一列元素堆疊起來,成為一個列向量,產生一個12×1的矩陣,等價于reshape(A,12,1),其轉置A(:)'就是行向量x。
2.3.6 矩陣復制
矩陣的階次在4階以下時,矩陣元素的輸入可以逐個寫入。但是當矩陣階次較大且結構相同時,用逐個輸入的方法太費時間,這時可以用矩陣復制的辦法來加快輸入的速度,常用函數repmat()來進行矩陣復制。
格式:repmat(A,m,n)%A為待復制的向量或矩陣,m、n為需要復制的行數和列數
【例2-10】 已知A=[1 3 6 9 12],試求:1)寫出對向量A復制6行的矩形B。
2)生成對向量A復制6行和兩列的矩陣C。

2.3.7 矩陣元素的查找
用find命令查找矩陣元素所在的位置及其對應的值。

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


2.3.8 稀疏矩陣
當矩陣的大部分元素是零,只有少數元素為非零元素時,這種矩陣稱為稀疏矩陣。

例如,對【例2-11】給定的矩陣A,試求出其稀疏矩陣B,再轉換成全矩陣C,并繪出稀疏矩陣B的標示圖。


圖2-1 稀釋矩陣圖

圖2-2 稀釋矩陣標示圖
- Excel 2019公式與函數應用大全(視頻教學版)
- Word/Excel/PPT 2010入門與提高(超值版)
- Excel讓辦公如此簡單
- Word/Excel/PPT 2021辦公應用從入門到精通
- 高效能辦公必修課:Excel數據處理
- 遠程辦公效率手冊
- Word排版之道
- Word/Excel/PPT實戰技術大全
- Word Excel PPT 三合一 效率手冊:早做完,不加班
- PPT制作應用大全2019
- Flash CS6核心應用案例教程(全彩慕課版)
- Excel公式與函數大辭典
- 征服Power BI:提升辦公數字化能力的45個實戰技巧
- 新編Excel公式、函數與圖表應用大全(2016實戰精華版)
- 炫舞Power Point:PPT動畫創意設計