




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 數學建模與實驗(數學建模部分) 課程教案授課時間2010年 3月 29 日授課周次第 5 周授課方式(請打)理論課 討論課 實驗課 習題課 其他課時安排2授課題目(教學章、節或主題):第二章 MATLAB矩陣運算基礎(2)2.4 2.5第三章 MATLAB矩陣及其運算3.1 3.2 3.3教學目的、要求:建立和執行m文件 的方法;掌握if 和switch,for語句教學重點及難點: 難點:循環結構程序設計教 學 基 本 內 容 和 過 程第二章 MATLAB矩陣運算基礎(2)四矩陣和數組的運算矩陣運算規則是按照矩陣作為運算要素定義的。數組運算是按照矩陣元素作為運算要素定義的。標量運算是矩陣和
2、數組的運算的特例。 1矩陣和數組的算術運算(1)矩陣和數組的加減運算 兩個矩陣必須同型時才可以進行加減運算。如有一個是標量,則該標量與矩陣的每個元素進行加減運算。 數組的加減運算法則與矩陣的加減運算法則相同。例2-19: 設 求 A2B。方法1:A=4 -3 1;2 0 5;B=1 2 0;-1 0 3;A-2*B方法2:A=4 -3 1;2 0 5;B=1 2 0;-1 0 3;b=uminus(2*B) %,返回2*B的相反數A+b2.矩陣和數組的乘法運算(1)矩陣的乘法運算符為*,定義為: 設A=(aij)m×s,B=(bij)s×n,則A與B的乘積CAB=(cij)
3、m×n是 m×n矩陣,其中cij( i= 1,2, , m ;j =1,2, ,n) 等于A的第i行與B的第j列對應元素的乘積之和。 (2)數組的乘法運算符為.*,兩個矩陣必須同型時才可以進行數組乘法運算。 運算規則為:矩陣A和B中的對應元素相乘。 如果參加運算的矩陣其中有一個是標量時,矩陣和數組的乘法運算均為標量與矩陣的每個元素進行乘法運算。 例2-20: 求乘積 AB 和 BA。A=1 0 3;2 1 0;B=4 1;-1 1;2 0;A*B,B*A例2-21: 求 (AB)T和BT×AT(T為轉置運算)。A=1 -1 2;2 0 1;B=2 -1 0;1 1
4、 3;4 2 1;(A*B)'B'*A'(3)矩陣和數組的除法運算矩陣除法運算的運算符為和/,分別表示左除和右除。 矩陣除法的定義為:AB=A-1×B A/B=A×B-1 其中A-1和B-1是矩陣A和B的逆,矩陣B的逆也可用函數inv求得。除法運算的運算符為.和./,分別數組為數組的左除和右除,表示數組的相應元素相除。兩個矩陣必須同型時才可以進行數組除法運算。定義為:設A=(aij)m×n,B=(bij)m×n,則數組的右除為:C=(cij)m×n= (aij/ bij )m×n,數組的左除為:C=(cij)m
5、×n= (bij/ aij )m×n。例2-22: 求解方程組A=2 2 -1 1;4 3 -1 2;8 3 -3 4;3 3 -2 -2;b=4 6 12 6'X=Ab %等價語句為 X=inv(A)*b 2. 矩陣和數組的乘方運算矩陣乘方運算的運算符為,運算表達式為AB,矩陣乘方運算的含義是:AB表示方陣A自乘B次。 數組乘方運算的運算符為.,運算表達式為A.B,其中A和B都可以是矩陣或標量。數組乘方運算有下列形式:(1)當A為矩陣,B為正整數時,則將aij自乘B次;(2)當A為矩陣,B也為矩陣時,A和B矩陣必須同型,則將aij自乘bij次。(3)當A為正整數,
6、B為矩陣時,將Abij構成新矩陣的第i行第j列元素。 其中aij和bij分別表示矩陣A和B的第i行第j列元素。 3.矩陣和數組的數學函數常用的數學函數有三角函數、指數函數和整值函數等。 需要注意的是: MATLAB 6.5以前的版本三角函數的自變量和反三角函數的返回值為弧度; MATLAB 7.0版本中提供了三角函數的自變量和反三角函數的返回值分別為角度和弧度的兩類函數。 例2-23: 求30。、60。和90。的正弦、余弦、正切和余切函數值。x=30:30:90;sind(x),cosd(x),tand(x),cotd(x) %三角函數的自變量為角度值 例2-24: 求0.1,0.2,0.3,
7、0.4,0.5,0.6的反正弦、反余弦和反正切值。x=0.1:0.1:0.6;asin(x),acos(x),atan(x) %返回值為弧度asind(x),acosd(x),atand(x) %返回值為角度 例2-25: 求1到10的自然對數和常用對數。x=1:10;log(x) %返回值為自然對數log10(x) %返回值為常用對數如果求2為底的對數呢?log10(x)/log10(2)五、 字符串1.字符串的定義MATLAB將字符串當作一個行向量,每個元素對應一個字符,一個字符占兩個字節,并且每一字符(包括空格)以其ASCII碼的形式存放,其標識方法和數值向量相同。例2-26: 建立任意
8、的兩個字符串,并查看字符串占用的字節信息。s1='Northeast Forest Uiversity' %賦值方式建立字符串s1s2='Haerbin Heilongjiang %賦值方式建立字符串s2whos %查看字符串占用的字節信息2.字符串轉換函數常用的字符串轉換函數:upper(A) 功能:把字符串A中的任一小寫字母轉換為相應的大寫字母lower(A) 功能:把字符串A中的任一大寫字母轉換為相應的小寫字母double(X) 功能:轉換字符串X為ASCII碼char(X) 功能:將ASCII碼X轉換為字符串int2str(X) 功能:將整數X轉換為字符串num
9、2str(X) 功能:將數值X轉換成字符串mat2str(MAT) 功能:將數值矩陣MAT轉換為可執行的形式 第3章 MATLAB矩陣及其運算一、變量和數據操作1. 變量與賦值(1)變量命名 在MATLAB 6.5中,變量名是以字母開頭,后接字母、數字或下劃線的字符序列,最多63個字符。在MATLAB中,變量名區分字母的大小寫。(2)賦值語句<1>變量=表達式 <2>表達式 其中表達式是用運算符將有關運算量連接起來的式子,其結果是一個矩陣。例3-1: 計算表達式的值,并顯示計算結果。在MATLAB命令窗口輸入命令:x=1+2i;y=3-sqrt(17);z=(cos(a
10、bs(x+y)-sin(78*pi/180)/(x+abs(y) 其中pi和i都是MATLAB預先定義的變量,分別代表代表圓周率和虛數單位。輸出結果是:z = -0.3488 + 0.3286i2. 預定義變量 在MATLAB工作空間中,還駐留幾個由系統本身定義的變量。例如,用pi表示圓周率的近似值,用i,j表示虛數單位。 預定義變量有特定的含義,在使用時,應盡量避免對這些變量重新賦值。3. 內存變量的管理(1)內存變量的刪除與修改 MATLAB工作空間窗口專門用于內存變量的管理。在工作空間窗口中可以顯示所有內存變量的屬性。當選中某些變量后,再單擊Delete按鈕,就能刪除這些變量。當選中某些
11、變量后,再單擊Open按鈕,將進入變量編輯器。通過變量編輯器可以直接觀察變量中的具體元素,也可修改變量中的具體元素。 clear命令用于刪除MATLAB工作空間中的變量。who和whos這兩個命令用于顯示在MATLAB工作空間中已經駐留的變量名清單。who命令只顯示出駐留變量的名稱,whos在給出變量名的同時,還給出它們的大小、所占字節數及數據類型等信息。(2)內存變量文件利用MAT文件可以把當前MATLAB工作空間中的一些有用變量長久地保留下來,擴展名是.mat。MAT文件的生成和裝入由save和load命令來完成。常用格式為:save 文件名 變量名表 -append-asciiload
12、文件名 變量名表 -ascii其中,文件名可以帶路徑,但不需帶擴展名.mat,命令隱含一定對.mat文件進行操作。變量名表中的變量個數不限,只要內存或文件中存在即可,變量名之間以空格分隔。當變量名表省略時,保存或裝入全部變量。-ascii選項使文件以ASCII格式處理,省略該選項時文件將以二進制格式處理。save命令中的-append選項控制將變量追加到MAT文件中。4. MATLAB常用數學函數MATLAB提供了許多數學函數,函數的自變量規定為矩陣變量,運算法則是將函數逐項作用于矩陣的元素上,因而運算的結果是一個與自變量同維數的矩陣。函數使用說明:(1) 三角函數以弧度為單位計算。(2) a
13、bs函數可以求實數的絕對值、復數的模、字符串的ASCII碼值。(3) 用于取整的函數有fix、floor、ceil、round,要注意它們的區別。(4) rem與mod函數的區別。rem(x,y)和mod(x,y)要求x,y必須為相同大小的實矩陣或為標量。5. 數據的輸出格式MATLAB用十進制數表示一個常數,具體可采用日常記數法和科學記數法兩種表示方法。 在一般情況下,MATLAB內部每一個數據元素都是用雙精度數來表示和存儲的。數據輸出時用戶可以用format命令設置或改變數據輸出格式。format命令的格式為: format 格式符其中格式符決定數據的輸出格式二、 MATLAB矩陣1. 矩
14、陣的建立(1)直接輸入法 最簡單的建立矩陣的方法是從鍵盤直接輸入矩陣的元素。具體方法如下:將矩陣的元素用方括號括起來,按矩陣行的順序輸入各元素,同一行的各元素之間用空格或逗號分隔,不同行的元素之間用分號分隔。(2)利用M文件建立矩陣 對于比較大且比較復雜的矩陣,可以為它專門建立一個M文件。下面通過一個簡單例子來說明如何利用M文件創建矩陣。例3-2: 利用M文件建立MYMAT矩陣。<1> 啟動有關編輯程序或MATLAB文本編輯器,并輸入待建矩陣:<2> 把輸入的內容以純文本方式存盤(設文件名為mymatrix.m)。<3> 在MATLAB命令窗口中輸入myma
15、trix,即運行該M文件,就會自動建立一個名為MYMAT的矩陣,可供以后使用。(3)利用冒號表達式建立一個向量 冒號表達式可以產生一個行向量,一般格式是:e1:e2:e3其中e1為初始值,e2為步長,e3為終止值。 在MATLAB中,還可以用linspace函數產生行向量。其調用格式為:linspace(a,b,n) 其中a和b是生成向量的第一個和最后一個元素,n是元素總數。 顯然,linspace(a,b,n)與a:(b-a)/(n-1):b等價。(4)建立大矩陣 大矩陣可由方括號中的小矩陣或向量建立起來。2. 矩陣的拆分(1)矩陣元素 通過下標引用矩陣的元素,例如:A(3,2)=200 采
16、用矩陣元素的序號來引用矩陣元素。矩陣元素的序號就是相應元素在內存中的排列順序。在MATLAB中,矩陣元素按列存儲,先第一列,再第二列,依次類推。例如A=1,2,3;4,5,6;A(3)ans = 2 顯然,序號(Index)與下標(Subscript )是一一對應的,以m×n矩陣A為例,矩陣元素A(i,j)的序號為(j-1)*m+i。其相互轉換關系也可利用sub2ind和ind2sub函數求得。(2)矩陣拆分<1> 利用冒號表達式獲得子矩陣 A(:,j)表示取A矩陣的第j列全部元素;A(i,:)表示A矩陣第i行的全部元素;A(i,j)表示取A矩陣第i行、第j列的元素。 A
17、(i:i+m,:)表示取A矩陣第ii+m行的全部元素;A(:,k:k+m)表示取A矩陣第kk+m列的全部元素,A(i:i+m,k:k+m)表示取A矩陣第ii+m行內,并在第kk+m列中的所有元素。 此外,還可利用一般向量和end運算符來表示矩陣下標,從而獲得子矩陣。end表示某一維的末尾元素下標。<2> 利用空矩陣刪除矩陣的元素 在MATLAB中,定義為空矩陣。給變量X賦空矩陣的語句為X=。注意,X=與clear X不同,clear是將X從工作空間中刪除,而空矩陣則存在于工作空間中,只是維數為0。3. 特殊矩陣通用的特殊矩陣 常用的產生通用特殊矩陣的函數有:zeros:產生全0矩陣
18、(零矩陣)。ones:產生全1矩陣(幺矩陣)。eye:產生單位矩陣。rand:產生01間均勻分布的隨機矩陣。randn:產生均值為0,方差為1的標準正態分布隨機矩陣。例3-3: 分別建立3×3、3×2和與矩陣A同樣大小的零矩陣。(1) 建立一個3×3零矩陣。zeros(3)(2) 建立一個3×2零矩陣。zeros(3,2)(3) 設A為2×3矩陣,則可以用zeros(size(A)建立一個與矩陣A同樣大小零矩陣。A=1 2 3;4 5 6; %產生一個2×3階矩陣Azeros(size(A) %產生一個與矩陣A同樣大小的零矩陣例3-4
19、: 建立隨機矩陣:(1) 在區間20,50內均勻分布的5階隨機矩陣。(2) 均值為0.6、方差為0.1的5階正態分布隨機矩陣。命令如下:x=20+(50-20)*rand(5)y=0.6+sqrt(0.1)*randn(5)此外,常用的函數還有reshape(A,m,n),它在矩陣總元素保持不變的前提下,將矩陣A重新排成m×n的二維矩陣。例3-5: 求(x+y)5的展開式。在MATLAB命令窗口,輸入命令:pascal(6) 矩陣次對角線上的元素1,5,10,10,5,1即為展開式的系數。三、 MATLAB運算 1.算術運算(1)基本算術運算 MATLAB的基本算術運算有:(加)、(
20、減)、*(乘)、/(右除)、(左除)、(乘方)。注意,運算是在矩陣意義下進行的,單個數據的算術運算只是一種特例。 <1> 矩陣加減運算 假定有兩個矩陣A和B,則可以由A+B和A-B實現矩陣的加減運算。運算規則是:若A和B矩陣的維數相同,則可以執行矩陣的加減運算,A和B矩陣的相應元素相加減。如果A與B的維數不相同,則MATLAB將給出錯誤信息,提示用戶兩個矩陣的維數不匹配。<2> 矩陣乘法 假定有兩個矩陣A和B,若A為m×n矩陣,B為n×p矩陣,則C=A*B為m×p矩陣。<3> 矩陣除法 在MATLAB中,有兩種矩陣除法運算:和/
21、,分別表示左除和右除。如果A矩陣是非奇異方陣,則AB和B/A運算可以實現。AB等效于A的逆左乘B矩陣,也就是inv(A)*B,而B/A等效于A矩陣的逆右乘B矩陣,也就是B*inv(A)。 對于含有標量的運算,兩種除法運算的結果相同,如3/4和43有相同的值,都等于0.75。又如,設a=10.5,25,則a/5=5a=2.1000 5.0000。對于矩陣來說,左除和右除表示兩種不同的除數矩陣和被除數矩陣的關系。對于矩陣運算,一般ABB/A。<4> 矩陣的乘方 一個矩陣的乘方運算可以表示成Ax,要求A為方陣,x為標量。(2)點運算在MATLAB中,有一種特殊的運算,因為其運算符是在有關
22、算術運算符前面加點,所以叫點運算。點運算符有.*、./、.和.。兩矩陣進行點運算是指它們的對應元素進行相關運算,要求兩矩陣的維參數相同。2. 關系運算MATLAB提供了6種關系運算符:<(小于)、<=(小于或等于)、>(大于)、>=(大于或等于)、=(等于)、=(不等于)。它們的含義不難理解,但要注意其書寫方法與數學中的不等式符號不盡相同。關系運算符的運算法則為:(1) 當兩個比較量是標量時,直接比較兩數的大小。若關系成立,關系表達式結果為1,否則為0。(2) 當參與比較的量是兩個維數相同的矩陣時,比較是對兩矩陣相同位置的元素按標量關系運算規則逐個進行,并給出元素比較結
23、果。最終的關系運算的結果是一個維數與原矩陣相同的矩陣,它的元素由0或1組成。(3) 當參與比較的一個是標量,而另一個是矩陣時,則把標量與矩陣的每一個元素按標量關系運算規則逐個比較,并給出元素比較結果。最終的關系運算的結果是一個維數與原矩陣相同的矩陣,它的元素由0或1組成。例3-6: 產生5階隨機方陣A,其元素為10,90區間的隨機整數,然后判斷A的元素是否能被3整除。(1) 生成5階隨機方陣A。A=fix(90-10+1)*rand(5)+10)(2) 判斷A的元素是否可以被3整除。 P=rem(A,3)=0 其中,rem(A,3)是矩陣A的每個元素除以3的余數矩陣。此時,0被擴展為與A同維數
24、的零矩陣,P是進行等于(=)比較的結果矩陣。3. 邏輯運算MATLAB提供了3種邏輯運算符:&(與)、|(或)和(非)。 邏輯運算的運算法則為:(1) 在邏輯運算中,確認非零元素為真,用1表示,零元素為假,用0表示。(2) 設參與邏輯運算的是兩個標量a和b,那么, a&b a,b全為非零時,運算結果為1,否則為0。a|b a,b中只要有一個非零,運算結果為1。 a 當a是零時,運算結果為1;當a非零時,運算結果為0。(3) 若參與邏輯運算的是兩個同維矩陣,那么運算將對矩陣相同位置上的元素按標量規則逐個進行。最終運算結果是一個與原矩陣同維的矩陣,其元素由1或0組成。(4) 若參與
25、邏輯運算的一個是標量,一個是矩陣,那么運算將在標量與矩陣中的每個元素之間按標量規則逐個進行。最終運算結果是一個與矩陣同維的矩陣,其元素由1或0組成。(5) 邏輯非是單目運算符,也服從矩陣運算規則。(6) 在算術、關系、邏輯運算中,算術運算優先級最高,邏輯運算優先級最低。例3-7: 建立矩陣A,然后找出大于4的元素的位置。(1) 建立矩陣A。A=4,-65,-54,0,6;56,0,67,-45,0(2) 找出大于4的元素的位置。find(A>4)4. 矩陣的逆與偽逆(1)矩陣的逆 對于一個方陣A,如果存在一個與其同階的方陣B,使得:A·B=B·A=I (I為單位矩陣) 則稱B為A的逆矩陣,當然,A也是B的逆矩陣。 求一個矩陣的逆是一件非常煩瑣的工作,容易出錯,但在MATLAB中,求一個矩陣的逆非常容易。求方陣A的逆矩陣可調用函數inv(A)。例3-8: 用求逆矩陣的方法解線性方程組。Ax=b其解為:x=A-1b5. 方陣的行列式把一個方陣看作一個行列式,并對其按行列式的規則求值,這個值就稱為矩陣所對應的行列式的值。在MATLAB中,求方陣A所對應的行列式的值的函數是det(A)。6. 矩陣的秩與跡(1)矩陣的秩 矩陣線性無關的行數與列數稱為矩陣的秩。在MATLAB中,求矩陣秩的函數是rank(A)。(2)矩陣的跡 矩陣的跡
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 神奇動物面試題及答案
- 航空航天復合材料 課件第1章 知識點4 纖維(B纖維、C纖維)
- 音樂院校碩士考試試題及答案
- 增強在華留學生心理健康支持體系
- 中學思政教育
- 2025年中國男士夾克行業市場全景分析及前景機遇研判報告
- 影院場務培訓
- 臺賬規范的培訓
- 網絡安全防范培訓
- 傳統文化元素與環境藝術設計的碰撞運用
- 砂石銷售提成管理制度
- 2025年湖南省中考生物試卷及答案
- 2025至2030中國地效飛行器行業產業運行態勢及投資規劃深度研究報告
- 高效化學滅菌技術-洞察及研究
- 融媒體保密管理制度
- 2025至2030中國消防產業市場深度調研及發展前景及有效策略與實施路徑評估報告
- 2025江蘇揚州寶應縣“鄉村振興青年人才”招聘67人筆試參考題庫附答案詳解
- 地質災害危險性評估合同模板
- 公司廉政紀律管理制度
- 2025年高考全國二卷數學高考真題解析 含參考答案
- 保密知識競賽試題及答案
評論
0/150
提交評論