數(shù)學(xué)軟件MATLAB學(xué)習(xí)報告_第1頁
數(shù)學(xué)軟件MATLAB學(xué)習(xí)報告_第2頁
數(shù)學(xué)軟件MATLAB學(xué)習(xí)報告_第3頁
數(shù)學(xué)軟件MATLAB學(xué)習(xí)報告_第4頁
數(shù)學(xué)軟件MATLAB學(xué)習(xí)報告_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

數(shù)學(xué)軟件MATLAB學(xué)習(xí)報告信計1002班41064053趙小跑在這個小學(xué)期里我們用了為期一周的時間學(xué)習(xí)了作為“三大數(shù)學(xué)軟件”之一的MATLAB。現(xiàn)在,我就此次學(xué)習(xí)作個簡單的報告。MATLAB是矩陣實驗室(MatrixLaboratory)的簡稱,是主要面對科學(xué)計算、可視化以及交互式程序設(shè)計的高科技計算環(huán)境。它的基本數(shù)據(jù)單位是矩陣,并將數(shù)值分析、矩陣計算、科學(xué)數(shù)據(jù)可視化以及非線性動態(tài)系統(tǒng)的建模和仿真等諸多強(qiáng)大功能集成在一個易于使用的視窗環(huán)境中,因此在各個領(lǐng)域都有很廣泛的應(yīng)用。所以,對于數(shù)學(xué)系的我們,學(xué)好這個軟件,對我們將來進(jìn)一步的學(xué)習(xí)和研究有很重要的意義。接下來,我就矩陣運算來談?wù)勥@次學(xué)習(xí)的收獲。1、矩陣的建立(1)直接輸入法。具體方法如下:將矩陣的元素用方括號括起來,按矩陣行的順序輸入各元素,同一行的各元素之間用空格或逗號分隔,不同行的元素之間用分號分隔。例:A=[1,2,3,;4,5,6;7,8,9]A=123456789(2)利用M文件建立矩陣。對于比較大且比較復(fù)雜的矩陣,可以為它專門建立一個M文件。下面通過一個簡單例子來說明如何利用M文件創(chuàng)建矩陣。例:利用M文件建立MYMAT矩陣。具體步驟如下:eq\o\ac(○,1)啟動有關(guān)編輯程序或MATLAB文本編輯器,并輸入待建矩陣:eq\o\ac(○,2)把輸入的內(nèi)容以純文本方式存盤(設(shè)文件名為mymatrix.m)。eq\o\ac(○,3)在MATLAB命令窗口中輸入mymatrix,即運行該M文件,就會自動建立一個名為MYMAT的矩陣,可供以后使用。(3)利用冒號表達(dá)式建立一個向量。冒號表達(dá)式可以產(chǎn)生一個行向量,一般格式是:e1:e2:e3其中e1為初始值,e2為步長,e3為終止值。在MATLAB中,還可以用linspace函數(shù)產(chǎn)生行向量。其調(diào)用格式為:linspace(a,b,n)其中a和b是生成向量的第一個和最后一個元素,n是元素總數(shù)。linspace(a,b,n)與a:(b-a)/(n-1):b等價。(4)建立大矩陣。大矩陣可由方括號中的小矩陣或向量建立起來。2、矩陣的拆分(1)矩陣元素。eq\o\ac(○,1)通過下標(biāo)引用矩陣的元素。例:>>A=[3,5,8,7;6,12,5,9;5,8,9,18;3,8,4,16]:A=3587612595891838416>>A(3,2)ans=8eq\o\ac(○,2)采用矩陣元素的序號來引用矩陣元素。矩陣元素的序號就是相應(yīng)元素在內(nèi)存中的排列順序。在MATLAB中,矩陣元素按列存儲,先第一列,再第二列,依次類推。例:>>A=[1,2,3;4,5,6];A(3)ans=2顯然,序號(Index)與下標(biāo)(Subscript)是一一對應(yīng)的,以m×n矩陣A為例,矩陣元素A(i,j)的序號為(j-1)*m+i。其相互轉(zhuǎn)換關(guān)系也可利用sub2ind和ind2sub函數(shù)求得。(2)矩陣拆分。eq\o\ac(○,1)利用冒號表達(dá)式獲得子矩陣。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運算符來表示矩陣下標(biāo),從而獲得子矩陣。end表示某一維的末尾元素下標(biāo)。eq\o\ac(○,2)利用空矩陣刪除矩陣的元素。在MATLAB中,定義[]為空矩陣。給變量X賦空矩陣的語句為X=[]。注意:X=[]與clearX不同,clear是將X從工作空間中刪除,而空矩陣則存在于工作空間中,只是維數(shù)為0。3、特殊矩陣。(1)通用的特殊矩陣。常用的產(chǎn)生通用特殊矩陣的函數(shù)有:zeros:產(chǎn)生全0矩陣(零矩陣)。ones:產(chǎn)生全1矩陣(幺矩陣)。eye:產(chǎn)生單位矩陣。rand:產(chǎn)生0~1間均勻分布的隨機(jī)矩陣。randn:產(chǎn)生均值為0,方差為1的標(biāo)準(zhǔn)正態(tài)分布隨機(jī)矩陣。例1:eq\o\ac(○,1)建立一個3×3零矩陣。>>zeros(3)ans=000000000eq\o\ac(○,2)建立一個3×2零矩陣。>>zeros(3,2)ans=000000eq\o\ac(○,3)設(shè)A為2×3矩陣,則可以用zeros(size(A))建立一個與矩陣A同樣大小零矩陣。>>A=[123;456];>>zeros(size(A))ans=000000例2:建立隨機(jī)矩陣。eq\o\ac(○,1)在區(qū)間[20,50]內(nèi)均勻分布的5階隨機(jī)矩陣。>>x=20+(50-20)*rand(5)x=48.503942.862938.463032.171221.736726.934233.694043.758148.064130.586038.205320.555147.654447.507144.395034.579544.642242.146232.308120.295846.739033.341125.288046.809524.1667eq\o\ac(○,2)均值為0.6、方差為0.1的5階正態(tài)分布隨機(jī)矩陣。>>y=0.6+sqrt(0.1)*randn(5)y=0.46320.97660.54100.63600.69310.07330.97600.82950.93730.17750.63960.58810.41400.61870.82590.69100.70351.29040.56981.11340.23750.65520.55690.33680.3812(2)用于專門學(xué)科的特殊矩陣。eq\o\ac(○,1)范得蒙矩陣。范得蒙矩陣最后一列全為1,倒數(shù)第二列為一個指定的向量,其他各列是其后列與倒數(shù)第二列的點乘積。可以用一個指定向量生成一個范得蒙矩陣。在MATLAB中,函數(shù)vander(V)生成以向量V為基礎(chǔ)向量的范得蒙矩陣。例:>>A=vander([1;2;3;5])A=11118421279311252551eq\o\ac(○,2)伴隨矩陣。MATLAB生成伴隨矩陣的函數(shù)是compan(p),其中p是一個多項式的系數(shù)向量,高次冪系數(shù)排在前,低次冪排在后。例:求多項式的x3-7x+6的伴隨矩陣。>>p=[1,0,-7,6];compan(p)ans=07-6100010eq\o\ac(○,3)帕斯卡矩陣。我們知道,二次項(x+y)n展開后的系數(shù)隨n的增大組成一個三角形表,稱為楊輝三角形由楊輝三角形表組成的矩陣稱為帕斯卡矩陣。函數(shù)pascal(n)生成一個n階帕斯卡矩陣。例:求(x+y)4的展開式。>>pascal(5)ans=111111234513610151410203515153570矩陣次對角線上的元素1,4,6,4,1即為展開式的系數(shù)。4、矩陣的MATLAB運算。(1)矩陣的基本運算。假定有兩個矩陣A和B,則可以由A+B和A-B實現(xiàn)矩陣的加減運算。運算規(guī)則是:若A和B矩陣的維數(shù)相同,則可以執(zhí)行矩陣的加減運算,A和B矩陣的相應(yīng)元素相加減。如果A與B的維數(shù)不相同,則MATLAB將給出錯誤信息,提示用戶兩個矩陣的維數(shù)不匹配。其他運算如下:數(shù)乘k*A(K是一個數(shù),A是一個矩陣)矩陣的左除A\B(AX=B,X=A-1B,A必須是方陣)矩陣的右除A/B(XB=A,X=AB-1,B必須是方陣)行列式的秩det(A)(A必須為方陣)矩陣的逆Inv(A)(A必須為方陣,|A|?0)矩陣的乘冪A^n(A必須為方陣,n是正整數(shù))矩陣行變換化簡rref(A)(求A階梯形的行最簡形式)例1:求方程組的解。法一:求逆法>>A=[2,3;1,-1];b=[4;1]X=inv(A)*bb=41X=1.40000.4000法二:左除與右除法>>A=[2,3;1,-1];>>b=[4;1]b=41>>X=A\bX=1.40000.4000例2:求齊次線性方程組的通解。>>A=[1-8102;245-1;386-2];>>rref(A)ans=1.000004.0000001.0000-0.7500-0.25000000分析:將0=0的一行去掉,則原方程組等價于,方程的個數(shù)<未知量個數(shù),有無窮多個解例3:求非齊次方程的解。>>A=[42-1;3-12;1130];>>b=[2;10;8];>>B=([A,b])B=42-123-121011308>>rref(B)ans=1.000000.3000001.0000-1.100000001.0000結(jié)果分析:行最簡形式中最后一行出現(xiàn)了零等于非零的情況,故方程組無解。(2)矩陣的特征值、特征向量、特征多項式。p=poly(A)若A為矩陣,則p為A的特征多項式系數(shù);若A為行向量,則p為以A為根的特征多項式系數(shù)poly2str(p,’x’)特征多項式。例1:>>A=[1,-1;2,4];>>p=poly(A)p=1-56>>poly2str(p,'x')ans=x^2-5x+6例2:>>A=[1,-1;2,4];[V,D]=eig(A)V=方陣A的特征向量矩陣-0.70710.44720.7071-0.8944D=方陣A的特征值矩陣2003例3:產(chǎn)生5階隨機(jī)方陣A,其元素為[10,90]區(qū)間的隨機(jī)整數(shù),然后判斷A的元素是否能被3整除。eq\o\ac(○,1)生成5階隨機(jī)方陣A。>>A=fix((90-10+1)*rand(5)+10)A=86715942142846748538591184847549766943108246248221eq\o\ac(○,2)判斷A的元素是否可以被3整除。>>P=rem(A,3)==0P=0001000000001110010000101則為1的位置對應(yīng)在原矩陣中的數(shù)字即為能被3整除的數(shù)字。(3)矩陣的邏輯運算。MATLAB提供了3種邏輯運算符:&(與)、|(或)和~(非)。邏輯運算的運算法則為:eq\o\ac(○,1)在邏輯運算中,確認(rèn)非零元素為真,用1表示,零元素為假,用0表示。eq\o\ac(○,2)設(shè)參與邏輯運算的是兩個標(biāo)量a和b,那么,a&ba,b全為非零時,運算結(jié)果為1,否則為0。a|ba,b中只要有一個非零,運算結(jié)果為1?!玜當(dāng)a是零時,運算結(jié)果為1;當(dāng)a非零時,運算結(jié)果為0。eq\o\ac(○,3)若參與邏輯運算的是兩個同維矩陣,那么運算將對矩陣相同位置上的元素按標(biāo)量規(guī)則逐個進(jìn)行。最終運算結(jié)果是一個與原矩陣同維的矩陣,其元素由1或0組成。eq\o\ac(○,4)若參與邏輯運算的一個是標(biāo)量,一個是矩陣,那么運算將在標(biāo)量與矩陣中的每元素之間按標(biāo)量規(guī)則逐個進(jìn)行。最終運算結(jié)果是一個與矩陣同維的矩陣,其元素由1或0組成。eq\o\ac(○,5)邏輯非是單目運算符,也服從矩陣運算規(guī)則。eq\o\ac(○,6)在算術(shù)、關(guān)系、邏輯運算中,算術(shù)運算優(yōu)先級最高,邏輯運算優(yōu)先級最低。例:建立矩陣A,然后找出大于4的元素的位置。>>A=[4,-65,-54,0,6;56,0,67,-45,0]A=4-65-540656067-450>>find(A>4)ans=2695、矩陣分析。(1)對角陣。eq\o\ac(○,1)提取矩陣的對角線元素設(shè)A為m×n矩陣,diag(A)函數(shù)用于提取矩陣A主對角線元素,產(chǎn)生一個具有min(m,n)個元素的列向量。diag(A)函數(shù)還有一種形式diag(A,k),其功能是提取第k條對角線的元素。eq\o\ac(○,2)構(gòu)造對角矩陣。設(shè)V為具有m個元素的向量,diag(V)將產(chǎn)生一個m×m對角矩陣,其主對角線元素即為向量V的元素。例:先建立5×5矩陣A,然后將A的第一行元素乘以1,第二行乘以2,…,第五行乘以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:5);D*AA=1701015235714164013022101219213111825219ans=1701015461014283212039066404876841255901251095(2)三角陣。eq\o\ac(○,1)上三角矩陣。求矩陣A的上三角陣的MATLAB函數(shù)是triu(A)。triu(A)函數(shù)也有另一種形式triu(A,k),其功能是求矩陣A的第k條對角線以上的元素。例如,提取矩陣A的第2條對角線以上的元素,形成新的矩陣B。eq\o\ac(○,2)下三角矩陣在MATLAB中,提取矩陣A的下三角矩陣的函數(shù)是tril(A)和tril(A,k),其用法與提取上三角矩陣的函數(shù)triu(A)和triu(A,k)完全相同。例:創(chuàng)建一個5×5矩陣,提取主對角線以上的部分。>>rand(6)ans=0.20280.74680.52520.37950.18970.69790.19870.44510.20260.83180.19340.37840.60380.93180.67210.50280.68220.86000.27220.46600.83810.70950.30280.85370.19880.41860.01960.42890.54170.59360.01530.84620.68130.30460.15090.4966>>triu(rand(6))ans=0.89980.28970.56810.62130.97970.011800.34120.37040.79480.27140.8939000.70270.95680.25230.19910000.52260.87570.298700000.73730.6614000000.2844(3)矩陣的轉(zhuǎn)置。轉(zhuǎn)置運算符是單撇號(‘)。例:>>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]A=1701015235714164013022101219213111825219A'ans=17234101105012181713192501402121

溫馨提示

  • 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

提交評論