matlab簡單培訓(xùn)教程_第1頁
matlab簡單培訓(xùn)教程_第2頁
matlab簡單培訓(xùn)教程_第3頁
matlab簡單培訓(xùn)教程_第4頁
matlab簡單培訓(xùn)教程_第5頁
已閱讀5頁,還剩96頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、L/O/G/O2010年桂林理工大學(xué)數(shù)學(xué)建模競賽暑期培訓(xùn)班MATLAB編程入門培訓(xùn)課程編程入門培訓(xùn)課程桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室 艾武桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室2學(xué)習(xí)方法學(xué)習(xí)方法MATLAB 基礎(chǔ)入門 MATLAB簡介 MATLAB基本操作 MATLAB常用命令 設(shè)計提高 MATLAB數(shù)組運算MATLAB矩陣運算MATLAB程序設(shè)計 綜合應(yīng)用 MATLAB數(shù)值實驗 MATLAB統(tǒng)計實驗 MATLAB優(yōu)化實驗桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室3課程目錄課程目錄MATLAB簡介簡介 1MATLAB語言基礎(chǔ)語言基礎(chǔ) 2MATLAB數(shù)值計算數(shù)值計算 3MATLAB程序設(shè)計程

2、序設(shè)計 4MATLAB繪圖繪圖 5桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室41. MATLAB簡介簡介 桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室51. MATLAB簡介簡介1.1 MATLAB發(fā)展歷史發(fā)展歷史1.2 MATLAB應(yīng)用領(lǐng)域應(yīng)用領(lǐng)域1.3 MATLAB工具箱工具箱1.4 MATLAB安裝文件安裝文件1.5 MATLAB操作界面操作界面1.6 MATLAB文件類型文件類型1.7 MATLAB常用命令常用命令1.8 上機(jī)練習(xí)上機(jī)練習(xí)桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室61. MATLAB簡介簡介MatlabMatrix LaboratoryCleve MolerMatlabMatrix

3、Laboratory, 該語言是美國該語言是美國New Mexico大學(xué)計算機(jī)系主任大學(xué)計算機(jī)系主任Cleve Moler在在70年代后期首先設(shè)計的年代后期首先設(shè)計的. 并于并于80年代初開發(fā)了第二代專業(yè)版年代初開發(fā)了第二代專業(yè)版.1984年年, Cleve Moler和和John Litter成立了成立了Math works公公司司, 并開始把并開始把Matlab推向市場推向市場. (邁斯沃克公司)(邁斯沃克公司)http:/1.1 MATLAB發(fā)展歷史發(fā)展歷史桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室71. MATLAB簡介簡介 目前,目前,Matlab 已經(jīng)成為國際上最流行的科學(xué)與工程計算的

4、軟件已經(jīng)成為國際上最流行的科學(xué)與工程計算的軟件 工具,它已經(jīng)不僅僅是一個工具,它已經(jīng)不僅僅是一個“矩陣實驗室矩陣實驗室”了,而成為了一種具有了,而成為了一種具有廣泛應(yīng)用前景的全新的計算機(jī)高級編程語言廣泛應(yīng)用前景的全新的計算機(jī)高級編程語言,有人稱它為有人稱它為“第四代第四代”計算機(jī)語言。計算機(jī)語言。 就影響而言,至今仍然沒有一個別的計算軟件可與就影響而言,至今仍然沒有一個別的計算軟件可與 Matlab 匹敵。匹敵。 Mathematica Maple SAS SPSS Eviews LINGO LINDO 在歐美各高等院校,在歐美各高等院校,Matlab已經(jīng)成為線性代數(shù)、自動控制理論、數(shù)已經(jīng)成為

5、線性代數(shù)、自動控制理論、數(shù)字信號處理、時間序列分析、動態(tài)系統(tǒng)仿真、圖像處理等課程的基本字信號處理、時間序列分析、動態(tài)系統(tǒng)仿真、圖像處理等課程的基本教學(xué)工具,成為大學(xué)生、碩士生以及博士生必須掌握的基本技能。教學(xué)工具,成為大學(xué)生、碩士生以及博士生必須掌握的基本技能。1.2 MATLAB應(yīng)用領(lǐng)域應(yīng)用領(lǐng)域桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室81. MATLAB簡介簡介Matlab Main ToolboxMatlab主工具箱主工具箱Control System Toolbox控制系統(tǒng)工具箱控制系統(tǒng)工具箱Communication Toolbox通訊工具箱通訊工具箱Financial Toolbox財

6、政金融工具箱財政金融工具箱System Identification Toolbox系統(tǒng)辨識工具箱系統(tǒng)辨識工具箱Fuzzy Logic Toolbox模糊邏輯工具箱模糊邏輯工具箱Higher-Order Spectral Analysis Toolbox高階譜分析工具箱高階譜分析工具箱Image Processing Toolbox圖像處理工具箱圖像處理工具箱LMI Control Toolbox線性矩陣不等式工具箱線性矩陣不等式工具箱Model predictive Control Toolbox模型預(yù)測控制工具箱模型預(yù)測控制工具箱-Analysis and Synthesis Toolbo

