版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、L/O/G/O2010年桂林理工大學數(shù)學建模競賽暑期培訓班MATLAB編程入門培訓課程編程入門培訓課程桂林理工大學理學院信息與計算科學教研室 艾武桂林理工大學理學院信息與計算科學教研室2學習方法學習方法MATLAB 基礎入門 MATLAB簡介 MATLAB基本操作 MATLAB常用命令 設計提高 MATLAB數(shù)組運算MATLAB矩陣運算MATLAB程序設計 綜合應用 MATLAB數(shù)值實驗 MATLAB統(tǒng)計實驗 MATLAB優(yōu)化實驗桂林理工大學理學院信息與計算科學教研室3課程目錄課程目錄MATLAB簡介簡介 1MATLAB語言基礎語言基礎 2MATLAB數(shù)值計算數(shù)值計算 3MATLAB程序設計程
2、序設計 4MATLAB繪圖繪圖 5桂林理工大學理學院信息與計算科學教研室41. MATLAB簡介簡介 桂林理工大學理學院信息與計算科學教研室51. MATLAB簡介簡介1.1 MATLAB發(fā)展歷史發(fā)展歷史1.2 MATLAB應用領域應用領域1.3 MATLAB工具箱工具箱1.4 MATLAB安裝文件安裝文件1.5 MATLAB操作界面操作界面1.6 MATLAB文件類型文件類型1.7 MATLAB常用命令常用命令1.8 上機練習上機練習桂林理工大學理學院信息與計算科學教研室61. MATLAB簡介簡介MatlabMatrix LaboratoryCleve MolerMatlabMatrix
3、Laboratory, 該語言是美國該語言是美國New Mexico大學計算機系主任大學計算機系主任Cleve Moler在在70年代后期首先設計的年代后期首先設計的. 并于并于80年代初開發(fā)了第二代專業(yè)版年代初開發(fā)了第二代專業(yè)版.1984年年, Cleve Moler和和John Litter成立了成立了Math works公公司司, 并開始把并開始把Matlab推向市場推向市場. (邁斯沃克公司)(邁斯沃克公司)http:/1.1 MATLAB發(fā)展歷史發(fā)展歷史桂林理工大學理學院信息與計算科學教研室71. MATLAB簡介簡介 目前,目前,Matlab 已經(jīng)成為國際上最流行的科學與工程計算的
4、軟件已經(jīng)成為國際上最流行的科學與工程計算的軟件 工具,它已經(jīng)不僅僅是一個工具,它已經(jīng)不僅僅是一個“矩陣實驗室矩陣實驗室”了,而成為了一種具有了,而成為了一種具有廣泛應用前景的全新的計算機高級編程語言廣泛應用前景的全新的計算機高級編程語言,有人稱它為有人稱它為“第四代第四代”計算機語言。計算機語言。 就影響而言,至今仍然沒有一個別的計算軟件可與就影響而言,至今仍然沒有一個別的計算軟件可與 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)仿真、圖像處理等課程的基本教學工具,成為大學生、碩士生以及博士生必須掌握的基本技能。教學工具,成為大學生、碩士生以及博士生必須掌握的基本技能。1.2 MATLAB應用領域應用領域桂林理工大學理學院信息與計算科學教研室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模型預測控制工具箱模型預測控制工具箱-Analysis and Synthesis Toolbo
7、x分析工具箱分析工具箱1.3 MATLAB工具箱工具箱桂林理工大學理學院信息與計算科學教研室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ù)學工具箱符號數(shù)學工具箱Simu
8、link Toolbox動態(tài)仿真工具箱動態(tài)仿真工具箱System Identification Toolbox系統(tǒng)辨識工具箱系統(tǒng)辨識工具箱Wavelet Toolbox小波工具箱小波工具箱1.3 MATLAB工具箱工具箱桂林理工大學理學院信息與計算科學教研室101. MATLAB簡介簡介1.4 MATLAB安裝文件安裝文件桂林理工大學理學院信息與計算科學教研室111. MATLAB簡介簡介1.5 MATLAB操作界面操作界面快捷鍵快捷鍵F5運行運行桂林理工大學理學院信息與計算科學教研室121. MATLAB簡介簡介1.6 MATLAB文件類型文件類型.mm文件文件.matdata文件文件.fi
9、gfigure文件文件.mdlmodel文件文件.cdrstateflow文件文件.rptreport generator文件文件桂林理工大學理學院信息與計算科學教研室131. MATLAB簡介簡介help 幫助查詢幫助查詢lookfor幫助查詢幫助查詢demo演示文檔演示文檔clc刪除命令窗口的內容(已使用過的命令)刪除命令窗口的內容(已使用過的命令)clear刪除內存中的變量(數(shù)據(jù))刪除內存中的變量(數(shù)據(jù))clf刪除圖形窗口的內容刪除圖形窗口的內容who列出在列出在MATLAB工作空間中已有的變量工作空間中已有的變量whos列出駐留變量的同時列出駐留變量的同時,還給出維數(shù)及性質還給出維數(shù)及
10、性質home光標移到命令窗口的左上角光標移到命令窗口的左上角調出剛才使用過的命令調出剛才使用過的命令quit退出退出MATLABCtrl+C中斷程序運行中斷程序運行1.7 MATLAB常用命令常用命令桂林理工大學理學院信息與計算科學教研室141. MATLAB簡介簡介version顯示顯示matlab版本版本what列出當前目錄下的列出當前目錄下的.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 (變量名)(變量名)顯示當前工作空間中變量的尺寸顯示當前工作空間中變量的尺寸length (變量名)(變量名)顯示當前工作空間中變量的長度顯示當前工作空間中變量的長度pack整理工作空間內存整理工作空間內存vpa(x,n)顯示顯示n位小數(shù)的位小數(shù)的xdisp顯示矩陣與文本顯示矩陣與文本1.7 MATLAB常用命令常用命令桂林理工大學理學院信息與計算科學教研室151. MATLAB簡介簡介1.8 上
12、機練習上機練習桂林理工大學理學院信息與計算科學教研室162. MATLAB語言基礎語言基礎 桂林理工大學理學院信息與計算科學教研室172. MATLAB語言基礎語言基礎2.1 MATLAB數(shù)據(jù)類型數(shù)據(jù)類型2.2 MATLAB數(shù)組運算數(shù)組運算2.3 MATLAB向量運算向量運算2.4 MATLAB矩陣運算矩陣運算2.5 MATLAB字符串運算字符串運算2.6 MATLAB關系運算關系運算2.7 MATLAB邏輯運算邏輯運算2.8 上機練習上機練習桂林理工大學理學院信息與計算科學教研室182. MATLAB語言基礎語言基礎2.1 MATLAB數(shù)據(jù)類型數(shù)據(jù)類型 MATLABMatlab數(shù)據(jù)類型1.
13、數(shù)值型數(shù)值型 2. 字符字符串字符字符串 3. 元胞數(shù)組元胞數(shù)組 4. 架構數(shù)組架構數(shù)組 桂林理工大學理學院信息與計算科學教研室192. MATLAB語言基礎語言基礎2.1 MATLAB數(shù)據(jù)類型數(shù)據(jù)類型變量變量Matlab中變量名是以字母開頭,可以由字母、數(shù)字或下劃線組成中變量名是以字母開頭,可以由字母、數(shù)字或下劃線組成Matlab 區(qū)分大小寫,它的命令和函數(shù)全是小寫的區(qū)分大小寫,它的命令和函數(shù)全是小寫的Matlab變量名不超過變量名不超過31個字符個字符桂林理工大學理學院信息與計算科學教研室202. MATLAB語言基礎語言基礎2.1 MATLAB數(shù)據(jù)類型數(shù)據(jù)類型常量常量ansMatlab中
14、的默認變量中的默認變量pi圓周率圓周率eps計算機中的最小數(shù),浮點運算的相對精度計算機中的最小數(shù),浮點運算的相對精度inf無窮大,如無窮大,如 1/0NaN不定值,如不定值,如 0/0、0*i 或或 j復數(shù)中的虛數(shù)單位復數(shù)中的虛數(shù)單位realmin最小可用正實數(shù)最小可用正實數(shù)realmax最大可用正實數(shù)最大可用正實數(shù)桂林理工大學理學院信息與計算科學教研室212. MATLAB語言基礎語言基礎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進制格式表示進制格式表示format +在矩陣中,用符號在矩陣中,用符號+、-和空格表示正號、負號和零和空格表示正號、負號和零桂林理工大學理學院信息與計算科學教研室222. MATLAB語言基礎語言基礎2.2 MATLAB數(shù)組運算數(shù)組運算表達式表達式Matlab中的表達式由運算符、函數(shù)、變量名和數(shù)字組成中的表達
16、式由運算符、函數(shù)、變量名和數(shù)字組成Matlab 語句由變量和表達式組成,有兩種常見形式:語句由變量和表達式組成,有兩種常見形式:形式形式1:表達式:表達式形式形式2:變量:變量=表達式表達式若不想顯示形式若不想顯示形式1或或2的運算結果,可在表達式后加分號的運算結果,可在表達式后加分號“;” 桂林理工大學理學院信息與計算科學教研室232. MATLAB語言基礎語言基礎2.2 MATLAB數(shù)組運算數(shù)組運算運算符運算符+ 加法加法- 減法減法* 乘法乘法.* 點乘點乘/ 除法除法./ 點除點除 乘冪乘冪. 點乘冪點乘冪 左除左除. 點左除點左除桂林理工大學理學院信息與計算科學教研室242. MAT
17、LAB語言基礎語言基礎2.2 MATLAB數(shù)組運算數(shù)組運算數(shù)組的構造數(shù)組的構造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ù)組用中括號,以空格空格或或逗號逗號為間隔輸入元素為間隔輸入元素 桂林理工大學理學院信息與計算科學教研室252. MATLAB語言基礎語言基礎2.2 MATLAB數(shù)組運算數(shù)組運算數(shù)組的構造數(shù)組的構造x=0:0.5:2x= 0 0.5000 1.0000 1.5000 2.0000冒號法冒號法a:步長步長:b a:b (默認(默認 步長步長=1) y=0:5y= 0 1.0000 2.00
18、00 3.0000 4.0000 5.0000桂林理工大學理學院信息與計算科學教研室262. MATLAB語言基礎語言基礎2.2 MATLAB數(shù)組運算數(shù)組運算數(shù)組的構造數(shù)組的構造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結束,包含結束,包含n個數(shù)據(jù)元素的數(shù)組個數(shù)據(jù)元素的數(shù)組 a:(b-a)/(n-1):b 桂林理工大學理學院信息與計算科學教研室272. MATLAB語言基
19、礎語言基礎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個元素個元素 桂林理工大學理學院信息與計算科學教研室282. MATLAB語言基礎語言基礎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桂林理工大學理學院信息與計算科學教研室292. MATLAB語言基礎語言基礎2.2 MATLAB數(shù)組運算數(shù)組運算四則運算四則運算數(shù)組與標量間的四則運算數(shù)組與標量間的四則運算 x=1 3 4; 2, 6, 5; 3 2,4 a=2*x-2 a= 0 4 6 2 10 8 4 2 6134265324桂林理工大學理學院信息與計算科學教研室302. MATLAB語言基礎語言基礎2.2 MATLAB數(shù)組運算數(shù)組運算四則運算四則運算134265324數(shù)組間的四則運算,必須具有相同的維數(shù),對應元素進行運算數(shù)組間的四則運算,必須具有相同的維數(shù),對應元素進行運算 + - .* ./ . 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桂林理工大學理學院信息與計算科學教研室312. MATLAB語言基礎語言基礎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桂林理工大學理學院信息與計算科學教研室322. MATLAB語言基礎語言基礎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桂林理工大學理學院信息與計算科學教研室332. MATLAB語言基礎語言基礎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桂林理工大學理學院信息與計算科學教研室342. MATLAB語言基礎語言基礎2.3 MATLAB向量運算向量運算點積點積c=dot(a,b)c=ab,相當于,相當于a*b(a與與b都是行向量都是行向量) a=2 4 5 3 1 b=3 8 10 12 13c= 137c=dot(a,b)桂林理工大學理學院信息與計算科學教研室352. MATLAB語言基礎語言基礎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、林理工大學理學院信息與計算科學教研室362. MATLAB語言基礎語言基礎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)桂林理工大學理學院信息與計算科學教研室372. MATLAB語言基礎語言基礎2.3 MATLAB向量運算向量運算向量函數(shù)向量函數(shù)max求最大值求最大值min求最小值求最小值sum求和求和length求長度求長度mean求平均值求平均值median 求中間值求中間值prod乘積乘積sort從小到大排序從
25、小到大排序桂林理工大學理學院信息與計算科學教研室382. MATLAB語言基礎語言基礎2.4 MATLAB矩陣運算矩陣運算特殊矩陣特殊矩陣 生成空矩陣生成空矩陣eye(n,m)生成生成nm單位矩陣單位矩陣ones(n,m)生成全部元素是生成全部元素是1的矩陣的矩陣zeros(n,m)生成全部元素是生成全部元素是0的矩陣的矩陣magic(n)生成魔方矩陣生成魔方矩陣rand(n,m) 生成生成01之間均勻分布的隨機矩陣之間均勻分布的隨機矩陣randn(n,m)生成均值為生成均值為0,方差為,方差為1的標準正態(tài)分布的隨機矩陣的標準正態(tài)分布的隨機矩陣compan(a)生產(chǎn)矩陣生產(chǎn)矩陣a的伴隨矩陣的伴
26、隨矩陣桂林理工大學理學院信息與計算科學教研室392. MATLAB語言基礎語言基礎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桂林理工大學理學院信息與計算科學教研室402. MATLAB語言基礎語言基礎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桂林理工大學理
27、學院信息與計算科學教研室412. MATLAB語言基礎語言基礎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桂林理工大學理學
28、院信息與計算科學教研室422. MATLAB語言基礎語言基礎2.4 MATLAB矩陣運算矩陣運算矩陣乘冪矩陣乘冪矩陣的冪運算矩陣的冪運算 A=21 34 20;78 20 21;17 34 31 C=A2C= 3433 2074 1754 3555 3766 2631 3536 2312 2015213420782021173431桂林理工大學理學院信息與計算科學教研室432. MATLAB語言基礎語言基礎2.4 MATLAB矩陣運算矩陣運算矩陣轉置、逆、行列式矩陣轉置、逆、行列式矩陣的轉置、逆運算及行列式運算矩陣的轉置、逆運算及行列式運算 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桂林理工大學理學院信息與計算科學教研室442. MATLAB語言基礎語言基礎2.5 MATLAB字符串運算字符串運算常用字符串函數(shù)常用字符串函數(shù)size查看字符數(shù)組維數(shù)查看字符數(shù)組維數(shù)char把數(shù)字轉換為字符串把數(shù)字轉換為字符串strcmp比較字符串比較字符串strcat字符串連接字符串連接upper轉換為大寫轉換為大寫lower轉換為小寫轉換為小寫findstr在字符串中找字符串在字符串中找字符串strjust對齊字符數(shù)組對齊字符數(shù)組str
30、match查找匹配字符串查找匹配字符串deblank刪除字符串中的空格刪除字符串中的空格桂林理工大學理學院信息與計算科學教研室452. MATLAB語言基礎語言基礎2.6 MATLAB關系運算關系運算關系操作符關系操作符 小于小于 大于大于= 大于等于大于等于= 等于等于= 不等于不等于運算法則:若關系式成立,結果為運算法則:若關系式成立,結果為1; 若關系式不成立,結果為若關系式不成立,結果為0。A=1 4 3 5 7B=2 6 9 0 7A=Bans= 0 0 0 0 1桂林理工大學理學院信息與計算科學教研室462. MATLAB語言基礎語言基礎2.7 MATLAB邏輯運算邏輯運算邏輯操作
31、符邏輯操作符 & 與與 | 或或 非非運算法則:運算法則: 若邏輯真,結果為若邏輯真,結果為1; 若邏輯假,結果為若邏輯假,結果為0。a=1:2:11b=2:7(a6)ans= 1 0 0 0 0 1桂林理工大學理學院信息與計算科學教研室47一、數(shù)學運算符p其功能主要是進行各種數(shù)學運算其功能主要是進行各種數(shù)學運算,按其優(yōu)先按其優(yōu)先級別依次為級別依次為:p 1.轉置轉置(.)、共軛轉置、共軛轉置()、冪次、冪次(.)、矩陣冪次矩陣冪次()p 2.正、負號正、負號(+/-)p 3.乘法乘法(.*)、矩陣乘法、矩陣乘法(*)、元素左右除、元素左右除(.,/.)、矩陣左右除、矩陣左右除(,/)
32、p 4.加減法加減法(+,-)p 5.冒號冒號(:)p 先后賦值先后賦值,如如:x=1:2:5桂林理工大學理學院信息與計算科學教研室48幾點說明:幾點說明:F在同一優(yōu)先級中,運算自左至右完成,所以若對運算順在同一優(yōu)先級中,運算自左至右完成,所以若對運算順序不確定時,最好以序不確定時,最好以“( )”實現(xiàn)強制運算順序。實現(xiàn)強制運算順序。FF MatlabMatlab的數(shù)學運算有時支持標量、矩陣混合運算,此時的數(shù)學運算有時支持標量、矩陣混合運算,此時即將標量展開為適當矩陣(即將標量展開為適當矩陣(Scalar ExpansionScalar Expansion) (舉例)(舉例)F左除、右除的區(qū)別
33、:左除、右除的區(qū)別: 對于矩陣對于矩陣, ,右除如右除如A/B,A/B,相當于相當于X X* *B=AB=A的解矩陣的解矩陣; ; 左除如左除如AB,AB,相當于相當于A A* *X=BX=B的解矩陣的解矩陣. . 對于元素,對于元素,右除(右除(./)./)和左除和左除(.)(.)也不相同也不相同桂林理工大學理學院信息與計算科學教研室492. MATLAB語言基礎語言基礎2.8 上機練習上機練習桂林理工大學理學院信息與計算科學教研室503. MATLAB數(shù)值計算數(shù)值計算 桂林理工大學理學院信息與計算科學教研室513. MATLAB數(shù)值計算數(shù)值計算3.1 多項式運算多項式運算3.2 多項式插值
34、多項式插值3.3 多項式擬合多項式擬合3.4 上機練習上機練習桂林理工大學理學院信息與計算科學教研室523. MATLAB數(shù)值計算數(shù)值計算3.1 多項式多項式構造構造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ù)組 桂林理工大學理學院信息與計算科學教研室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+
35、4*x+6 +、-、conv(p1,p2)、deconv(p1,p2)加減要補零,相同長度加減要補零,相同長度 poly2sym(p)桂林理工大學理學院信息與計算科學教研室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)桂林理工大學理學院信息與計算科學教研室553. MATLAB數(shù)值計算數(shù)值計
36、算3.1 多項式多項式四則運算四則運算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)桂林理工大學理學院信息與計算科學教研室563. MATLAB數(shù)值計算數(shù)值計算3.1 多項式多項式求導運算求導運算p1=2 5 0 4 1 4h=polyder(p1) polyder(p) poly2sym(h)ans= 10*x4+20*x3+8*x+1 桂林理工大學理學院信息與計算科學教研室57
37、3. MATLAB數(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桂林理工大學理學院信息與計算科學教研室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 -
38、1.3394i 0.5000 + 0.8001i 0.5000 - 0.8001i桂林理工大學理學院信息與計算科學教研室593. MATLAB數(shù)值計算數(shù)值計算3.1 多項式多項式多項式函數(shù)多項式函數(shù)conv多項式乘法多項式乘法polyfit多項式擬合多項式擬合deconv多項式除法法多項式除法法polyval多項式求值多項式求值poly求矩陣的特征多項式求矩陣的特征多項式polyvalm多項式矩陣求值多項式矩陣求值polyder多項式求導多項式求導residue部分分式展開部分分式展開polyeig多項式求特征值多項式求特征值roots求多項式的根求多項式的根桂林理工大學理學院信息與計算科學教
39、研室603. 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,-); p
40、lot(x,y,o,x1,yl,-);plot(x,y,o,x1,ys,-) ; plot(x,y,o,x1,yc,-);桂林理工大學理學院信息與計算科學教研室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桂林理工大學理學院信息與計算科學教研室623. MATLAB數(shù)值計算數(shù)值計算3.4 上機練習上機練習桂林理工大學理學院信息與計算科
41、學教研室634. MATLAB程序設計程序設計 桂林理工大學理學院信息與計算科學教研室644. MATLAB程序設計程序設計4.1 M文件文件4.2 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出4.3 程序結構控制程序結構控制4.4 上機練習上機練習 桂林理工大學理學院信息與計算科學教研室654. MATLAB程序設計程序設計4.1 M文件文件局部變量與全局變量局部變量與全局變量global A B C 無論在腳本文件還是在函數(shù)文件中,都會定義一些變量。函數(shù)文無論在腳本文件還是在函數(shù)文件中,都會定義一些變量。函數(shù)文件所定義的變量是局部變量,這些變量獨立于其他函數(shù)的局部變量件所定義的變量是局部變量,這些變量獨立
42、于其他函數(shù)的局部變量和工作空間的變量,即只能在該函數(shù)的工作空間引用,而不能在其和工作空間的變量,即只能在該函數(shù)的工作空間引用,而不能在其他函數(shù)工作空間和命令工作空間引用。他函數(shù)工作空間和命令工作空間引用。 但是如果某些變量被定義成全局變量,就可以在整個但是如果某些變量被定義成全局變量,就可以在整個MATLAB 工作空間進行存取和修改,以實現(xiàn)共享。因此,定義全局變量是函工作空間進行存取和修改,以實現(xiàn)共享。因此,定義全局變量是函數(shù)間傳遞信息的一種手段。數(shù)間傳遞信息的一種手段。桂林理工大學理學院信息與計算科學教研室664. MATLAB程序設計程序設計4.1 M文件文件M文件的編輯文件的編輯桂林理工
43、大學理學院信息與計算科學教研室674. MATLAB程序設計程序設計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); 桂林理工大學理學院信息與計算科學教研室684. MATLAB程序設計程序設計4.1 M文件文件函數(shù)文件函數(shù)文件function y=hanshu(x) y=sin(x)+cos(x);function開頭,編制一個函數(shù)文件,輸入什么,輸出什么開頭,編制一個函數(shù)文件,輸入什么,輸出什么 輸出參數(shù)表輸
44、出參數(shù)表=函數(shù)名函數(shù)名(輸入?yún)?shù)表輸入?yún)?shù)表)sincosyxx桂林理工大學理學院信息與計算科學教研室694. MATLAB程序設計程序設計4.1 M文件文件常用數(shù)學函數(shù)常用數(shù)學函數(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ù)為底
45、的對數(shù)sign(x)符號函數(shù)符號函數(shù)fix(x)取整取整桂林理工大學理學院信息與計算科學教研室704. MATLAB程序設計程序設計4.2 數(shù)據(jù)輸入與輸出數(shù)據(jù)輸入與輸出鍵盤輸入鍵盤輸入 屏幕輸出屏幕輸出x=input(請輸入數(shù)據(jù));disp(x); inputdisp 桂林理工大學理學院信息與計算科學教研室714. MATLAB程序設計程序設計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的文件中的文件中桂林理工大學理學院信息與計算科學教研室724. MATLAB程序設計程序設計4.2 數(shù)據(jù)輸入與輸出數(shù)據(jù)輸入與輸出M數(shù)據(jù)文件存儲數(shù)據(jù)文件存儲加載加載load加載加載 load加載名為加載名為MATLAB.mat的文件中的所有變量到的文件中的所有變量到工作空間工作空間load filename加載名為加載名為filename.mat的文件中的所有變量到工的文件中的所有變量到工作空間作空間load
47、filename X Y Z加載名為加載名為filename.mat的文件中的的文件中的X、Y、Z變量變量到工作空間到工作空間桂林理工大學理學院信息與計算科學教研室734. MATLAB程序設計程序設計4.2 數(shù)據(jù)輸入與輸出數(shù)據(jù)輸入與輸出外部文件導入外部文件導入filename, pathname= uigetfile(*.xls); %尋找源文件file=pathname filename; %賦名x=xlsread(file); %格式轉換為矩陣之后就用x來代表導入的這個矩陣。如excel 里輸入了 1 2 3 4 5 6如下命令x(1,:)ans = 1 2 3.xlsEXCEL文件數(shù)據(jù)
48、導入文件數(shù)據(jù)導入 桂林理工大學理學院信息與計算科學教研室744. MATLAB程序設計程序設計4.2 數(shù)據(jù)輸入與輸出數(shù)據(jù)輸入與輸出外部文件導入外部文件導入a1,a2,a3,a4=textread(test1.txt,%s%s%s%s,headerlines,4)說明:%s可以是其他形式,跟讀入的數(shù)據(jù)類型有關,比如這里也可以用%n,%f等。這里%s的個數(shù)和a1,a2,a3,a4對應。 .txt記事本文件數(shù)據(jù)導入記事本文件數(shù)據(jù)導入 桂林理工大學理學院信息與計算科學教研室754. MATLAB程序設計程序設計4.2 數(shù)據(jù)輸入與輸出數(shù)據(jù)輸入與輸出外部文件導入外部文件導入file-import data
49、按照提示進行按照提示進行 .xls.txt桂林理工大學理學院信息與計算科學教研室764. MATLAB程序設計程序設計4.3 程序結構控制程序結構控制for循環(huán)循環(huán)for循環(huán)控制命令循環(huán)控制命令 格式: for i=n1:(step):n2 commands; end 作用:重復執(zhí)行命令集commands.循環(huán)控制命令命令(for命令命令)桂林理工大學理學院信息與計算科學教研室774. MATLAB程序設計程序設計4.3 程序結構控制程序結構控制for循環(huán)循環(huán)例例1:求和:求和:s=1+2+n n=input(請輸入 n=); s=0; for i=1:n s=s+i; fprintf(i=%
50、.0f, 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桂林理工大學理學院信息與計算科學教研室784. MATLAB程序設計程序設計4.3 程序結構控制程序結構控制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+
51、1/2!+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桂林理工大學理學院信息與計算科學教研室794. MATLAB程序設計程序設計4.3 程序結構控制程序結構控制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
52、, pi=%.8f n ,i,4*pi); end桂林理工大學理學院信息與計算科學教研室804. MATLAB程序設計程序設計4.3 程序結構控制程序結構控制while循環(huán)循環(huán)while條件循環(huán)命令條件循環(huán)命令 條件循環(huán)命令命令(while命令命令)格式: while (condition is true) commands; end 作用:重復執(zhí)行命令集commands.桂林理工大學理學院信息與計算科學教研室814. MATLAB程序設計程序設計4.3 程序結構控制程序結構控制while循環(huán)循環(huán)例例6:求和:求和:s=1+2+n3000 s=0;k=1; while s3000 s=s+k;
53、 fprintf( 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桂林理工大學理學院信息與計算科學教研室824. MATLAB程序設計程序設計4.3 程序結構控制程序結構控制if控制控制if選擇控制命令選擇控制命令 單項選擇控制單項選擇控制格式: if (condition is true) commands; end 作用:若條件成立,則執(zhí)行命令集 commands. 否則,不執(zhí)行。桂林理工大學理學院信息與計算科學教研室834. MATLAB程序設計程序設計4.3 程序結構控制程序結構控制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);桂林理工大學理學院信息與計算科學教研室864. MATL
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年香格里拉縣幼兒園教師招教考試備考題庫及答案解析(必刷)
- 2024年綏德縣招教考試備考題庫及答案解析(奪冠)
- 2025年晉中健康學院馬克思主義基本原理概論期末考試模擬題附答案解析(必刷)
- 2025年仲巴縣幼兒園教師招教考試備考題庫帶答案解析(必刷)
- 2024年湖南中醫(yī)藥大學湘杏學院馬克思主義基本原理概論期末考試題附答案解析
- 2025年石棉縣招教考試備考題庫及答案解析(奪冠)
- 2025年丘北縣招教考試備考題庫帶答案解析(奪冠)
- 2025年菏澤職業(yè)學院馬克思主義基本原理概論期末考試模擬題附答案解析
- 2025年重慶資源與環(huán)境保護職業(yè)學院單招職業(yè)適應性測試題庫帶答案解析
- 2025年黃山職業(yè)技術學院單招職業(yè)技能考試題庫附答案解析
- GB 4053.3-2025固定式金屬梯及平臺安全要求第3部分:工業(yè)防護欄桿及平臺
- 2025年下屬輔導技巧課件2025年
- 企業(yè)法治建設培訓課件
- (一模)鄭州市2026年高中畢業(yè)年級(高三)第一次質量預測數(shù)學試卷(含答案及解析)
- 2026中央廣播電視總臺招聘124人參考筆試題庫及答案解析
- 眼科護理與疼痛管理
- 2026年中國聚苯乙烯行業(yè)市場深度分析及發(fā)展前景預測報告
- 43-麥肯錫-美的集團績效管理模塊最佳實踐分享
- 航空發(fā)動機的熱管理技術
- 電商平臺一件代發(fā)合作協(xié)議
- 2025年綜合行政執(zhí)法部門招聘《職業(yè)能力綜合應用能力》模擬試卷及答案
評論
0/150
提交評論