matlab-線性代數(shù)_第1頁(yè)
matlab-線性代數(shù)_第2頁(yè)
matlab-線性代數(shù)_第3頁(yè)
matlab-線性代數(shù)_第4頁(yè)
matlab-線性代數(shù)_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、一、矩陣的生成1.簡(jiǎn)單的矩陣的生成 (1)直接輸入矩陣元素 對(duì)直接從鍵盤(pán)輸入一系列元素生成矩陣,只要遵循下面幾個(gè)基本原則: 1、矩陣每一行的元素必須用空格或逗號(hào)分開(kāi); 2、在矩陣中,采用分號(hào)或回車(chē)表明每一行的結(jié)束; 3、整個(gè)輸入矩陣必須包含在方括號(hào)“”中。 注意:創(chuàng)建矩陣在方括號(hào)的末尾,可以用回車(chē)或分號(hào)結(jié)束。用回車(chē)結(jié)束,顯示所輸入的矩陣;用分號(hào)結(jié)束,所輸入的矩陣不顯示。 輸入:A=4,5,7,8;6,1,2,5;3,5,4,6;4,2,4,8 顯示:A =     4     5   

2、  7     8                        6     1     2     5         

3、0;              3     5     4     6                        4 

4、;    2     4     8 (2)生成大矩陣 在MATLAB中,可以將小矩陣連接起來(lái)生成一個(gè)較大的矩陣。事實(shí)上,前面直接輸入法生成矩陣就是將單個(gè)元素連接起來(lái)生成矩陣。方括號(hào)“”就是連接算子。 輸入:B=A,A+1;A+2,A+3 顯示:B =      4     5     7     8  &#

5、160;  5     6     8     9      6     1     2     5     7     2     3     6

6、     3     5     4     6     4     6     5     7      4     2     4  &

7、#160;  8     5     3     5     9      6     7     9    10     7     8    10 

8、0;  11      8     3     4     7     9     4     5     8      5     7     6&

9、#160;    8     6     8     7     9      6     4     6    10     7     5   &

10、#160; 7    11 2.常用矩陣的生成下面介紹一些常用矩陣的生成命令:zeros,ones,eye,rand和randn。 (1)zeros生成全0陣 調(diào)用格式為:B=zeros(n):生成n´n的全0矩陣;如果n不是標(biāo)量將給出出錯(cuò)信息。 B=zeros(m,n):生成m´n的全0矩陣。 B=zeros(size(A):生成與矩陣A大小相同的全0陣。 注意:在MATLAB中不需要預(yù)先定義矩陣的維數(shù),MATLAB自動(dòng)為矩陣分配存儲(chǔ)空間。盡管如此,如果采用全零陣為矩陣生成的全部元素或某一行、某一列的元素保留存儲(chǔ)空間,則大多數(shù)MATLAB程序