7、x分析工具箱分析工具箱1.3 MATLAB工具箱工具箱桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室91. MATLAB簡介簡介Optimization Toolbox優(yōu)化工具箱優(yōu)化工具箱Partial Differential Toolbox偏微分方程工具箱偏微分方程工具箱Robust Control Toolbox魯棒控制工具箱魯棒控制工具箱Signal Processing Toolbox信號處理工具箱信號處理工具箱Spline Toolbox樣條工具箱樣條工具箱Statistics Toolbox統(tǒng)計工具箱統(tǒng)計工具箱Symbolic Math Toolbox符號數(shù)學(xué)工具箱符號數(shù)學(xué)工具箱Simu

8、link Toolbox動態(tài)仿真工具箱動態(tài)仿真工具箱System Identification Toolbox系統(tǒng)辨識工具箱系統(tǒng)辨識工具箱Wavelet Toolbox小波工具箱小波工具箱1.3 MATLAB工具箱工具箱桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室101. MATLAB簡介簡介1.4 MATLAB安裝文件安裝文件桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室111. MATLAB簡介簡介1.5 MATLAB操作界面操作界面快捷鍵快捷鍵F5運行運行桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室121. MATLAB簡介簡介1.6 MATLAB文件類型文件類型.mm文件文件.matdata文件文件.fi

9、gfigure文件文件.mdlmodel文件文件.cdrstateflow文件文件.rptreport generator文件文件桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室131. MATLAB簡介簡介help 幫助查詢幫助查詢lookfor幫助查詢幫助查詢demo演示文檔演示文檔clc刪除命令窗口的內(nèi)容(已使用過的命令)刪除命令窗口的內(nèi)容(已使用過的命令)clear刪除內(nèi)存中的變量(數(shù)據(jù))刪除內(nèi)存中的變量(數(shù)據(jù))clf刪除圖形窗口的內(nèi)容刪除圖形窗口的內(nèi)容who列出在列出在MATLAB工作空間中已有的變量工作空間中已有的變量whos列出駐留變量的同時列出駐留變量的同時,還給出維數(shù)及性質(zhì)還給出維數(shù)及

10、性質(zhì)home光標(biāo)移到命令窗口的左上角光標(biāo)移到命令窗口的左上角調(diào)出剛才使用過的命令調(diào)出剛才使用過的命令quit退出退出MATLABCtrl+C中斷程序運行中斷程序運行1.7 MATLAB常用命令常用命令桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室141. MATLAB簡介簡介version顯示顯示matlab版本版本what列出當(dāng)前目錄下的列出當(dāng)前目錄下的.m文件和文件和.mat文件文件which 顯示某個文件的路徑顯示某個文件的路徑load name下載下載name文件中的所有變量到工作空間文件中的所有變量到工作空間load name x y下載下載name文件中的變量文件中的變量x, y到工作空間

11、到工作空間save name保存工作空間變量到文件保存工作空間變量到文件name.mat中中save name x y保存工作空間變量保存工作空間變量x, y到文件到文件name.mat中中size (變量名)(變量名)顯示當(dāng)前工作空間中變量的尺寸顯示當(dāng)前工作空間中變量的尺寸length (變量名)(變量名)顯示當(dāng)前工作空間中變量的長度顯示當(dāng)前工作空間中變量的長度pack整理工作空間內(nèi)存整理工作空間內(nèi)存vpa(x,n)顯示顯示n位小數(shù)的位小數(shù)的xdisp顯示矩陣與文本顯示矩陣與文本1.7 MATLAB常用命令常用命令桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室151. MATLAB簡介簡介1.8 上

12、機(jī)練習(xí)上機(jī)練習(xí)桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室162. MATLAB語言基礎(chǔ)語言基礎(chǔ) 桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室172. MATLAB語言基礎(chǔ)語言基礎(chǔ)2.1 MATLAB數(shù)據(jù)類型數(shù)據(jù)類型2.2 MATLAB數(shù)組運算數(shù)組運算2.3 MATLAB向量運算向量運算2.4 MATLAB矩陣運算矩陣運算2.5 MATLAB字符串運算字符串運算2.6 MATLAB關(guān)系運算關(guān)系運算2.7 MATLAB邏輯運算邏輯運算2.8 上機(jī)練習(xí)上機(jī)練習(xí)桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室182. MATLAB語言基礎(chǔ)語言基礎(chǔ)2.1 MATLAB數(shù)據(jù)類型數(shù)據(jù)類型 MATLABMatlab數(shù)據(jù)類型1.

13、數(shù)值型數(shù)值型 2. 字符字符串字符字符串 3. 元胞數(shù)組元胞數(shù)組 4. 架構(gòu)數(shù)組架構(gòu)數(shù)組 桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室192. MATLAB語言基礎(chǔ)語言基礎(chǔ)2.1 MATLAB數(shù)據(jù)類型數(shù)據(jù)類型變量變量Matlab中變量名是以字母開頭,可以由字母、數(shù)字或下劃線組成中變量名是以字母開頭,可以由字母、數(shù)字或下劃線組成Matlab 區(qū)分大小寫,它的命令和函數(shù)全是小寫的區(qū)分大小寫,它的命令和函數(shù)全是小寫的Matlab變量名不超過變量名不超過31個字符個字符桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室202. MATLAB語言基礎(chǔ)語言基礎(chǔ)2.1 MATLAB數(shù)據(jù)類型數(shù)據(jù)類型常量常量ansMatlab中

