MATLAB在矩陣計(jì)算中的應(yīng)用_第1頁(yè)
MATLAB在矩陣計(jì)算中的應(yīng)用_第2頁(yè)
MATLAB在矩陣計(jì)算中的應(yīng)用_第3頁(yè)
MATLAB在矩陣計(jì)算中的應(yīng)用_第4頁(yè)
MATLAB在矩陣計(jì)算中的應(yīng)用_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、學(xué)院:數(shù)學(xué)與統(tǒng)計(jì)學(xué)院專業(yè):數(shù)學(xué)與應(yīng)用數(shù)學(xué)學(xué)號(hào):201410700010姓名:唐一峰分?jǐn)?shù):論文設(shè)計(jì)題目:MATLAB在矩陣運(yùn)算中的應(yīng)用(_2014_屆)MATLAB課程論文(設(shè)計(jì))目 錄第一章 引言第二章 Matlab矩陣運(yùn)算簡(jiǎn)介第三章 向量和矩陣的創(chuàng)建方法第四章 Matlab矩陣運(yùn)算優(yōu)勢(shì)第五章 后記MATLAB在矩陣計(jì)算中的應(yīng)用數(shù)學(xué)與應(yīng)用數(shù)學(xué)專業(yè)201410700010唐一峰指導(dǎo)老師:胡志軍關(guān)鍵詞 MATLAB 矩陣第一章 引言本個(gè)學(xué)期我們學(xué)習(xí)了matlab教程,這本書在更高層次上系統(tǒng)介紹matlab語(yǔ)言在高等應(yīng)用數(shù)學(xué)的各個(gè)分支中的應(yīng)用包含的應(yīng)用數(shù)學(xué)分支為微積分、線性代數(shù)、積分變換和復(fù)變函數(shù)、

2、非線性方程與最優(yōu)化、常微分方程與偏微分方程、數(shù)據(jù)插值與函數(shù)逼近、概率論與數(shù)理統(tǒng)計(jì)以及新的非傳統(tǒng)方法,MATLAB提供了一種全新的計(jì)算機(jī)編程語(yǔ)言,MATLAB中的數(shù)據(jù)元素是不需要指定維數(shù)的矩陣,因此解決同樣的數(shù)值計(jì)算問題,使用MATLAB要比使用其他編程語(yǔ)言提高編程效率幾倍。MATLAB對(duì)于問題的表達(dá)方式幾乎與問題的數(shù)學(xué)表達(dá)形式完全一致,這大大降低了對(duì)使用者的計(jì)算機(jī)編程能力的要求,實(shí)踐證明,普通大學(xué)生可以在短短幾十分鐘內(nèi)完成一個(gè)數(shù)學(xué)編程,并且能夠熟練掌握它,使得應(yīng)用數(shù)學(xué)的科學(xué)研究與計(jì)算變得更高的效率、更富有創(chuàng)造性。本文僅僅以MATLAB在矩陣計(jì)算中的應(yīng)用為主要研究對(duì)象,對(duì)于我們?cè)诟叩却鷶?shù)課本中常

3、見的矩陣進(jìn)行比較系統(tǒng)全面的研究,矩陣幾乎是整個(gè)數(shù)學(xué)的基礎(chǔ)之一,因此,快速的對(duì)矩陣進(jìn)行計(jì)算,無(wú)疑在某種程度上數(shù)學(xué)的發(fā)展,本文展示了部分常見的、特別的矩陣,展示了矩陣的結(jié)構(gòu)計(jì)算,以此告訴大家,矩陣的龐大的計(jì)算不再是難題,掌握MATLAB就能面對(duì)一切復(fù)雜矩陣不再犯難。第二章 MATLAB矩陣運(yùn)算簡(jiǎn)介2.1矩陣的代數(shù)運(yùn)算如果一個(gè)矩陣A有n行、m列元素,則稱A矩陣為n*m矩陣;若n=m,則又稱矩陣A為方陣。MATLAB語(yǔ)言中定義了下面各種矩陣的基本代數(shù)運(yùn)算:矩陣轉(zhuǎn)置在數(shù)學(xué)公式中一般把一個(gè)矩陣的轉(zhuǎn)置記作AT,假設(shè)A矩陣為一個(gè)n*m矩陣,則其轉(zhuǎn)置矩陣B的元素定義為bji=aij,i=1,n,j=1,m,故B

