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

下載本文檔

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

文檔簡介

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

2、數(shù)據(jù)插值與函數(shù)逼近、概率論與數(shù)理統(tǒng)計以及新的非傳統(tǒng)方法,MATLAB提供了一種全新的計算機編程語言,MATLAB中的數(shù)據(jù)元素是不需要指定維數(shù)的矩陣,因此解決同樣的數(shù)值計算問題,使用MATLAB要比使用其他編程語言提高編程效率幾倍。MATLAB對于問題的表達方式幾乎與問題的數(shù)學表達形式完全一致,這大大降低了對使用者的計算機編程能力的要求,實踐證明,普通大學生可以在短短幾十分鐘內完成一個數(shù)學編程,并且能夠熟練掌握它,使得應用數(shù)學的科學研究與計算變得更高的效率、更富有創(chuàng)造性。本文僅僅以MATLAB在矩陣計算中的應用為主要研究對象,對于我們在高等代數(shù)課本中常見的矩陣進行比較系統(tǒng)全面的研究,矩陣幾乎是整

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

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

5、,2,3;4,5,6;7,8,9B=1,4,7;2,5,8;3,6,9則C=A+B的結果顯示為C=1418如果鍵入X=-1,0,2則y=x-1的結果為y=-2-11矩陣的乘法假設有兩個矩陣A和B,其中A的列數(shù)與B矩陣的行數(shù)相同,或其一為標量,則稱A,B矩陣是可乘的,或稱A和B矩陣的維數(shù)是相容的。假設A為n*m矩陣,而B為m*r矩陣,則C=AB為n*r矩陣,其各個元素為cij=k=1maikbkj,其中i=1,2,,n,j=1,2,r。MATLAB語言中兩個矩陣的乘法由C=A*B直接求出,且這里并不需要指出A和B矩陣的維數(shù)。如果A和B矩陣的維數(shù)相容,則可以準確無誤地獲得乘積矩陣C;如果二者的維數(shù)

6、不相容則將給出錯誤信息,通知用戶兩個矩陣是不可乘的。例如:當左乘矩陣的列數(shù)等于右乘矩陣的行數(shù)時,兩矩陣可以進行乘法,在MATLAB中,矩陣A乘以矩陣B應表示成A*B.X=-102 Y=-2-11則X*Y的結果顯示為4,而X*Y的結果顯示為X*Y=21-1000-4-22數(shù)乘矩陣運算,就是用數(shù)乘以矩陣的每一個元素,例如:Y=pi*X或Y=X*pi,其結果為Y=-3.14160.00006.2832矩陣的左除和右除MATLAB中用“”運算符號表示兩個矩陣的左除,AB為方程AX=B的解X,若A為非奇異方程,則X=A-1B。如果A矩陣不是方陣,也可以求出AB,這時將使用最小二乘解法求取AX=B中的X矩

7、陣。同理,MATLAB中定義了“/”,用于表示兩個矩陣的右除,相當于求方程XA=B的解。A為非奇異方程時B/A為BA-1,但在計算中方法上存在差異,更精確的有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,其結果顯示為X=3.0000-4.0000-1.00

8、001.00002.2矩陣的邏輯運算在MATLAB語言中,如果一個數(shù)的值為0,則可以認為它為邏輯0,否則為邏輯1。MATLAB提供了3種邏輯運算符:&、|、。假設矩陣A和矩陣B均為n*m矩陣,則在MATLAB下定義了如下邏輯運算法則:在邏輯運算中,確認非零元素為真,用1表示,零元素為假,用0表示。設參與邏輯運算的是兩個標量a和b,那么a&b a,b全為非零時,運算結果為1,否則為0.a|b a,b中只要有一個非零時,運算結果為1;只有當a,b全為零時,運算結果為零。a 當a為零時,運算結果為1;當0非零時,運算結果為0。若參加邏輯運算的是兩個同維矩陣,那么運算將對矩陣相同位置上的元素按標量規(guī)則

9、逐個進行。最終運算結果是一個與原矩陣同維的矩陣,其元素由0或1組成。若參與邏輯運算的一個是標量一個是矩陣,那么運算將在標量與矩陣中的每個元素之間按標量規(guī)則逐個進行,最終運算結果是一個與矩陣同維的矩陣,其元素是由0或1組成。若對一個矩陣做邏輯非運算,那么將對矩陣中的每個元素按標量規(guī)則逐個取邏輯非,最終運算的結果是一個與元矩陣同維的矩陣,其元素由0或1組成。在算術、關系、邏輯運算中,算術運算優(yōu)先級最高,邏輯運算優(yōu)先級最低。例如:若鍵入A=0,2,3;0,2,0;B=0,0,0;2,3,4;A&BA|BA則其結果分別為ans=ans=ans=2.3矩陣的比較運算MATLAB語言定義了各種比較關系,如