14、的默認(rèn)變量中的默認(rèn)變量pi圓周率圓周率eps計算機(jī)中的最小數(shù),浮點運算的相對精度計算機(jī)中的最小數(shù),浮點運算的相對精度inf無窮大,如無窮大,如 1/0NaN不定值,如不定值,如 0/0、0*i 或或 j復(fù)數(shù)中的虛數(shù)單位復(fù)數(shù)中的虛數(shù)單位realmin最小可用正實數(shù)最小可用正實數(shù)realmax最大可用正實數(shù)最大可用正實數(shù)桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室212. MATLAB語言基礎(chǔ)語言基礎(chǔ)2.1 MATLAB數(shù)據(jù)類型數(shù)據(jù)類型數(shù)字顯示格式命令數(shù)字顯示格式命令format short5位定點表示位定點表示format long15位定點表示位定點表示format short e5位浮點表示位浮點

15、表示format long e15位浮點表示位浮點表示format short g5位定點和位定點和5位浮點中自動選擇最好格式表示位浮點中自動選擇最好格式表示format long g15位定點和位定點和15位浮點中自動選擇最好格式表示位浮點中自動選擇最好格式表示format hex16進(jìn)制格式表示進(jìn)制格式表示format +在矩陣中,用符號在矩陣中,用符號+、-和空格表示正號、負(fù)號和零和空格表示正號、負(fù)號和零桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室222. MATLAB語言基礎(chǔ)語言基礎(chǔ)2.2 MATLAB數(shù)組運算數(shù)組運算表達(dá)式表達(dá)式Matlab中的表達(dá)式由運算符、函數(shù)、變量名和數(shù)字組成中的表達(dá)

16、式由運算符、函數(shù)、變量名和數(shù)字組成Matlab 語句由變量和表達(dá)式組成,有兩種常見形式:語句由變量和表達(dá)式組成,有兩種常見形式:形式形式1:表達(dá)式:表達(dá)式形式形式2:變量:變量=表達(dá)式表達(dá)式若不想顯示形式若不想顯示形式1或或2的運算結(jié)果,可在表達(dá)式后加分號的運算結(jié)果,可在表達(dá)式后加分號“;” 桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室232. MATLAB語言基礎(chǔ)語言基礎(chǔ)2.2 MATLAB數(shù)組運算數(shù)組運算運算符運算符+ 加法加法- 減法減法* 乘法乘法.* 點乘點乘/ 除法除法./ 點除點除 乘冪乘冪. 點乘冪點乘冪 左除左除. 點左除點左除桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室242. MAT

