MATLAB數(shù)值計算功能(向量、矩陣、數(shù)組、稀疏矩陣)_第1頁
MATLAB數(shù)值計算功能(向量、矩陣、數(shù)組、稀疏矩陣)_第2頁
MATLAB數(shù)值計算功能(向量、矩陣、數(shù)組、稀疏矩陣)_第3頁
MATLAB數(shù)值計算功能(向量、矩陣、數(shù)組、稀疏矩陣)_第4頁
MATLAB數(shù)值計算功能(向量、矩陣、數(shù)組、稀疏矩陣)_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、數(shù)值計算功能向量及其運算1、向量生成(1)、直接輸入向量元素用“ ”括起來,用空格或逗號生成行向量,用分號生成列向量a1=11 14 17 18a2=11,14,17,18a2=11;14;17;18%列向量用“”可以進(jìn)行向量轉(zhuǎn)置a1=11 14 17 18a4=a1'%a1行向量,a4列向量也可以用組合方法:A=1 2 3;B=7 8 9;C=A 4 ones(1,2) B(2)、等差元素向量生成冒號生成法:Vec=Vec0:n:Vecn,其中Vec表示生成的向量,Vec0表示第一個元素,n表示步長,Vecn表示最后一個元素使用linespace函數(shù):Vec=linespace(Ve

2、c0,n,Vecn),其中Vec表示生成的向量,Vec0表示第一個元素,n表示生成向量元素個數(shù)(默認(rèn)n=100),Vecn表示最后一個元素vec1=10:5:50vec2=50:-5:10vec3=linspace(10,50,6)2、向量的基本運算(1)、向量與數(shù)的四則運算向量中每個元素與數(shù)的加減乘除運算(除法運算時,向量只能作為被除數(shù),數(shù)只能作為除數(shù))vec1=linspace(10,50,6)vec1+100vec2=logspace(0,10,6)%對數(shù)等分向量vec2/100(2)、向量與向量之間的加減運算向量中的每個元素與另一個向量中相對應(yīng)的元素的加減運算vec1=linspace

3、(10,50,6)vec2=logspace(0,2,6)vec3=vec1+vec2(3)、點積、叉積和混合機點積:dot函數(shù),注意向量維數(shù)的一致性x1=11 22 33 44x2=1 2 3 4a=dot(x1,x2)sum(x1.*x2)%還可以采用sum函數(shù)計算向量的點積叉積:cross函數(shù),注意向量維數(shù)的一致性(由幾何意義可知,向量維數(shù)只能為3)x1=11 22 33 44x2=1 2 3 4x3=cross(x1,x2)%報錯,維數(shù)只能為3x1=11 22 33x2=1 2 3x3=cross(x1,x2)混合積:結(jié)果為一個數(shù),先求cross,再求dota=1 2 3b=2 4 3