10、C=AB,當A和B矩陣滿足aijbij時,cij=1,否則cij=0。MATLAB語音還支持等于關系,用=表示,大于等于關系,用=關系,還支持不等于=關系,其意義是很明顯的可以直接使用。MATLAB還提供了一些特殊的函數(shù),在編程中也是很實用的。其中,find()函數(shù)可以查詢出滿足某關系的數(shù)組下標。例如,若想查出矩陣C中數(shù)值等于1的元素下表,則可以給出find(C=1)命令如下:A=1,2,3;4,5,6;7,8 0;%輸入實數(shù)矩陣Find(A=5)%找出矩陣元素大于等于5的下標ans=3568可以看出,該函數(shù)相當于先將A矩陣按列構成列向量,然后再判斷哪些元素大于或等于5,返回其下標。而find

11、(isnan(A)函數(shù)將查出A變量中為NaN的個元素下標還可以用下面的個事同時返回行和列坐標。i,j=find(A=5);I,jans=此外,all()和any()函數(shù)也是很實用的查詢函數(shù)。all(A=5)ans=000any(A=5)ans=1111前一個命令當A矩陣的某列元素全等于5時,相應元素為1,否則為0.二后者在某列中含有大于或等于5時,相應元素為1,否則為0.第三章 矩陣的創(chuàng)建方法MATLAB軟件提供了強大的矩陣運算和數(shù)組運算的功能,主要進行數(shù)字矩陣的運算,矩陣可以用以下幾種不同方式輸入到MATLAB:直接列出矩陣元素通過程序產(chǎn)生建立M文件從外部數(shù)據(jù)文件中裝入,例如:輸入矩陣A=在

12、MATLAB命令空間中,通過鍵盤輸入A=1,2,3;4,5,6;7,8,9當按下Enter鍵時,屏幕上就會顯示出結果:A=這里,矩陣各行中的元素用逗號分隔,各行之間再用分號分隔。在MATLAB命令空間中,可以通過編程來輸入矩陣,單擊菜單命令filenewmfile,進入MATLAB程序編輯器,輸入以下程序代碼并將程序以命名字prog1_1.m存盤。For i=1:1:3For j=1:1:3A(I,j)=(i-1)*3+j;EndA在MATLAB命令空間中,只要輸入prog1_1,按下Enter鍵后,屏幕上也會顯示出矩陣A。當然也可以通過程序編輯器為需要輸入的矩陣建立一個M文件,對于上述矩陣,

13、可輸入程序代碼A=1,2,3;4,5,6;7,8,9仍以文件名prog1_1.m存盤。當在命令窗口中鍵入prog1_1,按下Eenter鍵后,屏幕上也會顯示出矩陣A,對于一些大型的、數(shù)據(jù)無規(guī)律的矩陣的輸入,通常采用這樣的方法。MATLAB中有一種擴展名為mat的文件,它是一種外部數(shù)據(jù)的文件,這類文件可使用load命令將它裝載到MATLAB命令空間。第四章 MATLAB矩陣運算的優(yōu)勢 MATLA語言是當前國際上自動控制領域的首選計算機語言,也是很多理工科專業(yè)最適合的計算機數(shù)學語言。掌握該語言不但有助于更深入理解和掌握數(shù)學問題的求解思想,提高求解數(shù)學問題的能力,而且還可以充分利用該語言,在其他專業(yè)

14、課程的學習中得到積極的幫助。和其他程序相比,MATLAB具有如下優(yōu)勢:簡潔高效性 MATLAB程序設計語言集成度高,語句簡介,往往用C+等高等語言編寫的數(shù)百條語句,用MATLAB語言一條語句就能解決問題,其程序可靠性高、易于維護,可以大大提高解決問題的效率和水平??茖W運算功能 MATLAB語言以矩陣為基本單位,可以直接作用于矩陣運算。另外,最優(yōu)化問題、數(shù)值積分問題、微分方程值解問題、數(shù)據(jù)處理問題等都能直接用MATLAB語言求解。繪圖功能 MATLAB語言可以用最直觀的語句將實驗數(shù)據(jù)或計算結果用圖形的方法顯示出來,并可以將以往難以顯示出來的隱函數(shù)直接用曲線繪制出來。MATLAB語言還允許用戶用科室的方式編寫圖形用戶界面,這使得用戶可以容易的利用該語言編寫通用程序。龐大的工具箱與模塊集 MATLAB是被控制界的學者“捧紅”的,是控制界通用的計算機語言,在應用數(shù)學及控制領域幾乎所有的研究方向均有自己的工具箱,而且由領域內知名專家編寫,可信度比較高。隨著MATLAB的日益普及,在其他工程領域也出現(xiàn)了工具箱,這也大大促進了MATLAB語言在各個領域的應用。強大的動態(tài)系統(tǒng)仿真功能 Simulink提供的面向框圖的仿真及其概念性仿真功能,使得用戶能容易的建立復雜系統(tǒng)模型,準確的對其進行仿真分析。Simulin的概念性方陣模塊集允許用戶在一個框架下對其含有控制環(huán)節(jié)、機械

溫馨提示

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

評論

0/150

提交評論