17、LAB語言基礎(chǔ)語言基礎(chǔ)2.2 MATLAB數(shù)組運算數(shù)組運算數(shù)組的構(gòu)造數(shù)組的構(gòu)造x=0 1 3 5 7 9 10 x=0,1,3,5,7,9,10 x= 0 1 3 5 7 9 10 手動法手動法數(shù)組用中括號,以數(shù)組用中括號,以空格空格或或逗號逗號為間隔輸入元素為間隔輸入元素 桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室252. MATLAB語言基礎(chǔ)語言基礎(chǔ)2.2 MATLAB數(shù)組運算數(shù)組運算數(shù)組的構(gòu)造數(shù)組的構(gòu)造x=0:0.5:2x= 0 0.5000 1.0000 1.5000 2.0000冒號法冒號法a:步長步長:b a:b (默認(rèn)(默認(rèn) 步長步長=1) y=0:5y= 0 1.0000 2.00

18、00 3.0000 4.0000 5.0000桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室262. MATLAB語言基礎(chǔ)語言基礎(chǔ)2.2 MATLAB數(shù)組運算數(shù)組運算數(shù)組的構(gòu)造數(shù)組的構(gòu)造x=linspace(0,pi,12)x= 0 0.2856 0.5712 0.8568 1.1424 1.4280 1.7136 1.9992 2.2848 2.5704 2.8560 3.1416函數(shù)法函數(shù)法linspace(a,b,n) 從從a開始,到開始,到b結(jié)束,包含結(jié)束,包含n個數(shù)據(jù)元素的數(shù)組個數(shù)據(jù)元素的數(shù)組 a:(b-a)/(n-1):b 桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室272. MATLAB語言基

19、礎(chǔ)語言基礎(chǔ)2.2 MATLAB數(shù)組運算數(shù)組運算數(shù)組的引用數(shù)組的引用x=1 2 3 4 5x(1:3)ans=123x(n) 表示數(shù)組中的第表示數(shù)組中的第n個元素個元素 x(n1:n2) 表示數(shù)組中的第表示數(shù)組中的第n1到到n2個元素個元素 桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室282. MATLAB語言基礎(chǔ)語言基礎(chǔ)2.2 MATLAB數(shù)組運算數(shù)組運算矩陣數(shù)組矩陣數(shù)組A=2, 4, 6, 8;1 3 5 7; 0 0 0 0;1,0,1,0 2468135700001010A以以空格空格或或逗號逗號分隔,指定不同的分隔,指定不同的列列 以以分號分號或或回車回車分隔,指定不同的分隔,指定不同的行行

20、 (10)5A桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室292. MATLAB語言基礎(chǔ)語言基礎(chǔ)2.2 MATLAB數(shù)組運算數(shù)組運算四則運算四則運算數(shù)組與標(biāo)量間的四則運算數(shù)組與標(biāo)量間的四則運算 x=1 3 4; 2, 6, 5; 3 2,4 a=2*x-2 a= 0 4 6 2 10 8 4 2 6134265324桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室302. MATLAB語言基礎(chǔ)語言基礎(chǔ)2.2 MATLAB數(shù)組運算數(shù)組運算四則運算四則運算134265324數(shù)組間的四則運算,必須具有相同的維數(shù),對應(yīng)元素進(jìn)行運算數(shù)組間的四則運算,必須具有相同的維數(shù),對應(yīng)元素進(jìn)行運算 + - .* ./ . a=1

21、3 4;2, 6, 5;3 2,4 b=2 3 1;4 1 2;4 5 3c= 3 6 5 6 7 7 7 7 7231412453c=a+b桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室312. MATLAB語言基礎(chǔ)語言基礎(chǔ)2.2 MATLAB數(shù)組運算數(shù)組運算四則運算四則運算134265324a=1 3 4;2, 6, 5;3 2,4 b=2 3 1;4 1 2;4 5 3c= 2 9 4 8 6 10 12 10 12231412453c=a.*bd=a./bd= 0.5000 1.0000 4.0000 0.5000 6.0000 2.5000 0.7500 0.4000 1.3333a./b=

22、b.a桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室322. MATLAB語言基礎(chǔ)語言基礎(chǔ)2.2 MATLAB數(shù)組運算數(shù)組運算冪運算冪運算134265324數(shù)組的冪運算數(shù)組的冪運算 . a=1 3 4;2, 6, 5;3 2,4 c=a.2c= 1 9 16 4 36 25 9 4 16d= 19 29 35 29 52 58 19 29 38d=a2桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室332. MATLAB語言基礎(chǔ)語言基礎(chǔ)2.2 MATLAB數(shù)組運算數(shù)組運算冪運算冪運算134265324a=1 3 4;2, 6, 5;3 2,4 b=2 3 1;4 1 2;4 5 3c= 1 27 4 16 6

23、25 81 32 64231412453c=a.b桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室342. MATLAB語言基礎(chǔ)語言基礎(chǔ)2.3 MATLAB向量運算向量運算點積點積c=dot(a,b)c=ab,相當(dāng)于,相當(dāng)于a*b(a與與b都是行向量都是行向量) a=2 4 5 3 1 b=3 8 10 12 13c= 137c=dot(a,b)桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室352. MATLAB語言基礎(chǔ)語言基礎(chǔ)2.3 MATLAB向量運算向量運算叉積叉積c=cross(a,b)c=ab,a與與b必須是必須是3維向量維向量 a=2 4 5 b=3 8 10c= 0-54c=cross(a,b)桂

24、林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室362. MATLAB語言基礎(chǔ)語言基礎(chǔ)2.3 MATLAB向量運算向量運算混合積混合積由由dot和和cross兩個函數(shù)共同完成兩個函數(shù)共同完成abc=(ab) c a=2 4 5 b=3 8 10c= 0-54c=0 -5 4d=dot(a,cross(b,c)桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室372. MATLAB語言基礎(chǔ)語言基礎(chǔ)2.3 MATLAB向量運算向量運算向量函數(shù)向量函數(shù)max求最大值求最大值min求最小值求最小值sum求和求和length求長度求長度mean求平均值求平均值median 求中間值求中間值prod乘積乘積sort從小到大排序從

25、小到大排序桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室382. MATLAB語言基礎(chǔ)語言基礎(chǔ)2.4 MATLAB矩陣運算矩陣運算特殊矩陣特殊矩陣 生成空矩陣生成空矩陣eye(n,m)生成生成nm單位矩陣單位矩陣ones(n,m)生成全部元素是生成全部元素是1的矩陣的矩陣zeros(n,m)生成全部元素是生成全部元素是0的矩陣的矩陣magic(n)生成魔方矩陣生成魔方矩陣rand(n,m) 生成生成01之間均勻分布的隨機(jī)矩陣之間均勻分布的隨機(jī)矩陣randn(n,m)生成均值為生成均值為0,方差為,方差為1的標(biāo)準(zhǔn)正態(tài)分布的隨機(jī)矩陣的標(biāo)準(zhǔn)正態(tài)分布的隨機(jī)矩陣compan(a)生產(chǎn)矩陣生產(chǎn)矩陣a的伴隨矩陣的伴

26、隨矩陣桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室392. MATLAB語言基礎(chǔ)語言基礎(chǔ)2.4 MATLAB矩陣運算矩陣運算矩陣加法矩陣加法241890矩陣的四則運算矩陣的四則運算 A=1 2;3 5;2 6 B=2 4;1 8;9 0C= 3 6 4 13 11 6 C=A+B123526桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室402. MATLAB語言基礎(chǔ)語言基礎(chǔ)2.4 MATLAB矩陣運算矩陣運算矩陣乘法矩陣乘法241890矩陣的四則運算矩陣的四則運算 A=1 2;3 5;2 6 B=2 4 1; 8 9 0D= 18 22 1 46 57 3 52 62 2123526D=A*B桂林理工大學(xué)理

27、學(xué)院信息與計算科學(xué)教研室412. MATLAB語言基礎(chǔ)語言基礎(chǔ)2.4 MATLAB矩陣運算矩陣運算矩陣除法矩陣除法在在Matlab中矩陣的除法分左除中矩陣的除法分左除“”和右除和右除“/” X=AB 給出線性方程組給出線性方程組 AX=B 的一個解的一個解 X=B/A 給出線性方程組給出線性方程組 XA=B 的一個解的一個解 AB B/Asym(AB,r) = 5/7 1 9/7 -8/7 -1 -6/7 44/7 7 54/7sym(B/A,r) = -2/7 8/7 13/7 1/7 17/7 25/7 4/7 26/7 37/7A=B=310021101123456789桂林理工大學(xué)理學(xué)

28、院信息與計算科學(xué)教研室422. MATLAB語言基礎(chǔ)語言基礎(chǔ)2.4 MATLAB矩陣運算矩陣運算矩陣乘冪矩陣乘冪矩陣的冪運算矩陣的冪運算 A=21 34 20;78 20 21;17 34 31 C=A2C= 3433 2074 1754 3555 3766 2631 3536 2312 2015213420782021173431桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室432. MATLAB語言基礎(chǔ)語言基礎(chǔ)2.4 MATLAB矩陣運算矩陣運算矩陣轉(zhuǎn)置、逆、行列式矩陣轉(zhuǎn)置、逆、行列式矩陣的轉(zhuǎn)置、逆運算及行列式運算矩陣的轉(zhuǎn)置、逆運算及行列式運算 A=1 2 0;2 5 -1;4 10 -1 C=A

29、C= 1 2 4 2 5 10 0 -1 -11202514101D=inv(A)e=det(A)D= 5 2 -2 -2 -1 1 0 -2 1e= 1桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室442. MATLAB語言基礎(chǔ)語言基礎(chǔ)2.5 MATLAB字符串運算字符串運算常用字符串函數(shù)常用字符串函數(shù)size查看字符數(shù)組維數(shù)查看字符數(shù)組維數(shù)char把數(shù)字轉(zhuǎn)換為字符串把數(shù)字轉(zhuǎn)換為字符串strcmp比較字符串比較字符串strcat字符串連接字符串連接upper轉(zhuǎn)換為大寫轉(zhuǎn)換為大寫lower轉(zhuǎn)換為小寫轉(zhuǎn)換為小寫findstr在字符串中找字符串在字符串中找字符串strjust對齊字符數(shù)組對齊字符數(shù)組str

30、match查找匹配字符串查找匹配字符串deblank刪除字符串中的空格刪除字符串中的空格桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室452. MATLAB語言基礎(chǔ)語言基礎(chǔ)2.6 MATLAB關(guān)系運算關(guān)系運算關(guān)系操作符關(guān)系操作符 小于小于 大于大于= 大于等于大于等于= 等于等于= 不等于不等于運算法則:若關(guān)系式成立,結(jié)果為運算法則:若關(guān)系式成立,結(jié)果為1; 若關(guān)系式不成立,結(jié)果為若關(guān)系式不成立,結(jié)果為0。A=1 4 3 5 7B=2 6 9 0 7A=Bans= 0 0 0 0 1桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室462. MATLAB語言基礎(chǔ)語言基礎(chǔ)2.7 MATLAB邏輯運算邏輯運算邏輯操作

31、符邏輯操作符 & 與與 | 或或 非非運算法則:運算法則: 若邏輯真,結(jié)果為若邏輯真,結(jié)果為1; 若邏輯假,結(jié)果為若邏輯假,結(jié)果為0。a=1:2:11b=2:7(a6)ans= 1 0 0 0 0 1桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室47一、數(shù)學(xué)運算符p其功能主要是進(jìn)行各種數(shù)學(xué)運算其功能主要是進(jìn)行各種數(shù)學(xué)運算,按其優(yōu)先按其優(yōu)先級別依次為級別依次為:p 1.轉(zhuǎn)置轉(zhuǎn)置(.)、共軛轉(zhuǎn)置、共軛轉(zhuǎn)置()、冪次、冪次(.)、矩陣冪次矩陣冪次()p 2.正、負(fù)號正、負(fù)號(+/-)p 3.乘法乘法(.*)、矩陣乘法、矩陣乘法(*)、元素左右除、元素左右除(.,/.)、矩陣左右除、矩陣左右除(,/)p 4.

32、加減法加減法(+,-)p 5.冒號冒號(:)p 先后賦值先后賦值,如如:x=1:2:5桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室48幾點說明:幾點說明:F在同一優(yōu)先級中,運算自左至右完成,所以若對運算順在同一優(yōu)先級中,運算自左至右完成,所以若對運算順序不確定時,最好以序不確定時,最好以“( )”實現(xiàn)強(qiáng)制運算順序。實現(xiàn)強(qiáng)制運算順序。FF MatlabMatlab的數(shù)學(xué)運算有時支持標(biāo)量的數(shù)學(xué)運算有時支持標(biāo)量、矩陣混合運算,此時、矩陣混合運算,此時即將標(biāo)量展開為適當(dāng)矩陣(即將標(biāo)量展開為適當(dāng)矩陣(Scalar ExpansionScalar Expansion) (舉例)(舉例)F左除、右除的區(qū)別:左除、

33、右除的區(qū)別: 對于矩陣對于矩陣, ,右除如右除如A/B,A/B,相當(dāng)于相當(dāng)于X X* *B=AB=A的解矩陣的解矩陣; ; 左除如左除如AB,AB,相當(dāng)于相當(dāng)于A A* *X=BX=B的解矩陣的解矩陣. . 對于元素,對于元素,右除(右除(./)./)和左除和左除(.)(.)也不相同也不相同桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室492. MATLAB語言基礎(chǔ)語言基礎(chǔ)2.8 上機(jī)練習(xí)上機(jī)練習(xí)桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室503. MATLAB數(shù)值計算數(shù)值計算 桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室513. MATLAB數(shù)值計算數(shù)值計算3.1 多項式運算多項式運算3.2 多項式插值多項式插

34、值3.3 多項式擬合多項式擬合3.4 上機(jī)練習(xí)上機(jī)練習(xí)桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室523. MATLAB數(shù)值計算數(shù)值計算3.1 多項式多項式構(gòu)造構(gòu)造p=2 5 0 4 1 4 poly2sym(p) ans= 2*x5+5*x4+4*x2+x+4 poly2sym(p)p=a0,a1,an,多項式降冪排列系數(shù)數(shù)組,多項式降冪排列系數(shù)數(shù)組 桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室533. MATLAB數(shù)值計算數(shù)值計算3.1 多項式多項式四則運算四則運算p1=2 5 0 4 1 4; p2=0 0 5 1 3 2; p=p1+p2 ans= 2*x5+5*x4+5*x3+5*x2+4*x+

35、6 +、-、conv(p1,p2)、deconv(p1,p2)加減要補(bǔ)零,相同長度加減要補(bǔ)零,相同長度 poly2sym(p)桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室543. MATLAB數(shù)值計算數(shù)值計算3.1 多項式多項式四則運算四則運算p1=2 5 0 4 1 4; p2=0 0 5 1 3 2; p=conv(p1,p2) ans= 10*x8+27*x7+11*x6+39*x5+19*x4+33*x3+15*x2+14*x+8 +、-、conv(p1,p2)、deconv(p1,p2)poly2sym(p)桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室553. MATLAB數(shù)值計算數(shù)值計算3.1

36、 多項式多項式四則運算四則運算p1=2 5 0 4 1 4; p2=0 0 5 1 3 2; p,r=deconv(p1,p2) p= 0.40000.9200-0.4240r= 0 0 0 0.8640 0.4320 4.8480 +、-、conv(p1,p2)、deconv(p1,p2)桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室563. MATLAB數(shù)值計算數(shù)值計算3.1 多項式多項式求導(dǎo)運算求導(dǎo)運算p1=2 5 0 4 1 4h=polyder(p1) polyder(p) poly2sym(h)ans= 10*x4+20*x3+8*x+1 桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室573. M

37、ATLAB數(shù)值計算數(shù)值計算3.1 多項式多項式求值運算求值運算p1=2 5 0 4 1 4h=polyval(p1,3,4) polyval(p,s) 數(shù)組規(guī)則數(shù)組規(guī)則 polyvalm(p,s) 矩陣規(guī)則矩陣規(guī)則 k=polyvalm(p1,3,4;4,6)h= 934 3400 k= 4341462640 6264090394桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室583. MATLAB數(shù)值計算數(shù)值計算3.1 多項式多項式求根運算求根運算p1=2 5 6 4 1 8h=roots(p1) roots(p) h= -1.7640 -0.8679 + 1.3394i -0.8679 - 1.33

38、94i 0.5000 + 0.8001i 0.5000 - 0.8001i桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室593. MATLAB數(shù)值計算數(shù)值計算3.1 多項式多項式多項式函數(shù)多項式函數(shù)conv多項式乘法多項式乘法polyfit多項式擬合多項式擬合deconv多項式除法法多項式除法法polyval多項式求值多項式求值poly求矩陣的特征多項式求矩陣的特征多項式polyvalm多項式矩陣求值多項式矩陣求值polyder多項式求導(dǎo)多項式求導(dǎo)residue部分分式展開部分分式展開polyeig多項式求特征值多項式求特征值roots求多項式的根求多項式的根桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室60

39、3. MATLAB數(shù)值計算數(shù)值計算3.2 多項式插值多項式插值interp1(x,y,x1,method) nearest最近插值最近插值linear線性插值線性插值spline三次樣條插值三次樣條插值cubic三次插值三次插值x=4:15;y=5 8 9 15 25 29 31 30 22 25 27 24;x=4:0.5:15;yn=interp1(x,y,x1,nearest); yl=interp1(x,y,x1,linear); ys=interp1(x,y,x1,spline); yc=interp1(x,y,x1,cubic);plot(x,y,o,x1,yn,-); plot(

40、x,y,o,x1,yl,-);plot(x,y,o,x1,ys,-) ; plot(x,y,o,x1,yc,-);桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室613. MATLAB數(shù)值計算數(shù)值計算3.3 多項式擬合多項式擬合x=linspace(x,y,n); y=cos(x); p=polyfit(x,y,6);y1=polyval(p,x); polyfit(x,y,n) plot(x,y,or,x,y1,-b); 01234567-1-0.500.511.5桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室623. MATLAB數(shù)值計算數(shù)值計算3.4 上機(jī)練習(xí)上機(jī)練習(xí)桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室

41、634. MATLAB程序設(shè)計程序設(shè)計 桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室644. MATLAB程序設(shè)計程序設(shè)計4.1 M文件文件4.2 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出4.3 程序結(jié)構(gòu)控制程序結(jié)構(gòu)控制4.4 上機(jī)練習(xí)上機(jī)練習(xí) 桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室654. MATLAB程序設(shè)計程序設(shè)計4.1 M文件文件局部變量與全局變量局部變量與全局變量global A B C 無論在腳本文件還是在函數(shù)文件中,都會定義一些變量。函數(shù)文無論在腳本文件還是在函數(shù)文件中,都會定義一些變量。函數(shù)文件所定義的變量是局部變量,這些變量獨立于其他函數(shù)的局部變量件所定義的變量是局部變量,這些變量獨立于其他函

42、數(shù)的局部變量和工作空間的變量,即只能在該函數(shù)的工作空間引用,而不能在其和工作空間的變量,即只能在該函數(shù)的工作空間引用,而不能在其他函數(shù)工作空間和命令工作空間引用。他函數(shù)工作空間和命令工作空間引用。 但是如果某些變量被定義成全局變量,就可以在整個但是如果某些變量被定義成全局變量,就可以在整個MATLAB 工作空間進(jìn)行存取和修改,以實現(xiàn)共享。因此,定義全局變量是函工作空間進(jìn)行存取和修改,以實現(xiàn)共享。因此,定義全局變量是函數(shù)間傳遞信息的一種手段。數(shù)間傳遞信息的一種手段。桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室664. MATLAB程序設(shè)計程序設(shè)計4.1 M文件文件M文件的編輯文件的編輯桂林理工大學(xué)理學(xué)

43、院信息與計算科學(xué)教研室674. MATLAB程序設(shè)計程序設(shè)計4.1 M文件文件腳本文件腳本文件x=linspace(x,y,n); y=cos(x); p=polyfit(x,y,6);y1=polyval(p,x); 一些命令的集合一些命令的集合 plot(x,y,or,x,y1,-b); 桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室684. MATLAB程序設(shè)計程序設(shè)計4.1 M文件文件函數(shù)文件函數(shù)文件function y=hanshu(x) y=sin(x)+cos(x);function開頭,編制一個函數(shù)文件,輸入什么,輸出什么開頭,編制一個函數(shù)文件,輸入什么,輸出什么 輸出參數(shù)表輸出參數(shù)表

44、=函數(shù)名函數(shù)名(輸入?yún)?shù)表輸入?yún)?shù)表)sincosyxx桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室694. MATLAB程序設(shè)計程序設(shè)計4.1 M文件文件常用數(shù)學(xué)函數(shù)常用數(shù)學(xué)函數(shù)sin(x) 正弦正弦asin(x) 反正弦反正弦cos(x) 余弦余弦acos(x) 反余弦反余弦tan(x) 正切正切atan(x) 反正切反正切cot(x)余切余切acot(x)反余切反余切abs(x)絕對值絕對值max(x)最大值最大值min(x)最小值最小值sum(x)求和求和sqrt(x)開平方開平方exp(x)以以e為底的指數(shù)為底的指數(shù)log(x)自然對數(shù)自然對數(shù)log10(x)以以10為底的對數(shù)為底的對數(shù)s

