matlab中的矩陣的基本運算命令范文_第1頁
matlab中的矩陣的基本運算命令范文_第2頁
matlab中的矩陣的基本運算命令范文_第3頁
matlab中的矩陣的基本運算命令范文_第4頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1.1 矩陣的表示1.2 矩陣運算1.2.14特殊運算1 .矩陣對角線元素的抽取函數diag格式X=diag(v,k)%以向量v的元素作為矩陣X的第k條對角線元素,當k=0時,v為X的主對角線;當k>0時,v為上方第k條對角線;當k<0時,v為下方第k條對角線。X=diag(v)%以v為主對角線元素,其余元素為0構成X。v=diag(X,k)%抽取X的第k條對角線元素構成向量v。k=0:抽取主對角線元素;k>0:抽取上方第k條對角線元素;k<0抽取下方第k條對角線元素。v=diag(X)%抽取主對角線元素構成向量v。2 .上三角陣和下三角陣的抽取函數tril%取下三角部

2、分格式L=tril(X)%抽取X的主對角線的下三角部分構成矩陣LL=tril(X,k)%抽取X的第k條對角線的下三角部分;k=0為主對角線;k>0為主對角線以上;k<0為主對角線以下。函數triu%取上三角部分格式U=triu(X)%抽取X的主對角線的上三角部分構成矩陣UU=triu(X,k)%抽取X的第k條對角線的上三角部分;k=0為主對角線;k>0為主對角線以上;k<0為主對角線以下。3.矩陣的變維矩陣的變維有兩種方法,即用:“'和函數"reshape:前者主要針對2個已知維數矩陣之間的變維操作;而后者是對于一個矩陣的操作。(1):"&q

3、uot;變維%返回以矩陣A的元素構成的mxn矩陣B(2) Reshape函數變維格式B=reshape(A,m,n)B=reshape(A,m,n,p,)將矩陣A變維為mxnxpx-B=reshape(A,mnp)%同上B=reshape(A,siz)%由siz決定變維的大小,元素個數與A中元素個數相同。(5)復制和平鋪矩陣函數repmat格式B=repmat(A,m,n)%將矩陣A復制mxn塊,即B由mxn塊A平鋪而成。B=repmat(A,mn)%與上面一致B=repmat(A,mnp)%B由mxnxpx一個A塊平鋪而成repmat(A,m,n)%當A是一個數a時,該命令產生一個全由a組成

4、的mxn矩陣1.3 矩陣分解1.3.1 Cholesky分解函數chol格式R=chol(X)%如果X為n階對稱正定矩陣,則存在一個實的非奇異上三角陣R,滿足R'*R=X;若X非正定,則產生錯誤信息。R,p=chol(X)%不產生任何錯誤信息,若X為正定陣,則p=0,R與上相同;若X非正定,則p為正整數,R是有序的上三角陣。1.3.2 LU分解矩陣的三角分解又稱LU分解,它的目的是將一個矩陣分解成一個下三角矩陣L和一個上三角矩陣U的乘積,即A=LU函數lu格式L,U=lu(X)%U為上三角陣,L為下三角陣或其變換形式,滿足LU=X。L,U,P=lu(X)%U為上三角陣,L為下三角陣,P

5、為單位矩陣的行變換矩陣,滿足LU=PX1.3.3 QR分解將矩陣A分解成一個正交矩陣與一個上三角矩陣的乘積。函數qr格式Q,R=qr(A)%求得正交矩陣Q和上三角陣R,Q和R滿足A=QR。Q,R,E=qr(A)%求得正交矩陣Q和上三角陣R,E為單位矩陣的變換形式,R的對角線元素按大小降序排列,滿足AE=QRQ,R=qr(A,0)%產生矩陣A的經濟大小”分解Q,R,E=qr(A.0)R=qr(A)數字信息的損耗。C,R=qr(A,b)R=qr(A.0)C,R=qr(A,b,0)%E的作用是使得R的對角線元素降序,且%稀疏矩陣A的分解,只產生一個上三角陣%用于稀疏最小二乘問題:minimize|A

6、x-b|%針對稀疏矩陣A的經濟型分解%針對稀疏最小二乘問題的經濟型分解Q*R=A(:,E)。R,滿足R'*R=A'*A,這種方法計算A'*A時減少了內在的兩步解:C,R=qr(A,b),x=Rc。函數qrdelete格式Q,R=qrdelete(Q,R,j)%返回將矩陣A的第j列移去后的新矩陣的qr分解函數qrinsert格式Q,R=qrinsert(Q,R,j,x)%在矩陣A中第j列插入向量x后的新矩陣進行qr分解。若j大于A的列數,表示在A的最后插入列x1.3.6 特征值分解函數eig格式d=eig(A)%求矩陣A的特征值d,以向量形式存放dd=eig(A,B)%A