4、的為m*n矩陣。如果A矩陣含有復(fù)數(shù)元素,則對(duì)之進(jìn)行轉(zhuǎn)置時(shí),其轉(zhuǎn)置矩陣B的元素定義為bji=aij*,i=1,m,亦即首先對(duì)各個(gè)元素進(jìn)行轉(zhuǎn)置,然后在逐項(xiàng)求取其共軛復(fù)數(shù)值。這種專制方式又稱為Hermit轉(zhuǎn)置,矩陣的轉(zhuǎn)置則可以由A.求出。例如:A=1,2,3;4,5,6;7,8,9那么B=A則結(jié)果顯示為B=147258369加減法運(yùn)算假設(shè)在MATLAB工作環(huán)境下有兩個(gè)矩陣A和B則可以由C=A+B和C=A-B命令執(zhí)行矩陣加減法。若A和B的維數(shù)相同,它會(huì)自動(dòng)的將A和B矩陣的元素相應(yīng)的相加減,從而得出正確的結(jié)果,并賦給C變量。若兩者之一為標(biāo)量,則應(yīng)該將其遍加(減)于另一個(gè)矩陣。在其他情況下,MATLAB將

5、自動(dòng)的給出錯(cuò)誤信息,提示用戶兩個(gè)矩陣的維數(shù)不匹配。例如:A=1,2,3;4,5,6;7,8,9B=1,4,7;2,5,8;3,6,9則C=A+B如果鍵入X=-1,0,2則y=x-1的結(jié)果為y=-2-11矩陣的乘法假設(shè)有兩個(gè)矩陣A和B,其中A的列數(shù)與B矩陣的行數(shù)相同,或其一為標(biāo)量,則稱A,B矩陣是可乘的,或稱A和B矩陣的維數(shù)是相容的。假設(shè)A為n*m矩陣,而B為m*r矩陣,則C=AB為n*r矩陣,其各個(gè)元素為cij=k=1maikbkj,其中i=1,2,,n,j=1,2,r。MATLAB語(yǔ)言中兩個(gè)矩陣的乘法由C=A*B直接求出,且這里并不需要指出A和B矩陣的維數(shù)。如果A和B矩陣的維數(shù)相容,則可以準(zhǔn)

6、確無(wú)誤地獲得乘積矩陣C;如果二者的維數(shù)不相容則將給出錯(cuò)誤信息,通知用戶兩個(gè)矩陣是不可乘的。例如:當(dāng)左乘矩陣的列數(shù)等于右乘矩陣的行數(shù)時(shí),兩矩陣可以進(jìn)行乘法,在MATLAB中,矩陣A乘以矩陣B應(yīng)表示成A*B.X=-102 Y=-2-11則X*Y的結(jié)果顯示為4,而X*Y的結(jié)果顯示為X*Y=21-1000-4-22數(shù)乘矩陣運(yùn)算,就是用數(shù)乘以矩陣的每一個(gè)元素,例如:Y=pi*X或Y=X*pi,其結(jié)果為Y=-3.14160.00006.2832矩陣的左除和右除MATLAB中用“”運(yùn)算符號(hào)表示兩個(gè)矩陣的左除,AB為方程AX=B的解X,若A為非奇異方程,則X=A-1B。如果A矩陣不是方陣,也可以求出AB,這時(shí)

7、將使用最小二乘解法求取AX=B中的X矩陣。同理,MATLAB中定義了“/”,用于表示兩個(gè)矩陣的右除,相當(dāng)于求方程XA=B的解。A為非奇異方程時(shí)B/A為BA-1,但在計(jì)算中方法上存在差異,更精確的有B/A=(AB)。例如:求解以下非齊次線性方程組2x1+x2-5x3+x4=8x1-3x2-6x4=9x1+4x2-7x3+6x4=0在MATLAB命令空間中,分別輸入系數(shù)矩陣,右端列向量A=2,1,-5,1;1,-3,0,-6;0,2,-1,2;4,-7,6B=8;9;-5;0鍵入命令det(A),可得到系數(shù)矩陣的行列式值為27,故系數(shù)矩陣A非奇異,方程組有唯一解;再鍵入命令x=Ab,其結(jié)果顯示為X