4、c=5 2 1v=dot(a,cross(b,c)v=cross(a,dot(b,c)%報錯矩陣及其運算MATLAB的基本單位是矩陣,逗號或空格區(qū)分同一行不同元素,分號區(qū)分不同行1、矩陣的生成4種方法:在command window直接輸入;通過語句和函數(shù)產(chǎn)生;M文件中建立;外部數(shù)據(jù)文件中導(dǎo)入(1)、直接輸入:把矩陣元素直接排列到方括號中,每行元素用逗號或空格相隔,行與行之間用分號相隔martix=1 1 1 1;2,2,2,2;3,3,3,3;4 4 4 4冒號用法:A=1 1 1;1 2 3;1 3 6B=A(1:2,:)(2)文件導(dǎo)入:*.mat*.txt*.datload 文件名 參數(shù)

5、直接導(dǎo)入:FileImport Data2、矩陣的基本數(shù)值運算(1)、矩陣與是常數(shù)的四則運算(除法時,常數(shù)只能作為除數(shù))matrix=1 1 1 1;2,2,2,2;3,3,3,3;4 4 4 4m1=100+matrixm2=100-matrixm3=100*matrixm4=matrix/2(2)、矩陣之間的四則運算加減法:矩陣各個元素之間的加減法,必須是同型矩陣matrix=1 1 1 1;2,2,2,2;3,3,3,3;4 4 4 4m1=20*matrixm2=m1+matrixm3=11 22 33;1 2 3;4 5 6m4=matrix-m1m5=m3+m1%報錯,非同型矩陣乘

6、法:用*,左矩陣的列數(shù)需等于右矩陣的行數(shù)A=1 1 1 1;2 2 2 2;3 3 3 3;4 4 4 4B=1 5 9 2;6 3 5 7;2 5 8 9;4 5 6 3C=A*BD=1 5 9;6 3 5;2 5 8E=A*D% 報錯,4*4矩陣不能與3*3矩陣相乘除法:左除(AX=B則X=AB,相當(dāng)于X=inv(A)*B,但是左除穩(wěn)定性好)右除/(XA=B則X=B/A,相當(dāng)于X=B*inv(A))個人認(rèn)為:左除相當(dāng)于逆矩陣左乘,右除相當(dāng)于逆矩陣右乘%解方程組XA=B的解,本列中A=2 1 -1; 2 1 0;1 -1 1 ;B=1 -1 3;4 3 2A=2 1 -1; 2 1 0;1

7、-1 1B=1 -1 3;4 3 2X=B/A矩陣可以使用比較運算符:結(jié)果矩陣的對應(yīng)位置為0或1數(shù)據(jù)變換:floorceilroundfixremn,d=rat(A):A表示為兩個整數(shù)陣對應(yīng)元素相除的形式A=n./d3、矩陣的特征參數(shù)運算(1)、乘方與開方乘方:Ap計算A的p次方p>0:A的p次方p<0:A逆矩陣的abs(p)次方A=1 2 3 4;4 5 6 7;4 5 6 7;8 9 10 11B=A10開方:若有X*X=A,則有sqrtm(A)=XA=magic(5)B=sqrtm(A)B2%驗證正確性(2)、指數(shù)與對數(shù)指數(shù):expm(X)=V*diag(exp(diag(D

8、)/V(V,D=eig(X))對數(shù):L=logm(A),與指數(shù)運算互逆X=rand(4)Y=expm(X)A=randn(4)B=logm(A)(3)、逆運算inv函數(shù),充要條件:矩陣的行列式不為0A=1 0 0 0;1 2 0 0;2 1 3 0;1 2 1 4B=inv(A)廣義逆矩陣(偽逆):pinv(A)非奇異矩陣的pinv與inv相同(4)、行列式det函數(shù)A=1 0 0 0;1 2 0 0;2 1 3 0;1 2 1 4B=inv(A)x=det(A)y=det(B)i=x*y(5)、特征值E=eig(X):生成由X的特征值組成的列向量V,D=eig(X):V是以X的特征向量為列向

9、量的矩陣,D是由矩陣X的特征值構(gòu)成的對角陣D=eigs(X):生成由X的特征值組成的列向量(eigs函數(shù)使用迭代法求解矩陣的特征值和特征向量,X必須是方陣,最好是大型稀疏矩陣)V,D=eig(X):V是以X的特征向量為列向量的矩陣,D是由矩陣X的特征值構(gòu)成的對角陣X=magic(3)A=1 0 0;0 0 3;0 9 0E=eig(X)V D=eig(X)D=eigs(A)V D=eigs(A)(6)、矩陣(向量)的范數(shù)norm(X):2-范數(shù)norm(X,2):2-范數(shù)norm(X,1):1-范數(shù)norm(X,inf):無窮范數(shù)norm(X,fro):Frobenius范數(shù)normest(X

10、):只能計算2-范數(shù),并且是2-范數(shù)的估計值,用于計算norm(X)比較費時的情況X=hilb(4)norm(4)norm(X)norm(X,2)norm(X,1)norm(X,inf)norm(X,'fro')normest(X)(7)、矩陣的條件數(shù)運算矩陣的條件數(shù)是判斷矩陣“病態(tài)”成都的一個度量,矩陣A的條件數(shù)越大,表明A越病態(tài),反之,表明A越良態(tài),Hilbert矩陣就是有名的病態(tài)矩陣cond(X):返回關(guān)于矩陣X的2-范數(shù)的條件數(shù)cond(X,P):關(guān)于矩陣X的P-范數(shù)的條件數(shù)(P為1、2、inf或fro)rcond(X):計算矩陣條件數(shù)的倒數(shù)值,該值越接近0就越病態(tài),越

11、接近1就越良態(tài)condest(X):計算關(guān)于矩陣X的1-范數(shù)的條件數(shù)的估計值M=magic(3);H=hilb(4);c1=cond(M)c2=cond(M,1)c3=rcond(M)c4=condest(M)h1=cond(H)h2=cond(H,inf)h3=rcond(H)h4=condest(H)由以上結(jié)果可以看出,魔術(shù)矩陣比較良態(tài),Hilbert矩陣是病態(tài)的(8)、秩rank函數(shù)T=rand(6)rank(T)%6,滿秩矩陣T1=1 1 1;2 2 3r=rank(T1)%r=2,行滿秩矩陣(9)、跡trace函數(shù),主對角線上所有元素的和,也是特征值之和M=magic(5)T=tra

12、ce(M)T1=eig(M)T2=sum(T1)4、矩陣的分解運算(1)、三角分解(lu)非奇異矩陣A(n*n),如果其順序主子式均不為0,則存在唯一的單位下三角L和上三角陣U,從而使得A=LUL,U=lu(X):產(chǎn)生一個上三角矩陣U和一個下三角矩陣L,使得X=LU,X可以不為方陣L,U,P=lu(X):產(chǎn)生一個單位下三角矩陣L、一個上三角矩陣U和交換矩陣P,PX=LUY=lu(X):如果X是滿矩陣,將產(chǎn)生一個lapacks的dgetrf和zgetrf的輸出常式矩陣Y;如果X是稀疏矩陣,產(chǎn)生的矩陣Y將包含嚴(yán)格的下三角矩陣L和上三角矩陣U,這兩種情況下,都不會有交換矩陣PX=6 2 1 -1;2

13、 4 1 0;1 1 4 -1;-1 0 -1 3L U=lu(X)L U P=lu(X)Y=lu(X)(2)、正交分解(qr)對于矩陣A(n*n),如果A非奇異,則存在正交矩陣Q和上三角矩陣R,使得A滿足關(guān)系式A=QR,并且當(dāng)R的對角元都為正時,QR分解是唯一的Q,R=qr(A):產(chǎn)生一個與A維數(shù)相同的上三角矩陣R和一個正交矩陣Q,使得滿足A=QRQ,R,E=qr(A):產(chǎn)生一個交換矩陣E、一個上三角矩陣R和正交陣Q,這三者滿足AE=QR Q,R=qr(A,0):對矩陣A進(jìn)行有選擇的QR分解,當(dāng)矩陣A為m*n且m>n,那么只會產(chǎn)生具有前n列的正交矩陣QR=qr(A):只產(chǎn)生矩陣R,并且

14、滿足R=chol(A*A)A=17 3 4;3 1 12;4 12 8Q R=qr(A)Q R E=qr(A)Q R=qr(A,0)R=qr(A)Q,R=qrdelete(A,j):去除第j列求QR分解Q,R=qrdelete(A,j,x):在第j列插入x后求QR分解(3)、特征值分解(eig)V,D=eig(X):V是以矩陣X的特征向量作為列向量構(gòu)成的矩陣,D是矩陣X的特征值構(gòu)成的對角陣,滿足XV=VDV,D=eig(A,B):對矩陣A、B做廣義特征值分解,使得AV=BVDA=magic(4)V D=eig(A)Z=A*V-V*DB=17 3 4 2;3 1 12 6;4 12 8 7;1

15、2 3 4V D=eig(A,B)Z=A*V-B*V*D(4)、Chollesky分解(chol)當(dāng)矩陣A(n*n)對稱正定時,則存在唯一的對角元素為正的上三角矩陣R,使得A=R*R,當(dāng)限定R的對角元素為正的時候,該分解是唯一的當(dāng)矩陣A為非正定陣時,會提示出錯A=4 -1 1;-1 4.25 2.75;1 2.75 3.5R=chol(A)R'*R%=AA=0 4 0;3 0 1;0 1 3R=chol(A)%報錯,A為非正定陣(5)奇異值分解(svd)U,S,V=svd(X):與矩陣X維數(shù)相同的對角陣S、正交矩陣U和正交矩陣V,使得滿足X=USVU,S,V=svd(X,0):X為M*

16、N矩陣,當(dāng)M>N時,生成的矩陣U只有前N列元素被計算出來,并且S為N*N矩陣X=1 2 3;4 5 6;7 8 9U S V=svd(X)X=1 2 3;4 5 6;7 8 9;10 11 12U S V=svd(X)X=1 2 3;4 5 6;7 8 9;10 11 12cklU S V=svd(X,0)Schur分解(正交陣和schur陣)U,T=schur(A):A=UTUschur陣是主對角線元素為特征值的三角陣5、矩陣的一些特殊處理size(A):求矩陣A的行數(shù)、列數(shù)diag(A):求出矩陣A的對角元素repmat(A):將矩陣A作為單位,賦值成m*n矩陣,其中每個元素都是A矩

17、陣cat(k,A,B):k=1合并后形如A;B(A,B列數(shù)相等);k=1合并后形如A,B(A,B行數(shù)相等)(1)、矩陣的變維reshape(X,M,N):將矩陣X的所有元素分配到一個M*N的新矩陣,當(dāng)矩陣X的元素不是M*N時,返回錯誤reshape(X,M,N,P,):返回由矩陣X的元素組成的M*N*P*多維矩陣,若果M*N*P*與X的元素數(shù)不同時,將返回錯誤reshape(X,M,N,P,):與上一條相同A=rand(4,2)reshape(A,2,4)reshape(A,2,2,2)用冒號變維:A=1 2 3 4;5 6 7 8;9 10 11 12;B=ones(2,6);B(:)=A(

18、:)(2)、矩陣的變向rot90(A):A按逆時針旋轉(zhuǎn)90度rot90(A,K):A按逆時針旋轉(zhuǎn)90*K度filpud(X):將X上下翻轉(zhuǎn)fliplr(X):將X左右翻轉(zhuǎn)flipdim(X,DIM):將X的第DIM維翻轉(zhuǎn)X=1 4;2 5;3 6rot90(X)rot90(X,-1)flipud(X)fliplr(X)flipdim(X,2)%左右翻轉(zhuǎn)6、特殊矩陣的生成(1)、零矩陣和全1矩陣的生成A=zeros(M,N):生成M*N的零矩陣A=zeros(size(B):生成與B同型的零矩陣A=zeros(N):生成N階零矩陣仿真全1矩陣的生成與零矩陣的生成類似,使用ones函數(shù)A=zero

19、s(4,5)B=1 2 3 4 5;2 3 4 5 6;9 8 7 6 5;8 7 6 5 4A=zeros(size(B)A=zeros(5)C=ones(5,6)C=ones(3)(2)、對角矩陣的生成A=diag(V,K):V為某個向量,K為向量V偏離主對角線的列數(shù),K=0表示V為主對角線,K>00表示V在主對角線以上,K<0表示V在主對角線以下A=diag(V):相當(dāng)于K=0v=1 9 8 1 6diag(v,1)diag(v)(3)、隨機矩陣的生成rand(N):生成N*N的隨機矩陣,元素值在(0.0,1.0)之間rand(M,N)randn(N):生成N*N的隨機矩陣,

20、元素之服從正態(tài)分布N(0,1)randn(M,N)rand(5)randn(5)(4)、范德蒙德矩陣的生成A=vander(V):有A(I,j)= v(i)n-jv=1 3 5 7 9A=vander(v)(5)、魔術(shù)矩陣的生成它是一個方陣,方陣的每一行,每一列以及每條主對角線的元素之和都相同(2階方陣除外)magic(N):生成N階魔術(shù)矩陣,使得矩陣的每一行,每一列以及每條主對角線元素和相等,N>0(N=2除外)magic(2)magic(3)magic(4)(6)、Hilbert矩陣和反Hilbert矩陣的生成Hilbert矩陣的第i行、第j列的元素值為1/(i+j-1),反Hilb

21、ert矩陣是Hilbert矩陣的逆矩陣hilb(N):生成N階的Hilbert矩陣invhilb(N):生成N階的反Hilbert矩陣A=hilb(5)B=invhilb(5)C=A*Brandpem(n):隨機排列hess(A):hess矩陣pascal(n):Pascal矩陣hankel(c):Hankel矩陣wilkinson(n):wilkinson特征值測試矩陣blkdiag(a,b,c,d):產(chǎn)生以輸入元素為對角線元素的矩陣注:diag函數(shù)的輸入?yún)?shù)只能有一個(可以為向量)compan(u):友矩陣hadamard(n):hadamard矩陣toeplitz(c,r):托布列茲陣數(shù)

22、組及其運算1、數(shù)組尋址和排序(1)、數(shù)組的尋址A=randn(1,10)A(4)%訪問A的第4個元素A(2:6)%訪問A的第2到6個元素A(6:-2:1)A(1 3 7 4)%訪問A中1、3、7和4號元素A(4:end)%end參數(shù)表示數(shù)組的結(jié)尾(2)、數(shù)組的排序sort(X):將數(shù)組X中的元素按升序排序X是多維數(shù)組時,sort(X)命令將X中的各列元素按升序排序X是復(fù)數(shù)時,sort(X)命令將X中的各個元素的模abs(X)按升序排序X是一個字符型單元數(shù)組,sort(X)命令將X中的各列元素按ASCII碼升序排序Y=sort(X,DIM,MODE):DIM選擇用于排列的維,MODE決定了排序的

23、方式(ascend升序,descend降序),該命令生成的數(shù)組Y與X是同型的X=3 7 5;0 4 2sort(X,1)%縱向升序排序sort(X,2)%橫向升序排序sort(2)2、數(shù)組的基本數(shù)值運算(1)、加減法(與矩陣加減法相同)X=1 4 7Y=2 5 8Z=X-YV=X+Y(2)、數(shù)組的乘除法乘法用“.*”:X、Y有相同維數(shù),X.*Y表示X和Y中單個元素之間的對應(yīng)乘積除法用“./”:注意“./”和“.”完全不同 X=10 52 96 12 56Y=2 26 3 4 8Z=10 52 96 12 56 42Z1=X.*YZ2=X.*Z%報錯,維數(shù)問題Z3=X./Y%Z3=5,2,32,

24、3,7Z4=X.Y%Z4=0.2,0.5,0.0313,0.3333,0.1429Z5=X.Z%報錯,維數(shù)問題(3)、數(shù)組的乘方兩個數(shù)組之間的乘方X=1 4 7Y=2 5 8Z=X.Y乘方運算時指數(shù)為標(biāo)量X=3 6 9Z=X.3乘方運算時底數(shù)為標(biāo)量X=4 5 6 7 8 9Z=3.X數(shù)組和矩陣也可以進(jìn)行exp、log、sqrt等運算,是對每個對應(yīng)元素進(jìn)行運算3、數(shù)組的關(guān)系運算小于(<),小于等于(<=),大于(>),大于等于(>=),等于(=),不等于(=),結(jié)果為1,則關(guān)系式為真,結(jié)果為0,則關(guān)系式為假%rem(X,n),求余函數(shù),X為被除數(shù),n為除數(shù)M=magic(

25、7)N=(rem(M,3)N=(rem(M,3)<=1)N=(rem(M,3)=1)N=(rem(M,3)>=1)4、數(shù)組的邏輯運算與(&),或(|),非(),其中與、或可以比較兩個標(biāo)量或者兩個同階數(shù)組(或矩陣),非運算時針對數(shù)組(或矩陣中的每一個元素),當(dāng)邏輯為真則返回1,當(dāng)邏輯為假則返回0M=1 1 0;0 1 0;1 0 0N=1 0 1;1 1 1;0 0 0M|NM&NNcat:串接flipdimfliplrflipudkron:積數(shù)組permute:重組repmatreshaperot90稀疏型矩陣1、稀疏矩陣的生成(1)、speye函數(shù):生成單位稀疏矩

26、陣speye(size(A)speye(M,N):維數(shù)為M和N中較小的一個speye(N)A=eye(10)speye(size(A)speye(7,6)speye(5)(2)、sprand函數(shù):生成隨機稀疏矩陣(元素服從0-1之間的隨機分布)R=sprand(S):產(chǎn)生與稀疏矩陣S結(jié)構(gòu)相同的稀疏矩陣,但它的元素都是0-1上的隨機數(shù)Rsprand(M,N,D):產(chǎn)生一個M*N的隨機稀疏矩陣R,它的非您元素的個數(shù)近似為M*N*D,注意D的值在0-1之間且不要過大v=3 5 6 2 1 9 6 5 5 6S=diag(v)R=sprand(S)R=sprand(10,10,0.08)(3)、spa

27、rse函數(shù)S=sparse(X):將矩陣X轉(zhuǎn)化為稀疏矩陣SS=sparse(I,j,s,m,n,nzm):生成m*n的稀疏矩陣S,向量s的元素分布在以向量i的對應(yīng)值和向量j的對應(yīng)值為坐標(biāo)的位置上,其中nzm=length(s)S=sparse(I,j,s):生成m*n的稀疏矩陣S,向量s的元素分布在以向量i的對應(yīng)值和向量j的對應(yīng)值為坐標(biāo)的位置上,其中m=max(i),n=max(j)S=sparse(m,n):是sparse(,m,n,0)的簡化形式i=6 2 7 7 4 1 2 5j=1 3 2 7 2 8 3 2s=8 3 7 7 1 7 0 2X=diag(s,-2)S=sparse(X)S1=sparse(i,j,s,10,10,7)%報錯,nzmax=length(s)S1=sparse(i,j,s,10,10,8)S2=sparse(i,j,s,10,9)%默認(rèn)nzmax=length(s)S2=sparse(i,j,s)%m=max(i),n=max(j)2、稀疏矩陣的操作(1)、nnz函數(shù):用于求非零

溫馨提示

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

評論

0/150

提交評論