7、、B為方陣,求廣義特征值d,以向量形式存放d。V,D=eig(A)%計算A的特征值對角陣D和特征向量V,使AV=VD成立。'nobalance'起誤V,D=eig(A,'nobalance')%當矩陣A中有與截斷誤差數量級相差不遠的值時,該指令可能更精確。差調節(jié)作用。V,D=eig(A,B)%計算廣義特征值向量陣V和廣義特征值陣D,滿足AV=BVD。V,D=eig(A,B,flag)%由flag指定算法計算特征值D和特征向量V,flag的可能值為:chol'表示對B使用Cholesky分解算法,這里A為對稱Hermitian矩陣,B為正定陣。qz'

8、;表示使用QZ算法,這里A、B為非對稱或非Hermitian矩陣。說明一般特征值問題是求解方程:解的問題。廣義特征值問題是求方程:解的問題。1.3.7 奇異值分解函數svd格式s=svd(X)%返回矩陣X的奇異值向量U,S,V=svd(X)%返回一個與X同大小的對角矩陣S,兩個酉矩陣U和V,且滿足=U*S*V'。若A為mxn陣,則U為mxm陣,V為nxn陣。奇異值在S的對角線上,非負且按降序排列。U,S,V=svd(X,0)%得到一個有效大小”的分解,只11算出矩陣U的前n列,矩陣S的大小為nxno1.4 線性方程的組的求解我們將線性方程的求解分為兩類:一類是方程組求唯一解或求特解,另

9、一類是方程組求無窮解即通解。可以通過系數矩陣的秩來判斷:若系數矩陣的秩r=n(n為方程組中未知變量的個數),則有唯一解;若系數矩陣的秩r<n,則可能有無窮解;線性方程組的無窮解=對應齊次方程組的通解+非齊次方程組的一個特解;其特解的求法屬于解的第一類問題,通解部分屬第二類問題。1.4.1 求線性方程組的唯一解或特解(第一類問題)這類問題的求法分為兩類:一類主要用于解低階稠密矩陣一一直接法;另一類是解大型稀疏矩陣一一迭代法。1 .利用矩陣除法求線性方程組的特解(或一個解)方程:AX=b解法:X=Ab2 .利用矩陣的LU、QR和cholesky分解求方程組的解(1) LU分解:LU分解又稱G

10、auss消去分解,可把任意方陣分解為下三角矩陣的基本變換形式(行交換)和上三角矩陣的乘積。即A=LU,L為下三角陣,U為上三角陣。則:A*X=b變成L*U*X=b所以X=U(Lb)這樣可以大大提高運算速度。命令L,U=lu(A)(2) Cholesky分解若A為對稱正定矩陣,則Cholesky分解可將矩陣A分解成上三角矩陣和其轉置的乘積,即:其中R為上三角陣。方程A*X=b變成所以(3) QR分解對于任何長方矩陣A,都可以進行QR分解,其中Q為正交矩陣,R為上三角矩陣的初等變換形式,即:A=QR方程A*X=b變形成QRX=b所以X=R(Qb)3.4.2 求線性齊次方程組的通解在Matlab中,

11、函數null用來求解零空間,即滿足A?X=0的解空間,實際上是求出解空間的一組基(基礎解系)。格式z=null%z的列向量為方程組的正交規(guī)范基,滿足。%z的列向量是方程AX=0的有理基3.4.3 求非齊次線性方程組的通解非齊次線性方程組需要先判斷方程組是否有解,若有解,再去求通解。因此,步驟為:第一步:判斷AX=b是否有解,若有解則進行第二步第二步:求AX=b的一個特解第三步:求AX=0的通解第四步:AX=b的通解=AX=0的通解+AX=b的一個特解。1.6秩與線性相關性1.6.1 矩陣和向量組的秩以及向量組的線性相關性矩陣A的秩是矩陣A中最高階非零子式的階數;向量組的秩通常由該向量組構成的矩

12、陣來計算。函數rank格式k=rank(A)%返回矩陣A的行(或列)向量中線性無關個數k=rank(A,tol)%tol為給定誤差1.6.2 求行階梯矩陣及向量組的基行階梯使用初等行變換,矩陣的初等行變換有三條:1 .交換兩行(第i、第j兩行交換)2 .第i行的K倍3 .第i行的K倍加到第j行上去通過這三條變換可以將矩陣化成行最簡形,從而找出列向量組的一個最大無關組,Matlab將矩陣化成行最簡形的命令是rref或rrefmovie。函數rref或rrefmovie格式R=rref(A)%用高斯一約當消元法和行主元法求A的行最簡行矩陣RR,jb=rref(A)%jb是一個向量,其含義為:r=l