45、ign(x)符號函數(shù)符號函數(shù)fix(x)取整取整桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室704. MATLAB程序設(shè)計程序設(shè)計4.2 數(shù)據(jù)輸入與輸出數(shù)據(jù)輸入與輸出鍵盤輸入鍵盤輸入 屏幕輸出屏幕輸出x=input(請輸入數(shù)據(jù));disp(x); inputdisp 桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室714. MATLAB程序設(shè)計程序設(shè)計4.2 數(shù)據(jù)輸入與輸出數(shù)據(jù)輸入與輸出M數(shù)據(jù)文件存儲數(shù)據(jù)文件存儲加載加載save存儲存儲 save將所有工作空間變量存儲在名為將所有工作空間變量存儲在名為MATLAB.mat的文件中的文件中save filename將所有工作空間變量存儲在名為將所有工作空間變量存

46、儲在名為filename.mat的的文件中文件中save filename X Y Z將工作空間的指定變量將工作空間的指定變量X、Y、Z存儲在名為存儲在名為filename.mat的文件中的文件中桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室724. MATLAB程序設(shè)計程序設(shè)計4.2 數(shù)據(jù)輸入與輸出數(shù)據(jù)輸入與輸出M數(shù)據(jù)文件存儲數(shù)據(jù)文件存儲加載加載load加載加載 load加載名為加載名為MATLAB.mat的文件中的所有變量到的文件中的所有變量到工作空間工作空間load filename加載名為加載名為filename.mat的文件中的所有變量到工的文件中的所有變量到工作空間作空間load file

