已閱讀5頁,還剩77頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
MATLAB與仿真,主講教師:韓雅菲,MATLAB課程安排,學時:40學時安排:講課32學時,上機8學時,MATLAB課程安排,學時:40學時安排:講課32學時,上機8學時,第1章 MATLAB概述,MATLAB語言是20世紀70年代,美國新墨西哥大學計算機科學系主任Cleve Moler為了為解決“線性代數(shù)”課程的矩陣運算問題,減輕學生編程的負擔,用FORTRAN編寫了最早的MATLAB。取名“MATLAB”即Matrix Laboratory,矩陣實驗室的意思。 1984年由Little、Moler、Steve Bangert合作成立了的MathWorks公司正式把MATLAB推向市場。到20世紀90年代,MATLAB已成為國際控制界的標準計算軟件。,MATLAB優(yōu)勢,友好的工作平臺和編程環(huán)境簡單易用的程序語言強大的科學計算機數(shù)據(jù)處理能力出色的圖形處理功能應用廣泛的模塊集合工具箱實用的程序接口和發(fā)布平臺應用軟件開發(fā)(包括用戶界面),MATLAB主要應用領域,MATLAB 的應用范圍非常廣,包括信號和圖像處理、通訊、控制系統(tǒng)設計、測試和測量、財務建模和分析以及計算生物學等眾多應用領域。附加的工具箱(單獨提供的專用MATLAB 函數(shù)集)擴展了MATLAB 環(huán)境,以解決這些應用領域內特定類型的問題。,第2章 MATLAB語言程序設計基礎,2.1 MATLAB語言的基本使用環(huán)境 MATLAB主窗口是MATLAB的主要工作界面。主窗口除了嵌入一些常用窗口外,還主要包括菜單欄和工具欄。,MATLAB用戶界面,2.1 MATLAB語言的基本使用環(huán)境,菜單欄: 在MATLAB7.X主窗口的菜單欄,共包含F(xiàn)ile、Edit、Debug、Desktop、Window和Help 6個菜單項。,MATLAB菜單欄,在MATLAB 菜單欄,共包含F(xiàn)ile、Edit、View、Web、Window和Help 6個菜單項。File:包括新建,打開文件,關閉,保存,打印,導 入數(shù)據(jù),設置路徑及退出等操作。Edit:包括撤銷,剪切、復制、粘貼等常見的操作。Debug :程序的調試。Desktop:用于設置MATLAB集成環(huán)境的顯示方式。Window:用于關閉所有打開的編輯器窗口,在各窗口 之間切換。Help:用于提供幫助信息。,MATLAB幫助系統(tǒng),進入幫助窗口可以通過以下3種方法:單擊MATLAB主窗口工具欄中的Help按鈕;在命令窗口中輸入helpwin、helpdesk或doc;選擇Help菜單中的“MATLAB Help”選項。,MATLAB工具欄,工具欄:工具欄包括新建文件、打開文件、剪切,復制,粘貼等常用圖標;顯示MATLAB當前的路徑,用戶可以通過工具欄改變當前目錄路徑。,常用窗口,命令窗口(Command Window)歷史命令窗口( Command History)當前工作目錄(Current Directory)工作空間(Workspace)數(shù)組編輯器窗口(Array Editor)M文件編輯/調試器窗( Editor),1.命令窗口,1.命令窗口,作用:命令窗口是MATLAB的主要交互窗口,用于輸入命令并顯示除圖形以外的所有執(zhí)行結果。 在命令窗口中輸入MATLAB命令和數(shù)據(jù)后按回車鍵,立即執(zhí)行運算。命令窗口中的語句形式為:變量=表達式;,說明:命令窗口中的每個命令前會出現(xiàn)提示符 “”,沒有“”符號的行則是顯示的結果”。,1.命令窗口,句末加分號;則不顯示結果,例: a=3; b=4; c=a+b; cc = 7,2.歷史命令窗口,2.歷史命令窗口,作用:在默認設置下,歷史記錄窗口中會自動保留自安裝起所有用過的命令的歷史記錄。當按下方向鍵時窗口會依次出現(xiàn)已輸入命令。,2.歷史命令窗口,用來記錄并顯示已經(jīng)運行過的命令、函數(shù)和表達式。,3.當前工作目錄,說明:當前工作目錄用來設置當前目錄,并顯示當前目錄下的M文件、MAT文件等文件信息,窗口中包含文件名稱、類型、文件大小和修改時間等。,3.當前工作目錄,當用戶在MATLAB命令窗口輸入一條命令后,MATLAB按照一定次序尋找相關的文件。基本的搜索過程是:(1) 檢查該命令是不是一個變量。(2) 檢查該命令是不是一個內部函數(shù)。(3) 檢查該命令是不是當前目錄下的M文件。 (4) 檢查該命令是不是MATLAB搜索路徑中其他目錄下的M文件。 因此,當前目錄設置是否正確,決定程序是否能正確運行。,4.工作空間,4.工作空間,說明:工作空間瀏覽器窗口用于顯示內存中所有的變量名、數(shù)據(jù)結構、類型、大小和字節(jié)數(shù)。,5.數(shù)組編輯器窗口,啟動數(shù)組編輯器窗口的方法有:1.在工作空間窗口中雙擊該變量;2.選擇變量點擊鼠標右鍵,選擇“open selection”。,6.M文件編輯/調試窗口,打開M文件編輯/調試器窗口的方法:1點擊工具欄新建圖標;2點擊菜單“File”“New”“M-File”;3.打開已保存的M文件。,2.2 MATLAB語言的數(shù)據(jù)結構,2.2.1常量與變量 標識符:是標志變量名、常量名、函數(shù)名和文件名的字符串的總稱。字符包括全部的英文字母(大小寫52個)、阿拉伯數(shù)字和下劃線等符號,標識符中第一個字符必須是英文字母。 例:變量 A,a,A1,A_1 變量 1A,1a,_a ,2.2.2賦值語句,矩陣及其元素的賦值 賦值就是把數(shù)賦予代表常量或變量的標識符。在MATLAB中,變量都代表矩陣。列向量可被當作只有一列的矩陣;行向量也可被當作只有一個行的矩陣;標量應看作11階的矩陣。 賦值語句的一般形式為: 變量表達式(或數(shù)),2.2.2賦值語句,例如: a=3; b=4; c=a+b; d=sin(t);,MATLAB內部特殊變量和常數(shù),在MATLAB語言中為特定常數(shù)保留了一些名稱,雖然這些常量可以被重新賦值,但在編程時盡量避免對這些量重新賦值。,MATLAB內部特殊變量和常數(shù),變量ans:臨時變量,通常指示當前的答案。常數(shù)eps:表示浮點相對精度;其值是從1.0到下一個最大浮點數(shù)之間的差值。變量值作為一些MATLAB函數(shù)計算的相對浮點精度,按IEEE標準,esp近似為2.2204e-016。常數(shù)realmax:表示最大正浮點數(shù);任何大于該值的運算都溢出。在具有IEEE標準浮點格式的機器上,realmax略小于21024 ,近似為1.7977e+308。常數(shù)realmin:表示最小正浮點數(shù);任何小于該值的運算都溢出。在具有IEEE標準浮點格式的機器上,realmin略小于2-1024 ,近似為2.2251e-308。,MATLAB內部特殊變量和常數(shù),常數(shù)pi:表示圓周率 =3.1415926535897.。表達式4*atan(1)和imag(log(-1)產(chǎn)生相同的值。常數(shù)Inf:代表正無窮大,一般被0除或溢出則產(chǎn)生無窮大結果。如2/0,210000均產(chǎn)生結果:Inf;而log(0)產(chǎn)生結果:-Inf。虛數(shù)單位i,j:表示復數(shù)虛部單位,相當于 。NaN:表示非數(shù)值。如當Inf-Inf,Inf/Inf, 0*Inf,0/0均產(chǎn)生該結果。,(1)變量ans, a=3; b=4; a+bans = 7,變量ans:臨時變量,通常指示當前的答案。,常數(shù)eps,常數(shù)eps:表示浮點相對精度;其值是從1.0到下一個最大浮點數(shù)之間的差值。esp默認值為2.2204e-016,若某個量的絕對值小于eps,則從數(shù)值運算的角度可以認為這個量為0。,常數(shù)eps, epsans = 2.2204e-016,常數(shù)realmax:,常數(shù)realmax: 表示最大正浮點數(shù);任何大于該值的運算都溢出。Realmax默認值為1.7977e+308。,常數(shù)realmax:, realmaxans = 1.7977e+308,常數(shù)realmin:,常數(shù)realmin: 表示最小正浮點數(shù);任何小于該值的運算都溢出。Realmin默認值為2.2251e-308。,常數(shù)realmin:, realminans = 2.2251e-308,常數(shù)pi:,pi:表示圓周率 =3.1415926535897 表達式4*atan(1)和imag(log(-1)產(chǎn)生相同的值。,常數(shù)pi:,常數(shù)Inf:,常數(shù)Inf:代表正無窮大,一般被0除或溢出則產(chǎn)生無窮大結果。如2/0,210000均產(chǎn)生結果Inf;而log(0)產(chǎn)生結果-Inf。,常數(shù)Inf:,虛數(shù)單位i,j,i,j:表示復數(shù)虛部單位, a=3+2ia = 3.0000 + 2.0000i b=3+2jb = 3.0000 + 2.0000i,NaN,NaN:表示非數(shù)值。如:Inf-Inf;0*Inf;Inf/Inf,0/0均產(chǎn)生該結果。,2.2.3矩陣的MATLAB表示,1賦值要求在輸入矩陣時,應遵循以下規(guī)則:整個矩陣的值應放在方括號中;同一行中各元素之間以逗號“,”或空格分開;不同行的元素以分號“;”隔開。,2.2.3矩陣的MATLAB表示, a=1 2;3 4a = 1 2 3 4, a=1,2;3,4a = 1 2 3 4,例如:,2.2.3矩陣的MATLAB表示,一般來說,一個命令行輸入一條命令,命令行以回車結束。但一個命令行也可以輸入若干條命令,各命令之間以逗號分隔,若前一命令后帶有分號,則逗號可以省略。 例如: p=15,m=35; p=15;m=35,2.2.3矩陣的MATLAB表示,如果一個命令行很長,一個物理行之內寫不下,可以在第一個物理行之后加上3個小黑點并按下回車鍵,然后接著下一個物理行繼續(xù)寫命令的其他部分。3個小黑點稱為續(xù)行符,即把下面的物理行看作該行的邏輯繼續(xù) 。,2.2.3矩陣的MATLAB表示,a=3;b=2;c=1; d=a+b.-cd = 4,2.2.3矩陣的MATLAB表示,2變量的元素的標注 在MATLAB中,變量的元素(即矩陣元)用圓括號“()”中的數(shù)字(也稱為下標)來注明,一維矩陣(也稱數(shù)組)中的元素用一個下標表示,二維矩陣由兩個下標數(shù)構成,以逗號分開,對三維矩陣則由三個下標數(shù)構成。,變量的元素的標注:一維矩陣舉例, a=rand(1,3)a = 0.8913 0.7621 0.4565 b=a(2)b = 0.7621,變量的元素的標注:二維矩陣舉例, a=rand(2,3)a = 0.6154 0.9218 0.1763 0.7919 0.7382 0.4057 b=a(2,2)b = 0.7382,變量的元素的標注:三維矩陣舉例, a=rand(2,2,2)a(:,:,1) = 0.9355 0.4103 0.9169 0.8936a(:,:,2) = 0.0579 0.8132 0.3529 0.0099, b=a(2,2,1)b = 0.8936,2.2.3矩陣的MATLAB表示,3賦值技巧利用冒號“:” 給全行或部分元素賦值;(2)利用行、列標注構成新的矩陣。,(1)利用冒號“:” 給全行的元素賦值, a=rand(2,2)a = 0.1389 0.1987 0.2028 0.6038 a(:,2)=1a = 0.1389 1.0000 0.2028 1.0000,思考:如果接下來輸入命令:a(1,:)=1那么a=?a =1.0000 1.00000.2028 1.0000, a=ones(4)a = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 a(2:4,3:4)=0a = 1 1 1 1 1 1 0 0 1 1 0 0 1 1 0 0,習題:A為5*4矩陣,B為4*6矩陣,C=A*B1)求出乘積矩陣C,2)將C矩陣的右下角2*3的子矩陣賦給D矩陣。,利用冒號“:” 給局部元素賦值,習題,A=1,2,3,3;2,3,5,7;1,3,5,7;3,2,3,9;1,8,9,4A = 1 2 3 3 2 3 5 7 1 3 5 7 3 2 3 9 1 8 9 4,B=1,4,3,6,7,8;2,3,3,5,5,4;2,6,5,3,4,2;1,8,9,5,4,3B = 1 4 3 6 7 8 2 3 3 5 5 4 2 6 5 3 4 2 1 8 9 5 4 3,2.10習題(2), C=A*B C = 14 52 51 40 41 31 25 103 103 77 77 59 24 99 100 71 70 51 22 108 111 82 79 65 39 114 108 93 99 70, D=C(4:5,4:6) D = 82 79 65 93 99 70,(2)利用行、列標注構成新的矩陣,若要產(chǎn)生矩陣a = 1 1 1 1 2 1 1 1 1,可以采用以下方法: a=ones(3,3)a = 1 1 1 1 1 1 1 1 1 a(2,2)=2,2.2.3矩陣的MATLAB表示,4特殊矩陣和數(shù)組(1)單位矩陣函數(shù)eye();(2)zeros函數(shù)、ones函數(shù);(3)rand以及randn 函數(shù);(4)linspace函數(shù)。,1.eye(m,n),eye(m,n)產(chǎn)生對角線元素為1,其他元素為0的矩陣。例如:, eye(3,2)ans = 1 0 0 1 0 0, a=eye(3,3)a = 1 0 0 0 1 0 0 0 1,2. zeros函數(shù)、ones函數(shù),zeros(m,n):產(chǎn)生m行,n列矩陣,矩陣元素均為0。ones(m,n):產(chǎn)生m行,n列矩陣,矩陣元素均為1。, zeros(2,3)ans = 0 0 0 0 0 0, ones(3,2)ans = 1 1 1 1 1 1,3.rand以及randn 函數(shù),rand:產(chǎn)生隨機矩陣,矩陣元素滿足在0、 1之間均勻分布。randn:產(chǎn)生隨機矩陣,矩陣元素服從均值為0,方差為1的正態(tài)分布。, rand(3,3)ans = 0.5252 0.8381 0.2026 0.0196 0.6721 0.6813, randn(3,2)ans = -1.1465 -0.0376 1.1909 0.3273 1.1892 0.1746,4. linspace函數(shù),linspace函數(shù)的調用格式如下:y=linspace(a,b,n)產(chǎn)生一個行矢量y,該矢量把a和b間的數(shù)等分n份而得到。,例: y=linspace(1,100,5)y =1.0000 25.7500 50.5000 75.2500 100.0000,2.2.3矩陣的MATLAB表示,5復數(shù)的賦值方式 MATLAB的每一個元素都可以是復數(shù),實數(shù)是復數(shù)的特例。復數(shù)的虛數(shù)部分用i或j表示。對復數(shù)矩陣有兩種賦值方法: (1)可將矩陣元逐個賦予復數(shù); (2)將矩陣的實部和虛部分別賦值。,復數(shù)的賦值方式,逐個賦值: a=zeros(2,1); a(1,1)=1+2i; a(2,1)=2+2ia =1.0000 + 2.0000i 2.0000 + 2.0000i,實、虛部分別賦值: b=1;2; c=2;2; d=b+cid =1.0000 + 2.0000i 2.0000 + 2.0000i,2.2.3矩陣的MATLAB表示,6變量檢查 在程序調試或變量的賦值過程,往往需要檢查工作空間中的變量、變量的階數(shù)以及變量賦值內容。在檢查變量及其階數(shù)等內容時,既可用工作空間窗口,也可在命令窗口使用who或whos命令來完成檢查。當查看某變量的賦值情況,可在命令窗口直接鍵入該變量名回車即可。,變量檢查(who,whos), d =1.0000 + 2.0000i 2.0000 + 2.0000i; whos Name Size Bytes Class d 1x2 32 double array (complex)Grand total is 2 elements using 32 bytes whoYour variables are:d,2.3 MATLAB下矩陣的運算,2.3.1 矩陣的代數(shù)運算 (1)矩陣加減法“”:AB功能:兩矩陣對應元素相加減。因此,A和B兩矩陣必須有相同的大小,或其中之一為標量,標量可以與任意大小的矩陣相加。,(1)矩陣加減法“”:AB,相同大小矩陣相加: a=2,3; b=ones(1,2)b = 1 1 c=a+bc = 3 4,矩陣與常數(shù)相加: a=2,3; b =1; c=a+bc = 3 4,2.3.1 矩陣的代數(shù)
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版電力工程設計咨詢合同2篇
- 二零二五年度高新技術企業(yè)承包商擔保合同3篇
- 二零二五版戶外用品促銷員活動策劃合同2篇
- 二零二五年度酒店前臺正規(guī)雇傭合同范本(含勞動合同變更及續(xù)簽規(guī)則)3篇
- 二零二五版港口安全評價與安全管理合同3篇
- 二零二五版環(huán)保工程保險合同3篇
- 二零二五版外資企業(yè)往來借款稅務籌劃合同3篇
- 二零二五年財務顧問企業(yè)財務管理咨詢合同3篇
- 二零二五版智能家居產(chǎn)品銷售安裝合同2篇
- 二零二五年度鋼筋行業(yè)購銷合同規(guī)范范本5篇
- 2023年某保險公司春節(jié)經(jīng)營教材
- 劉都才-南方水稻田雜草發(fā)生動態(tài)及防控技術
- 全自動化學發(fā)光分析儀操作規(guī)程
- 北侖區(qū)建筑工程質量監(jiān)督站監(jiān)督告知書
- 深藍的故事(全3冊)
- GB/T 42461-2023信息安全技術網(wǎng)絡安全服務成本度量指南
- 職校開學第一課班會PPT
- 央國企信創(chuàng)白皮書 -基于信創(chuàng)體系的數(shù)字化轉型
- GB/T 36964-2018軟件工程軟件開發(fā)成本度量規(guī)范
- 6第六章 社會契約論.電子教案教學課件
- 機加車間各崗位績效考核方案
評論
0/150
提交評論