13、ength(jb)為A的秩;A(:,jb)為A的列向量基;jb中元素表示基向量所在的列。R,jb=rref(A,tol)%tol為指定的精度rrefmovie(A)%給出每一步化簡的過程1.7稀疏矩陣技術1.7.1 稀疏矩陣的創(chuàng)建函數sparse格式S=sparse(A)%將矩陣A轉化為稀疏矩陣形式,即由A的非零元素和下標構成稀疏矩陣S。若A本身為稀疏矩陣,則返回A本身。S=sparse(m,n)%生成一個mxn的所有元素都是0的稀疏矩陣S=sparse(i,j,s)%生成一個由長度相同的向量i,j和s定義的稀疏矩陣S,其中i,j是整數向量,定義稀疏矩陣的元素位置(i,j),s是一個標量或與i

14、,j長度相同的向量,表示在(i,j)位置上的元素。S=sparse(i,j,s,m,n)%生成一個mKn的稀疏矩陣,(i,j)對應位置元素為si,m=max(i)且n=max(j)。S=sparse(i,j,s,m,n,nzmax)%生成一個mKn的含有nzmax個非零元素的稀疏矩陣S,nzmax的值必須大于或者等于向量i和j的長度。1.7.2 將稀疏矩陣轉化為滿矩陣函數full格式A=full(S)%S為稀疏矩陣,A為滿矩陣。1.7.3 稀疏矩陣非零元素的索引函數find格式k=find(x)%按行檢索X中非零元素的點,若沒有非零元素,將返回空矩陣。i,j=find(X)%檢索X中非零元素的

15、行標i和列標ji,j,v=find(X)%檢索X中非零元素的行標i和列標j以及對應的元素值v1.7.4 外部數據轉化為稀疏矩陣函數spconvert格式S=spconvert(D)%D是只有3列或4列的矩陣說明:先運用10ad函數把外部數據(.mat文件或.dat文件)裝載于MATLAB內存空間中的變量T;T數組的彳t維為nnz或nnz+1,列維為3(對實數而言)或列維為4(對復數而言);T數組的每一行(以i,j,Sre,Sim形式)指定一個稀疏矩陣元素。1.7.5 基本稀疏矩陣1.帶狀(對角)稀疏矩陣函數spdiags格式B,d=spdiags(A)%從矩陣A中提取所有非零對角元素,這些元素

16、保存在矩陣B中,向量d表示非零元素的對角線位置。B=spdiags(A,d)%從A中提取由d指定的對角線元素,并存放在B中。A=spdiags(B,d,A)%用B中的列替換A中由d指定的對角線元素,輸出稀疏矩陣。A=spdiags(B,d,m,n)%產生一個mxn稀疏矩陣A,其元素是B中的列元素放在由d指定的對角線位置上。2 .單位稀疏矩陣函數speye格式S=speye(m,n)%生成mxn的單位稀疏矩陣S=speye(n)%生成nXn的單位稀疏矩陣3 .稀疏均勻分布隨機矩陣函數sprand格式R=sprand(S)%生成與S具有相同稀疏結構的均勻分布隨機矩陣R=sprand(m,n,den

17、sity)%生成一個mxn的服從均勻分布的隨機稀疏矩陣,非零元素的分布密度是densityR=sprand(m,n,density,rc)4 .稀疏正態(tài)分布隨機矩陣函數sprandn格式R=sprandn(S)R=sprandn(m,n,density)R=sprandn(m,n,density,rc)5 .稀疏對稱隨機矩陣%生成一個近似的條件數為1/rc、大小為mxn的均勻分布的隨機稀疏矩陣。%生成與S具有相同稀疏結構的正態(tài)分布隨機矩陣。%生成一個mxn的服從正態(tài)分布的隨機稀疏矩陣,非零元素的分布密度是density%生成一個近似的條件數為1/rc、大小為mxn的均勻分布的隨機稀疏矩陣。函數

18、sprandsym格式R=sprandsym(S)%生成稀疏對稱隨機矩陣,其下三角和對角線與S具有相同的結構,其元素服從均值為0、方差為1的標準正態(tài)分布。R=sprandsym(n,density)%生成nXn的稀疏對稱隨機矩陣,矩陣元素服從正態(tài)分布,分布密度為density。R=sprandsym(n,density,rc)%生成近似條件數為1/rc的稀疏對稱隨機矩陣R=sprandsym(n,density,rc,kind)%生成一個正定矩陣,參數kind取值為kind=1表示矩陣由一正定對角矩陣經隨機Jacobi旋轉得到,其條件數正好為1/rc;kind=2表示矩陣為外積的換位和,其條件數近似等于1/rc;kind=3表示生成一個與矩陣S結構相同的稀疏隨機矩陣,條件數近似為1/rc,density被忽略。1.7.6稀疏矩陣的運算1

溫馨提示

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

評論

0/150

提交評論