47、name X Y Z加載名為加載名為filename.mat的文件中的的文件中的X、Y、Z變量變量到工作空間到工作空間桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室734. MATLAB程序設(shè)計程序設(shè)計4.2 數(shù)據(jù)輸入與輸出數(shù)據(jù)輸入與輸出外部文件導(dǎo)入外部文件導(dǎo)入filename, pathname= uigetfile(*.xls); %尋找源文件file=pathname filename; %賦名x=xlsread(file); %格式轉(zhuǎn)換為矩陣之后就用x來代表導(dǎo)入的這個矩陣。如excel 里輸入了 1 2 3 4 5 6如下命令x(1,:)ans = 1 2 3.xlsEXCEL文件數(shù)據(jù)導(dǎo)入文件

48、數(shù)據(jù)導(dǎo)入 桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室744. MATLAB程序設(shè)計程序設(shè)計4.2 數(shù)據(jù)輸入與輸出數(shù)據(jù)輸入與輸出外部文件導(dǎo)入外部文件導(dǎo)入a1,a2,a3,a4=textread(test1.txt,%s%s%s%s,headerlines,4)說明:%s可以是其他形式,跟讀入的數(shù)據(jù)類型有關(guān),比如這里也可以用%n,%f等。這里%s的個數(shù)和a1,a2,a3,a4對應(yīng)。 .txt記事本文件數(shù)據(jù)導(dǎo)入記事本文件數(shù)據(jù)導(dǎo)入 桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室754. MATLAB程序設(shè)計程序設(shè)計4.2 數(shù)據(jù)輸入與輸出數(shù)據(jù)輸入與輸出外部文件導(dǎo)入外部文件導(dǎo)入file-import data按照提示

