資源描述:
《matlab數(shù)值計(jì)算一》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第4講MATLAB數(shù)值計(jì)算一西南科技大學(xué)網(wǎng)絡(luò)教育系列課程數(shù)學(xué)軟件數(shù)學(xué)軟件主講教師:鮮大權(quán)副教授西南科技大學(xué)理學(xué)院數(shù)學(xué)系4.1特殊矩陣4.2矩陣分析4.3矩陣分解與線性方程組求解4.4數(shù)據(jù)處理與多項(xiàng)式計(jì)算4.1特殊矩陣4.1.1對(duì)角陣與三角陣1.矩陣的對(duì)角元素(1)提取矩陣的對(duì)角線元素設(shè)A為m×n矩陣,diag(A)函數(shù)用于提取矩陣A主對(duì)角線元素產(chǎn)生一個(gè)具有min(m,n)個(gè)元素的列向量。diag(A)函數(shù)還有更進(jìn)一步的形式diag(A,k),其功能是提取第k條對(duì)角線的元素。(2)構(gòu)造對(duì)角矩陣設(shè)V為具有m個(gè)元素的向量,diag(V)將產(chǎn)生一個(gè)m×m對(duì)角矩陣,其主對(duì)角線元素即為
2、向量V的元素。diag(V)函數(shù)也有更進(jìn)一步的形式diag(V,k),其功能是產(chǎn)生一個(gè)n×n(n=m+)對(duì)角陣,其第k條對(duì)角線的元素即為向量V的元素。例4.1先建立5×5矩陣A,然后將A的第1行元素乘以1,第2行乘以2,…,第5行乘以5。命令如下:A=[17,0,1,0,15;23,5,7,14,16;4,0,13,0,22;10,12,19,21,3;11,18,25,2,19];D=diag([1,2,3,4,5]);D*A2.矩陣的三角陣(1)下三角矩陣求矩陣A的下三角陣的MATLAB函數(shù)是tril(A)。tril(A)函數(shù)也有更進(jìn)一步的一種形式tril(A,k),其
3、功能是求矩陣A的第k條對(duì)角線以下的元素。(2)上三角矩陣在MATLAB中,提取矩陣A的上三角矩陣的函數(shù)是triu(A)和triu(A,k),其用法與提取下三角矩陣的函數(shù)tril(A)和tril(A,k)完全相同。4.1.2特殊矩陣的生成1.魔方矩陣函數(shù)magic(n),其功能是生成一個(gè)n階魔方陣。例4.2將101~125等25個(gè)數(shù)填入一個(gè)5行5列的表格中,使其每行每列及對(duì)角線的和均為565。命令如下:B=100+magic(5)2.范得蒙矩陣函數(shù)vander(V)生成以向量V為基礎(chǔ)向量的范得蒙矩陣。3.希爾伯特矩陣生成希爾伯特矩陣的函數(shù)是hilb(n)。MATLAB中,有一
4、個(gè)專門求希爾伯特矩陣的逆的函數(shù)invhilb(n),其功能是求n階的希爾伯特矩陣的逆矩陣。4.托普利茲矩陣生成托普利茲矩陣的函數(shù)是toeplitz(x,y),它生成一個(gè)以x為第1列,y為第1行的托普利茲矩陣。這里x,y均為向量,二者不必等長。5.友矩陣生成友矩陣的函數(shù)是:compan(P),生成多項(xiàng)式P的友矩陣。P是一個(gè)多項(xiàng)式的系數(shù)向量,高次冪系數(shù)排在前,低次冪排在后。6.帕斯卡矩陣函數(shù)pascal(n)生成一個(gè)n階的帕斯卡矩陣。例4.3求(x+y)5的展開式。在MATLAB命令窗口,輸入命令:pascal(6)ans=111111123456136101521141020
5、355615153570126162156126252其次對(duì)角線上的元素1,5,10,10,5,1即為展開式的系數(shù)。4.2矩陣分析4.2.1矩陣結(jié)構(gòu)變換1.矩陣的轉(zhuǎn)置轉(zhuǎn)置運(yùn)算符是單撇號(hào)(')。2.矩陣的旋轉(zhuǎn)矩陣的旋轉(zhuǎn)利用函數(shù)rot90(A,k),功能是將矩陣A旋轉(zhuǎn)90o的k倍,當(dāng)k為1時(shí)可省略。3.矩陣的左右翻轉(zhuǎn)對(duì)矩陣A實(shí)施左右翻轉(zhuǎn)的函數(shù)是fliplr(A)。4.矩陣的上下翻轉(zhuǎn)對(duì)矩陣A實(shí)施上下翻轉(zhuǎn)的函數(shù)是flipud(A)。4.2.2矩陣的逆與偽逆1.矩陣的逆求一個(gè)矩陣的逆非常容易。求方陣A的逆可調(diào)用函數(shù)inv(A)。例4.4用求逆矩陣的方法解線性方程組。命令如下:A=[1
6、,2,3;1,4,9;1,8,27];b=[5,–2,6]';x=inv(A)*b一般情況下,用左除比求矩陣的逆的方法更有效,即x=Ab。2.矩陣的偽逆MATLAB中,求一個(gè)矩陣偽逆的函數(shù)是pinv(A)。例4.5求A的偽逆,并將結(jié)果送B。命令如下:A=[3,1,1,1;1,3,1,1;1,1,3,1];B=pinv(A)例4.6求矩陣A的偽逆。在MATLAB命令窗口,輸入命令:A=[0,0,0;0,1,0;0,0,1];pinv(A)4.2.3方陣的行列式求方陣A所對(duì)應(yīng)的行列式的值的函數(shù)是det(A)。例4.7用克萊姆(Cramer)方法求解線性方程組。程序如下:D=[
7、2,2,-1,1;4,3,-1,2;8,5,-3,4;3,3,-2,2];%定義系數(shù)矩陣b=[4;6;12;6];%定義常數(shù)項(xiàng)向量D1=[b,D(:,2:4)];%用方程組的右端向量置換D的第1列D2=[D(:,1:1),b,D(:,3:4)];%用方程組的右端向量置換D的第2列D3=[D(:,1:2),b,D(:,4:4)];%用方程組的右端向量置換D的第3列D4=[D(:,1:3),b];%用方程組的右端向量置換D的第4列DD=det(D);x1=det(D1)/DD;x2=det(D2)/DD;x3=det(