8、=3.0000-4.0000-1.00001.00002.2矩陣的邏輯運(yùn)算在MATLAB語(yǔ)言中,如果一個(gè)數(shù)的值為0,則可以認(rèn)為它為邏輯0,否則為邏輯1。MATLAB提供了3種邏輯運(yùn)算符:&、|、。假設(shè)矩陣A和矩陣B均為n*m矩陣,則在MATLAB下定義了如下邏輯運(yùn)算法則:在邏輯運(yùn)算中,確認(rèn)非零元素為真,用1表示,零元素為假,用0表示。設(shè)參與邏輯運(yùn)算的是兩個(gè)標(biāo)量a和b,那么a&b a,b全為非零時(shí),運(yùn)算結(jié)果為1,否則為0.a|b a,b中只要有一個(gè)非零時(shí),運(yùn)算結(jié)果為1;只有當(dāng)a,b全為零時(shí),運(yùn)算結(jié)果為零。a 當(dāng)a為零時(shí),運(yùn)算結(jié)果為1;當(dāng)0非零時(shí),運(yùn)算結(jié)果為0。若參加邏輯運(yùn)算的是兩

9、個(gè)同維矩陣,那么運(yùn)算將對(duì)矩陣相同位置上的元素按標(biāo)量規(guī)則逐個(gè)進(jìn)行。最終運(yùn)算結(jié)果是一個(gè)與原矩陣同維的矩陣,其元素由0或1組成。若參與邏輯運(yùn)算的一個(gè)是標(biāo)量一個(gè)是矩陣,那么運(yùn)算將在標(biāo)量與矩陣中的每個(gè)元素之間按標(biāo)量規(guī)則逐個(gè)進(jìn)行,最終運(yùn)算結(jié)果是一個(gè)與矩陣同維的矩陣,其元素是由0或1組成。若對(duì)一個(gè)矩陣做邏輯非運(yùn)算,那么將對(duì)矩陣中的每個(gè)元素按標(biāo)量規(guī)則逐個(gè)取邏輯非,最終運(yùn)算的結(jié)果是一個(gè)與元矩陣同維的矩陣,其元素由0或1組成。在算術(shù)、關(guān)系、邏輯運(yùn)算中,算術(shù)運(yùn)算優(yōu)先級(jí)最高,邏輯運(yùn)算優(yōu)先級(jí)最低。例如:若鍵入A=0,2,3;0,2,0;B=0,0,0;2,3,4;A&BA|BA則其結(jié)果分別為ans=000010

10、ans=011111ans=1001012.3矩陣的比較運(yùn)算MATLAB語(yǔ)言定義了各種比較關(guān)系,如C=A>B,當(dāng)A和B矩陣滿足aij>bij時(shí),cij=1,否則cij=0。MATLAB語(yǔ)音還支持等于關(guān)系,用=表示,大于等于關(guān)系,用>=關(guān)系,還支持不等于=關(guān)系,其意義是很明顯的可以直接使用。MATLAB還提供了一些特殊的函數(shù),在編程中也是很實(shí)用的。其中,find()函數(shù)可以查詢出滿足某關(guān)系的數(shù)組下標(biāo)。例如,若想查出矩陣C中數(shù)值等于1的元素下表,則可以給出find(C=1)命令如下:>>A=1,2,3;4,5,6;7,8 0;%輸入實(shí)數(shù)矩陣Find(A>=5)%