49、進(jìn)行按照提示進(jìn)行 .xls.txt桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室764. MATLAB程序設(shè)計程序設(shè)計4.3 程序結(jié)構(gòu)控制程序結(jié)構(gòu)控制for循環(huán)循環(huán)for循環(huán)控制命令循環(huán)控制命令 格式: for i=n1:(step):n2 commands; end 作用:重復(fù)執(zhí)行命令集commands.循環(huán)控制命令命令(for命令命令)桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室774. MATLAB程序設(shè)計程序設(shè)計4.3 程序結(jié)構(gòu)控制程序結(jié)構(gòu)控制for循環(huán)循環(huán)例例1:求和:求和:s=1+2+n n=input(請輸入 n=); s=0; for i=1:n s=s+i; fprintf(i=%.0f,

50、 s=%.0fn,i,s); end例例2:求奇數(shù)和:求奇數(shù)和:s=1+3+5+(2k-1) n=input(請輸入 n=); s=0; for i=1:2:n s=s+i; fprintf(i=%.0f, s=%.0fn,i,s); end桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室784. MATLAB程序設(shè)計程序設(shè)計4.3 程序結(jié)構(gòu)控制程序結(jié)構(gòu)控制for循環(huán)循環(huán)例例3:求階乘:求階乘:p=12 3 n=n! n=input(請輸入 n= ); p=1; for i=1:n p=p*i; fprintf( i=%.0f, p=%.0fn ,i,p); end例例4:求:求e:e=1+1+1/2!