11、將運(yùn)行得更快。 (2)ones生成全1陣 調(diào)用格式為: Y=ones(n):生成n´n的全1矩陣;如果n不是標(biāo)量將給出出錯(cuò)信息。 Y=ones(m,n):生成m´n的全1陣。 Y=ones(size(A):生成與矩陣A大小相同的全1陣。 (3)eye生成單位陣 調(diào)用格式為: Y=eye(n):生成n´n的單位陣。 Y=eye(m,n):生成m´n的矩陣,其對(duì)角線元素為1,其它元素為0。 Y=eye(size(A):生成一個(gè)與矩陣A大小相同的單位陣。 注意:在MATLAB中,單位陣的定義比線性代數(shù)中的定義更廣泛。例如: 輸入:eye(3,2) 顯示:ans

12、 =      1     0      0     1      0     0 (4)rand生成均勻分布的隨機(jī)陣 調(diào)用格式為: Y=rand(n):生成一個(gè)n´n的隨機(jī)陣:如果n不是標(biāo)量將給出出錯(cuò)信息。 Y=rand(m,n):生成一個(gè)m´n隨機(jī)陣。 Y=rand(size(A):生成一個(gè)與矩陣A大小相同的隨機(jī)陣。 說(shuō)明:rand函

13、數(shù)產(chǎn)生0,1之間均勻分布的隨機(jī)數(shù)。 (5)randn正態(tài)分布隨機(jī)陣 命令的形式為: Y=randn(n):生成一個(gè)n´n的隨機(jī)陣:如果n不是標(biāo)量將給出出錯(cuò)信息。 Y=randn(m,n):生成一個(gè)m´n隨機(jī)陣。 Y=rand(size(A):生成一個(gè)與矩陣A大小相同的隨機(jī)陣。 二、矩陣運(yùn)算在MATLAB語(yǔ)言中,矩陣的運(yùn)算既可以使用運(yùn)算符,也可以使用等效的運(yùn)算函數(shù)。 (1)加法和減法運(yùn)算 對(duì)于矩陣運(yùn)算可以由下面的命令執(zhí)行加減法: C=A+B或C=plus(A,B) C=A-B或C=minus(A,B) 這里要求A和B的大小必須相同,因?yàn)榧訙p運(yùn)算是把A和B的對(duì)應(yīng)元素相加減。如果

14、A和B的大小不同,MATLAB將自動(dòng)給出錯(cuò)誤信息。 特殊情況是A和B中有一個(gè)是標(biāo)量,MATLAB允許標(biāo)量和任意大小的矩陣相加減,結(jié)果是把矩陣中的每個(gè)元素和這個(gè)標(biāo)量相加減。 在MATLAB中,算術(shù)運(yùn)算符“+”和“-”可以作為一元運(yùn)算符使用。+A就是取A,而-A則是對(duì)A中的每個(gè)元素取負(fù)。 輸入:A=1 2 3;4 5 6; B=7 8 9;4 6 8;C=A+B 顯示:C =      8    10    12      8   

15、; 11    14 輸入:C=C-2 顯示:C =      6     8    10      6     9    12 輸入:C=-C 顯示:C =     -6    -8   -10     -6  

16、60; -9   -12 (2)乘法運(yùn)算 矩陣乘的運(yùn)算命令為:A*B或mtimes(A,B) 矩陣乘A*B是矩陣A和B的線性代數(shù)乘。就是說(shuō),對(duì)于非標(biāo)量A和B,矩陣A的列數(shù)必須等于矩陣B的行數(shù)。標(biāo)量可以和任意大小的矩陣相乘,就是線性代數(shù)中的數(shù)與矩陣的乘法。輸入:A=1 2 3;4 5 6;B=ones(3)顯示:B =      1     1     1      1    

17、1     1      1     1     1 輸入:C=A*B 顯示:C =      6     6     6     15    15    15 (3)矩陣求逆 行數(shù)和列數(shù)相等的矩陣稱為方陣,只有方陣有逆矩陣。方陣

18、的求逆函數(shù)為: B=inv(A) 該函數(shù)返回方陣A的逆陣。如果A不是方陣或接近奇異的,則會(huì)給出警告信息。 在實(shí)際應(yīng)用中,很少顯式的使用矩陣的逆。在MATLAB中不是使用逆陣x=inv(A)*B來(lái)求線性方程組Ax=B的解,而是使用矩陣除法運(yùn)算x=AB來(lái)求解。因?yàn)镸ATLAB設(shè)計(jì)求逆函數(shù)inv時(shí),采用的是高斯消去法,而設(shè)計(jì)除法解線性方程組時(shí),并不求逆,而是直接采用高斯消去法求解,有效的減小了殘差,并提高了求解的速度。因此,MATLAB推薦盡量使用除法運(yùn)算,少用求逆運(yùn)算。 (4)除法運(yùn)算 在線性代數(shù)中,只有矩陣的逆的定義,而沒(méi)有矩陣除法的運(yùn)算。而在MATLAB中,定義了矩陣的除法運(yùn)算。矩陣除法的運(yùn)算

19、在MATLAB中是一個(gè)十分有用的運(yùn)算。根據(jù)實(shí)際問(wèn)題的需要,定義了兩種除法命令:左除和右除。 矩陣左除: C=AB或C=mldivide(A,B) 矩陣右除; C=A/B或C=mrdivide(A,B) 通常矩陣左除不等于右除,如果A是方陣,AB等效于A的逆陣左乘矩陣B。也就是inv(A)*B。如果A是一個(gè)n´n矩陣,B是一個(gè)n維列向量,或是有若干這樣的列的矩陣,則AB就是采用高斯消去法求得的方程AX=B的解。如果A接近奇異的,MATLAB將會(huì)給出警告信息。 如果A是一個(gè)m´n矩陣,其中m不等于n,B是一個(gè)m維列向量,或是由若干這樣的列的矩陣,則X=AB是不定或超定方程組AX

20、=B的最小二乘解。通過(guò)QR分解確定矩陣A的秩k,方程組的解X每一列最多只有k個(gè)非零元素。如果k<n,方程的解是不唯一的,用矩陣除法求得的最小二乘解是這種類型解中范數(shù)最小的。 B/A大體等效于B*inv(A) (B右乘A的逆陣),但在計(jì)算方法上存在差異,更精確的,B/A=(ATBT)T。 輸入:A=1 2 3;4 5 7;4 7 9;B=1 3 7;3 5 7;8 5 1;矩陣左除。輸入:AB 顯示:ans =   -0.7500   -0.5000   -2.0000    5.7500   -3.

21、5000  -18.0000   -3.2500    3.5000   15.0000 矩陣右除。輸入:A/B 顯示:ans =   -0.0217    0.4565   -0.0435    0.6522    0.3043    0.3043   -0.5652    1.8696   -0.1304(5)乘方運(yùn)算矩陣乘

22、方命令為:C=AB或C=mpower(A,p) 矩陣的乘方運(yùn)算要求A是一個(gè)方陣,且p是一個(gè)標(biāo)量,Ap的意思是矩陣A的p次方。如果p是個(gè)整數(shù),則Ap是矩陣A自乘p次;如果p是一個(gè)負(fù)整數(shù),則首先對(duì)A求逆,然后將它自乘p次。輸入:A=1 2 3;4 5 7;4 7 9;A2顯示:ans =     21    33    44    52    82   110    68   10

23、6   142輸入:A-2 顯示:ans =    -1.0000   -1.3750    1.3750    6.0000   -0.6250   -1.3750   -4.0000    1.1250    0.3750(6)方陣的行列式方陣的行列式運(yùn)算函數(shù)是:a=det(A) 如果矩陣A不是方陣,會(huì)給出警告信息。輸入:A=4 1 2 4;1 2 0

24、2;10 5 2 0;0 1 1 7;det(A)顯示:ans =     0(7)矩陣的秩矩陣的求秩函數(shù)是:a=rank(A) 輸入:A=3 1 0 2;1 -1 2 -1;1 3 -4 4;rank(A)顯示:ans =  2三、矩陣變換(1)矩陣旋轉(zhuǎn)矩陣旋轉(zhuǎn)函數(shù)的用法如下:1B=fliplr(A):矩陣A關(guān)于垂直軸沿左右方向進(jìn)行列維翻轉(zhuǎn)。2B=flipud(A):矩陣A關(guān)于水平軸沿上下方向進(jìn)行行維翻轉(zhuǎn)。3B=rot90(A):矩陣A逆時(shí)針?lè)较蛐D(zhuǎn)90°4B=rot(A,k):矩陣A逆時(shí)針旋轉(zhuǎn)k*90°,其中k為整數(shù)輸入

25、:A=1 2 3;4 5 6 顯示:A =      1     2     3     4     5     6輸入:B=fliplr(A) 顯示:B =      3     2     1   

26、0; 6     5     4輸入:C=flipud(A) 顯示:C =      4     5     6     1     2     3輸入:D =rot90(A) 顯示:D=      3   &

27、#160; 6     2     5     1     4(2)矩陣的產(chǎn)生函數(shù)diag diag函數(shù)用于產(chǎn)生或提取對(duì)角線元素。它的用法有如下幾種:1X=diag(v,k):當(dāng)v是有n個(gè)元素的向量,返回方陣X,它的大小為n+|k|,向量v的元素位于X的第k條對(duì)角向上。k=0表示主對(duì)角線,k>0為主對(duì)角線以上,k<0為主對(duì)角線以下。2X=diag(v):將向量v的元素放在矩陣X的主對(duì)角線上,等同于上面k=0的情況。3v=di

28、ag(X,k):對(duì)于矩陣X,返回列向量v,它的元素由X的第k條對(duì)角線的元素構(gòu)成。4v=diag(X):返回X的主對(duì)角線元素,等同于上面k=0的情況。輸入:v=1 2 3;diag(v,0)顯示:ans =      1     0     0     0     2     0     0  

29、60;  0     3輸入:diag(v,-1) 顯示:ans =      0     0     0     0     1     0     0     0     0 

30、    2     0     0     0     0     3     0輸入:X=1 2 3;4 5 6;7 8 9 顯示:X =      1     2     3  

31、0;  4     5     6     7     8     9輸入:diag(X) 顯示:ans =      1     5     9輸入:diag(X,1) 顯示:ans =      2  &#

32、160;  6(3)矩陣的提取函數(shù)tril和triu 函數(shù)tril用于提取下三角矩陣,用法如下:1L=tril(X):返回X的下三角部分,其余部分用“0”補(bǔ)齊。2L=tril(X,k):返回X的第k條對(duì)角線以下的元素,其余部分用“0”補(bǔ)齊。k=0是主對(duì)角線,k>0位于主對(duì)角線以上,k<0位于主對(duì)角線以下。函數(shù)triu用于產(chǎn)生或提取上三角矩陣,用法如下:1U=triu(X):返回X的上三角部分元素,其余部分用“0”補(bǔ)齊。2U=triu(X,k):返回X的第k條對(duì)角線以上的元素,其余部分用“0”補(bǔ)齊。k=0是主對(duì)角線,k>0位于主對(duì)角線以上,k<0位于主對(duì)角線以下

33、。輸入:A=1,2,3;4,5,6 顯示:A =      1     2     3     4     5     6輸入:tril(A) 顯示:ans =      1     0     0   

34、60; 4     5     0輸入:tril(A,1) 顯示:ans =      1     2     0     4     5     6輸入:triu(A) 顯示:ans =      1     2     3     0     5&#

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論