11、找出矩陣元素大于等于5的下標(biāo)ans=3568可以看出,該函數(shù)相當(dāng)于先將A矩陣按列構(gòu)成列向量,然后再判斷哪些元素大于或等于5,返回其下標(biāo)。而find(isnan(A)函數(shù)將查出A變量中為NaN的個(gè)元素下標(biāo)還可以用下面的個(gè)事同時(shí)返回行和列坐標(biāo)。>>i,j=find(A>=5);I,jans=31223223此外,all()和any()函數(shù)也是很實(shí)用的查詢函數(shù)。>>all(A>=5)ans=000>>any(A>=5)ans=1111前一個(gè)命令當(dāng)A矩陣的某列元素全等于5時(shí),相應(yīng)元素為1,否則為0.二后者在某列中含有大于或等于5時(shí),相應(yīng)元素為1,否

12、則為0.第三章 矩陣的創(chuàng)建方法MATLAB軟件提供了強(qiáng)大的矩陣運(yùn)算和數(shù)組運(yùn)算的功能,主要進(jìn)行數(shù)字矩陣的運(yùn)算,矩陣可以用以下幾種不同方式輸入到MATLAB:直接列出矩陣元素通過(guò)程序產(chǎn)生建立M文件從外部數(shù)據(jù)文件中裝入,例如:輸入矩陣A=123456789在MATLAB命令空間中,通過(guò)鍵盤輸入A=1,2,3;4,5,6;7,8,9當(dāng)按下Enter鍵時(shí),屏幕上就會(huì)顯示出結(jié)果:A=123456789這里,矩陣各行中的元素用逗號(hào)分隔,各行之間再用分號(hào)分隔。在MATLAB命令空間中,可以通過(guò)編程來(lái)輸入矩陣,單擊菜單命令filenewmfile,進(jìn)入MATLAB程序編輯器,輸入以下程序代碼并將程序以命名字pr

13、og1_1.m存盤。For i=1:1:3For j=1:1:3A(I,j)=(i-1)*3+j;EndA在MATLAB命令空間中,只要輸入prog1_1,按下Enter鍵后,屏幕上也會(huì)顯示出矩陣A。當(dāng)然也可以通過(guò)程序編輯器為需要輸入的矩陣建立一個(gè)M文件,對(duì)于上述矩陣,可輸入程序代碼A=1,2,3;4,5,6;7,8,9仍以文件名prog1_1.m存盤。當(dāng)在命令窗口中鍵入prog1_1,按下Eenter鍵后,屏幕上也會(huì)顯示出矩陣A,對(duì)于一些大型的、數(shù)據(jù)無(wú)規(guī)律的矩陣的輸入,通常采用這樣的方法。MATLAB中有一種擴(kuò)展名為mat的文件,它是一種外部數(shù)據(jù)的文件,這類文件可使用load命令將它裝載到M

14、ATLAB命令空間。第四章 MATLAB矩陣運(yùn)算的優(yōu)勢(shì) MATLA語(yǔ)言是當(dāng)前國(guó)際上自動(dòng)控制領(lǐng)域的首選計(jì)算機(jī)語(yǔ)言,也是很多理工科專業(yè)最適合的計(jì)算機(jī)數(shù)學(xué)語(yǔ)言。掌握該語(yǔ)言不但有助于更深入理解和掌握數(shù)學(xué)問題的求解思想,提高求解數(shù)學(xué)問題的能力,而且還可以充分利用該語(yǔ)言,在其他專業(yè)課程的學(xué)習(xí)中得到積極的幫助。和其他程序相比,MATLAB具有如下優(yōu)勢(shì):簡(jiǎn)潔高效性 MATLAB程序設(shè)計(jì)語(yǔ)言集成度高,語(yǔ)句簡(jiǎn)介,往往用C+等高等語(yǔ)言編寫的數(shù)百條語(yǔ)句,用MATLAB語(yǔ)言一條語(yǔ)句就能解決問題,其程序可靠性高、易于維護(hù),可以大大提高解決問題的效率和水平??茖W(xué)運(yùn)算功能 MATLAB語(yǔ)言以矩陣為基本單位,可以直接作用于矩陣

15、運(yùn)算。另外,最優(yōu)化問題、數(shù)值積分問題、微分方程值解問題、數(shù)據(jù)處理問題等都能直接用MATLAB語(yǔ)言求解。繪圖功能 MATLAB語(yǔ)言可以用最直觀的語(yǔ)句將實(shí)驗(yàn)數(shù)據(jù)或計(jì)算結(jié)果用圖形的方法顯示出來(lái),并可以將以往難以顯示出來(lái)的隱函數(shù)直接用曲線繪制出來(lái)。MATLAB語(yǔ)言還允許用戶用科室的方式編寫圖形用戶界面,這使得用戶可以容易的利用該語(yǔ)言編寫通用程序。龐大的工具箱與模塊集 MATLAB是被控制界的學(xué)者“捧紅”的,是控制界通用的計(jì)算機(jī)語(yǔ)言,在應(yīng)用數(shù)學(xué)及控制領(lǐng)域幾乎所有的研究方向均有自己的工具箱,而且由領(lǐng)域內(nèi)知名專家編寫,可信度比較高。隨著MATLAB的日益普及,在其他工程領(lǐng)域也出現(xiàn)了工具箱,這也大大促進(jìn)了MATLAB語(yǔ)言在各個(gè)領(lǐng)域的應(yīng)用。強(qiáng)大的動(dòng)態(tài)系統(tǒng)仿真功能 Simulink提供的面向框圖的仿真及其概念性仿真功能,使得用戶能容易的建立復(fù)雜系統(tǒng)模型,準(zhǔn)確的對(duì)其進(jìn)行仿真分析。Simulin的概念性方陣模塊集允許用戶在一個(gè)框架下對(duì)其含有控

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論