版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
Matlab數(shù)值計算
基礎功能內(nèi)容向量(一維矩陣)矩陣數(shù)組多項式一、向量輸入及其運算向量的生成:直接輸入
向量元素用[]括起來
行向量:元素之間用空格或逗號分隔
列向量:元素之間用分號分隔用冒號表達式生成
格式:X=X0:step:Xn
step缺省則默認為1線性等分向量的生成
格式:y=linspace(x1,x2,n)
生成n維行向量,y(1)=x1、y(n)=x(2)
若n缺省,則默認n=100對數(shù)等分向量的生成
格式:y=logspace(x1,x2,n)
生成n維行向量,y(1)=10^x1、y(n)=10^x(2)
若n缺省,則默認n=50向量的運算加、減、數(shù)乘點積dot(a,b),a、b必須同維叉積cross(a,b),a、b為三維向量兩個三維向量的叉積等于一個新的向量,該向量與前兩者垂直,且長度為前兩者張成的平行四邊形面積;混合積dot(a,cross(b,c))以a,b,c為棱的平行六面體的體積二、MATLAB矩陣2.1矩陣的建立
1.直接輸入法將矩陣的元素用方括號括起來,按矩陣行的順序輸入各元素,同一行的各元素之間用空格或逗號分隔,不同行的元素之間用分號分隔。例如
A=[123;456;789]
2.利用M文件建立矩陣對于比較大且比較復雜的矩陣,可以為它專門建立一個M文件。
例
利用M文件建立MYMAT矩陣。
(1)啟動有關編輯程序或MATLAB文本編輯器,并輸入待建矩陣.(2)把輸入的內(nèi)容以純文本方式存盤(設文件名為mymatrix.m)。
(3)運行該M文件,就會自動建立一個名為MYMAT的矩陣,可供以后使用。
3.利用MATLAB函數(shù)建立特殊矩陣幾個產(chǎn)生常用特殊矩陣的函數(shù):全零陣zeros、全一陣ones、單位陣eye、均勻分布隨機陣rand、正態(tài)分布隨機陣randn。這幾個函數(shù)的調(diào)用格式相似,下面以產(chǎn)生零矩陣的zeros函數(shù)為例進行說明。其調(diào)用格式是:
zeros(m)產(chǎn)生m×m零矩陣
zeros(m,n)產(chǎn)生m×n零矩陣。
zeros(size(A))產(chǎn)生與矩陣A同樣大小的零矩陣
例分別建立3×3、3×2和與矩陣A同樣大小的零矩陣。(1)建立一個3×3零矩陣:zeros(3)(2)建立一個3×2零矩陣:zeros(3,2)(3)建立與矩陣A同樣大小零矩陣:zeros(size(A))
此外,常用的函數(shù)還有reshape(A,m,n),它在矩陣總元素保持不變的前提下,將矩陣A重新排成m×n的二維矩陣。
例產(chǎn)生5階隨機方陣A,其元素為[10,90]區(qū)間的隨機整數(shù),然后判斷A的元素是否能被3整除。
(1)生成5階隨機方陣A。
A=fix((90-10+1)*rand(5)+10)(2)判斷A的元素是否可以被3整除。
P=rem(A,3)==0其他特殊矩陣函數(shù)希爾伯特矩陣hilb(n)希爾伯特矩陣的逆矩陣invhilb(n)托普利茲矩陣toeplitz(k,r)、toeplitz(c)友矩陣compan(p)生成多項式p的友矩陣,也就是他的特征多項式是p;hadamard(k)生成hadamard矩陣hankel函數(shù),生成hankel矩陣magic(n),生成n×n的魔方矩陣pascal函數(shù),生成pascal矩陣rosser,給出Rosser矩陣vander(x),給出向量x的范德蒙矩陣wilkinson(n),給出Wilkinson特征值測試矩陣
4.建立大矩陣大矩陣可由方括號中的小矩陣建立起來。例如
A=[123;456;789];C=[A,eye(size(A));ones(size(A)),A]
2.2矩陣的拆分1.矩陣元素MATLAB允許用戶對一個矩陣的單個元素進行賦值和操作。例如
A(3,2)=200也可以采用矩陣元素的序號來引用矩陣元素。
2.矩陣拆分
(1)利用冒號表達式獲得子矩陣①A(:,j)表示取A矩陣的第j列全部元素;A(i,:)表示A矩陣第i行的全部元素;A(i,j)表示取A矩陣第i行、第j列的元素。②A(i:i+m,:)表示取A矩陣第i~i+m行的全部元素;A(:,k:k+m)表示取A矩陣第k~k+m列的全部元素,A(i:i+m,k:k+m)表示取A矩陣第i~i+m行內(nèi),并在第k~k+m列中的所有元素。此外,還可利用一般向量和end運算符等來表示矩陣下標,從而獲得子矩陣。end表示某一維的末尾元素下標。如a(1,end)
(2)利用空矩陣刪除矩陣的元素在MATLAB中,定義[]為空矩陣。給變量X賦空矩陣的語句為X=[]。注意,X=[]與clearX不同,clear是將X從工作空間中刪除,而空矩陣則存在于工作空間,只是維數(shù)為0。
2.3多維矩陣以三維矩陣為例,常用的方法有4種:(1)對二維矩陣進行擴充得到三維矩陣。(2)若干個同樣大小的二維矩陣進行組合得到三維矩陣。(3)除產(chǎn)生單位矩陣的eye函數(shù)外,前面介紹的建立矩陣的函數(shù)都可以延伸到三維矩陣。(4)用cat函數(shù)構建多維矩陣。一般調(diào)用格式是:
cat(n,A1,A2,…,An)cat函數(shù)把大小相同的若干矩陣,沿第n維方向串接成高維矩陣。當n=1和2時,沿行和列的方向串接,結(jié)果是二維矩陣。當n=3時,沿頁的方向串接,結(jié)果是三維矩陣。
2.4矩陣的運算2.4.1基本算術運算
1.四則運算等
MATLAB的基本算術運算有:+(加)、-(減)、*(乘)、/(右除)、\(左除)、^(乘方)。幾點說明:1)加減運算與數(shù)字運算格式相同,要求兩矩陣是同階的;
2)乘法要求兩矩陣有相鄰公共維;
3)用矩陣除法求解方程組Ax=b,A是(n×m)階矩陣討論A的情況:n=m且非奇異,稱恰定方程;n>m,超定方程,沒有精確解,matlab使用最小二乘法來求解,來找到一個向量x使它對n個方程的總誤差最?。环椒ǎ篈\b如果b是矩陣B,則對B中的每一列相應的方程組求解
nnls(A,b)求非負的最小二乘解
lscov(A,b,v)求在已知協(xié)方差v的情況下的最小二乘解n<m,欠定方程,方程組有無窮多解,matlab在求解時給出一組解,無警告信息。2矩陣與常數(shù)間的運算常數(shù)與矩陣的各元素間進行運算,當作除法時,常數(shù)只能做除數(shù)。3矩陣的逆運算
inv命令4矩陣的行列式運算
det函數(shù)
3矩陣的逆運算
inv命令4矩陣的行列式運算
det函數(shù)5矩陣的冪運算
^算符6矩陣的指數(shù)運算
expm(X)常用矩陣指數(shù)函數(shù)
expm1(X)Pade法求矩陣指數(shù)
expm2(X)Taylor法求矩陣指數(shù)
expm3(X)特征值分解法求矩陣指數(shù)
7矩陣的對數(shù)運算
logm(A)8矩陣開方運算
sqrtm函數(shù)2.4.2矩陣的函數(shù)運算特征向量、特征值計算函數(shù)
eig、eigs奇異值函數(shù)
svd、svds條件數(shù)函數(shù)
cond、condest、rcond特征值的條件數(shù)
condeig范數(shù)函數(shù)
norm、normest秩函數(shù)
rank跡函數(shù)
trace
舉例:1.矩陣的逆求一個矩陣的逆非常容易。求方陣A的逆可調(diào)用函數(shù)inv(A)。例用求逆矩陣的方法解線性方程組。x1+2x2+3x3=5x1+4x2+9x3=-2x1+8x2+27x3=6命令如下:A=[1,2,3;1,4,9;1,8,27];b=[5,–2,6]';x=inv(A)*b
一般情況下,用左除比求矩陣的逆的方法更有效,即x=A\b。
2矩陣的秩
一個向量組的極大線形無關組的個數(shù)。MATLAB中,求矩陣秩的函數(shù)是rank(A)。例如,求例5.7中方程組系數(shù)矩陣D的秩,命令是:D=[2,2,-1,1;4,3,-1,2;8,5,-3,4;3,3,-2,2];r=rank(D)r=4說明D是一個滿秩矩陣。
3向量和矩陣的范數(shù)1.計算向量3種常用范數(shù)的函數(shù)(1)norm(V)或norm(V,2)計算向量V的2—范數(shù)(2)norm(V,1)計算向量V的1—范數(shù)(3)norm(V,inf)計算向量V的∞—范數(shù)
1-范數(shù):║x║1=│x1│+│x2│+…+│xn│
2-范數(shù):║x║2=(│x1│^2+│x2│^2+…+│xn│^2)^1/2
∞-范數(shù):║x║∞=max(│x1│,│x2│,…,│xn│)
V=[-1,1/2,1];v1=norm(V,1)%求V的1—范數(shù)v2=norm(V)%求V的2—范數(shù)vinf=norm(V,inf)%求∞—范數(shù)
2.矩陣的范數(shù)及其計算函數(shù)MATLAB中提供了求3種矩陣范數(shù)的函數(shù),其函數(shù)調(diào)用格式與求向量的范數(shù)的函數(shù)完全相同(含義請參見MATLABhelp)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];a1=norm(A,1)%求A的1—范數(shù)a2=norm(A)%求A的2—范數(shù)ainf=norm(A,inf)%求A的∞—范數(shù)
4矩陣的條件數(shù)和跡1.矩陣的條件數(shù)
用矩陣及其逆矩陣的范數(shù)的乘積表示矩陣的條件數(shù),矩陣條件數(shù)的大小是衡量矩陣“壞”或“好”的標志。
條件數(shù)大的矩陣稱為“壞矩陣”或“病態(tài)矩陣”。MATLAB中,計算矩陣A的3種條件數(shù)的函數(shù)是:(1)cond(A,1)計算A的1—范數(shù)下的條件數(shù)(2)cond(A)或cond(A,2)計算A的2—范數(shù)數(shù)下的條件數(shù)(3)cond(A,inf)計算A的∞—范數(shù)下的條件數(shù)A=[2,2,3;4,5,-6;7,8,9];C1=cond(A,1)C2=cond(A)C3=cond(A,inf)
2.矩陣的跡方陣對角元素之和。MATLAB中,求矩陣的跡的函數(shù)是trace(A)。例如,X=[223;45-6;789];trace(X)ans=16MATLAB在三維向量中的應用1.向量共線或共面的判斷例設X=(1,1,1),Y=(-1,2,1),Z=(2,2,2),判斷這三個向量的共線共面問題。命令如下:X=[1,1,1];Y=[-1,2,1];Z=[2,2,2];XY=[X;Y];YZ=[Y;Z];ZX=[Z;X];XYZ=[X;Y;Z];rank(XY)rank(YZ)rank(ZX)rank(XYZ)
2.向量方向余弦的計算例設向量V=(5,-3,2),求V的方向余弦。建立一個函數(shù)文件direct.m:functionf=f(v)r=norm(v);ifr==0f=0elsef=[v(1)/r,v(2)/r,v(3)/r];endreturn在MATLAB命令窗口,輸入命令:v=[5,-3,2];f=direct(v)
3.向量的夾角例設U=(1,0,0),V=(0,1,0),求U,V間的夾角θ。命令如下:U=[1,0,0];V=[0,1,0];r1=norm(U);r2=norm(V);UV=U*V';cosd=UV/r1/r2;D=acos(cosd)4.兩點間的距離例設U=(1,0,0),V=(0,1,0),求U、V兩點間的距離。命令如下:U=[1,0,0];V=[0,1,0];UV=U-V;D=norm(UV)
5.向量的向量積例設U=(2,-3,1),V=(3,0,4),求U×V。命令如下:U=[2,-3,1];V=[3,0,4];W=eye(3);A1=[W(1,:);U;V];A2=[W(2,:);U;V];A3=[W(3,:);U;V];UV=[det(A1),det(A2),det(A3)]UV=-12-596.向量的混合積例設U=(0,0,2),V=(3,0,5),W=(1,1,0),求以這三個向量構成的六面體的體積。命令如下:U=[0,0,2];V=[3,0,5];W=[1,1,0];A=[U;V;W];det(A)ans=67.點到平面的距離例求原點到平面X+Y+Z=1的距離。命令如下:u=[0,0,0];v=[1,1,1];%A=B=C=1,u1=u2=u3=0,D=-1r=abs(u*v'-1)/norm(v,2)r=0.57742.4.3矩陣分解函數(shù)特征值分解函數(shù)eig復數(shù)特征值對角陣與實數(shù)塊特征值對角陣地轉(zhuǎn)化cdf2rdf、rsf2csf奇異值分解svdLU分解[L,U]=lu(A)將方陣A分解為交換下三角矩陣L和上三角矩陣U,使A=LU[L,U,P]=lu(A)將方陣A分解為下三角矩陣L和上三角矩陣U,使PA=LUChol分解cholQR分解(正規(guī)正交矩陣Q與上三角形矩陣R)
[Q,R]=qr(A),根據(jù)方陣A,求一個正交矩陣Q和一個上三角矩陣R,使A=Q*R
例如,對矩陣A進行QR分解的命令是:
A=[2,1,-2;1,2,1;2,5,3];[Q,R]=qr(A)例:A=[2,1,4,6;1,2,1,5;4,1,3,4;6,5,4,2];[Q,D]=eig(A)Q*D*Q'ans=2.00001.00004.00006.00001.00002.00001.00005.00004.00001.00003.00004.00006.00005.00004.00002.0000結(jié)果與A相等,說明確實將A分解為了QDQ'的乘積。1、對角陣與三角陣矩陣的對角元素(1)提取矩陣的對角線元素設A為m×n矩陣,diag(A)函數(shù)用于提取矩陣A主對角線元素產(chǎn)生一個具有min(m,n)個元素的列向量。
diag(A,k),其功能是提取第k條對角線的元素。(2)構造對角矩陣設V為具有m個元素的向量,diag(V)將產(chǎn)生一個m×m對角矩陣,其主對角線元素即為向量V的元素。
diag(V,k),其功能是產(chǎn)生一個對角陣,其第k條對角線的元素即為向量V的元素。2.4.4矩陣的一些操作
例先建立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*A
矩陣的三角陣
(1)下三角矩陣求矩陣A的下三角陣的MATLAB函數(shù)是tril(A)。
tril(A)函數(shù)也有更進一步的一種形式tril(A,k),其功能是求矩陣A的第k條對角線以下的元素。
(2)上三角矩陣在MATLAB中,提取矩陣A的上三角矩陣的函數(shù)是triu(A)和triu(A,k),其用法與提取下三角矩陣的函數(shù)tril(A)和tril(A,k)完全相同。2、矩陣變向1.矩陣的轉(zhuǎn)置轉(zhuǎn)置運算符是單撇號(‘)2.矩陣的旋轉(zhuǎn)
rot90(A,k),功能是將矩陣A逆時針方向旋轉(zhuǎn)90o的k倍當k為1時可省略3.矩陣的左右翻轉(zhuǎn)
fliplr(A)4.矩陣的上下翻轉(zhuǎn)
flipud(A)5.第dim維翻轉(zhuǎn)
flipdim(A,dim)3、變維(1)reshape(x,m,n),將矩陣x變成m*n階(2)“:”符號例如:c(:)=a(:)
兩個矩陣必須預先定義維數(shù)三、矩陣的數(shù)組運算
在matlab中,數(shù)組的建立、存儲與矩陣相同,只是在計算時符號不同。數(shù)組間的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 半年工作總結(jié)模板
- DB2201T 62-2024 肉牛運輸應激綜合征防治技術規(guī)范
- 職業(yè)導論-房地產(chǎn)經(jīng)紀人《職業(yè)導論》押題密卷1
- 房地產(chǎn)經(jīng)紀操作實務-《房地產(chǎn)經(jīng)紀操作實務》押題密卷1
- 人資年度工作總結(jié)模板
- 農(nóng)學碩士答辯指南模板
- 年度目標達成總結(jié)模板
- 人教版四年級數(shù)學上冊寒假作業(yè)(六)(含答案)
- 河南省鄭州市2024-2025學年高二上學期期末考試 生物(含答案)
- 二零二五年食堂廚具定制設計與安裝合同2篇
- 矩形磚砌渠道施工方案
- 大數(shù)據(jù)與人工智能ppt
- 中醫(yī)科特色診療規(guī)范
- 建筑工程一切險條款版
- PEP小學六年級英語上冊選詞填空專題訓練
- 古建筑修繕項目施工規(guī)程(試行)
- GA 844-2018防砸透明材料
- 化學元素周期表記憶與讀音 元素周期表口訣順口溜
- 非人力資源經(jīng)理的人力資源管理培訓(新版)課件
- 鉬氧化物還原過程中的物相轉(zhuǎn)變規(guī)律及其動力學機理研究
- (完整word)2019注冊消防工程師繼續(xù)教育三科試習題及答案
評論
0/150
提交評論