51、+1/3!+1/n! n=input(請輸入 n= ); p=1;e=1; for i=1:n p=p*i; p1=1/p; e=e+p1; fprintf( i=%.0f, p=%.0f, e=%.8f n ,i,p,e); end桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室794. MATLAB程序設(shè)計程序設(shè)計4.3 程序結(jié)構(gòu)控制程序結(jié)構(gòu)控制for循環(huán)循環(huán)例例5:求:求pi:pi/4=1-1/3+1/5-1/7+1/9-1/11+ n=input(請輸入 n= ); pi=0;k=-1; for i=1:2:n k=(-1)*k; pi=pi+k*1/i; fprintf( i=%.0f, pi

52、=%.8f n ,i,4*pi); end桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室804. MATLAB程序設(shè)計程序設(shè)計4.3 程序結(jié)構(gòu)控制程序結(jié)構(gòu)控制while循環(huán)循環(huán)while條件循環(huán)命令條件循環(huán)命令 條件循環(huán)命令命令(while命令命令)格式: while (condition is true) commands; end 作用:重復(fù)執(zhí)行命令集commands.桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室814. MATLAB程序設(shè)計程序設(shè)計4.3 程序結(jié)構(gòu)控制程序結(jié)構(gòu)控制while循環(huán)循環(huán)例例6:求和:求和:s=1+2+n3000 s=0;k=1; while s3000 s=s+k; fpr

53、intf( k=%.0f, s=%.0fn ,k,s); k=k+1; end例例7:求:求e:e=1+1+1/2!+1/3!+ (1/n!=1.0e-8 p=p*i; r=1/p; e=e+r; fprintf( i=%.0f, r=%.9f, e=%.9f n ,i,r,e); i=i+1; end桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室824. MATLAB程序設(shè)計程序設(shè)計4.3 程序結(jié)構(gòu)控制程序結(jié)構(gòu)控制if控制控制if選擇控制命令選擇控制命令 單項選擇控制單項選擇控制格式: if (condition is true) commands; end 作用:若條件成立,則執(zhí)行命令集 commands. 否則,不執(zhí)行。桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室834. MATLAB程序設(shè)計程序設(shè)計4.3 程序結(jié)構(gòu)控制程序結(jié)構(gòu)控制if控制控制例例8:求:求n個實數(shù)中最大的數(shù)個實數(shù)中最大的數(shù)M a=input(請輸入數(shù)組 an= ); m,n=size(a); M=a(1); for i=2:n if M0 sn=1;elseif x=0 sn=0;else sn=-1;endfprintf(x=%.5f, sn=%.0fn,x,sn);桂林理工大學(xué)理學(xué)院信息與計算科學(xué)教研室864. MATL

溫馨提示

  • 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

提交評論