機電系統(tǒng)仿真技術_第1頁
機電系統(tǒng)仿真技術_第2頁
機電系統(tǒng)仿真技術_第3頁
機電系統(tǒng)仿真技術_第4頁
機電系統(tǒng)仿真技術_第5頁
已閱讀5頁,還剩116頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、機電(jdin)系統(tǒng)仿真技術哈爾濱理工大學機械動力工程學院機電(jdin)系 韓桂華 電話:箱:共一百二十一頁課程(kchng)內(nèi)容簡介9-1.Matlab簡介,繪制圖形,M文件編制9-2.Simulink基礎9-3.Simulink子系統(tǒng)創(chuàng)建與封裝9-4.基于Matlab控制系統(tǒng)數(shù)學(shxu)建模9-5.電液伺服系統(tǒng)仿真9-6.模糊控制基礎9-7.系統(tǒng)辨識9-8.實驗9-9.總結、作業(yè)2機電系統(tǒng)仿真技術共一百二十一頁參考書目: 1.MATLAB/Simulink與液壓控制系統(tǒng)(kn zh x tn)仿真2. MATLAB/Simulink與控制系統(tǒng)仿真3機電(jd

2、in)系統(tǒng)仿真技術共一百二十一頁9-1.內(nèi)容(nirng)Matlab簡介繪制圖形M文件(wnjin)編制4機電系統(tǒng)仿真技術共一百二十一頁Matlab的學習(xux)方法必須做大量(dling)練習,熟悉其中的函數(shù)聯(lián)系和自己相關的課題,深刻體會多看幫助文件,一本好的參考書會提問題,尋求大家的幫助記?。篗atlab可以做很多事情5機電系統(tǒng)仿真技術共一百二十一頁學會Matlab將改變(gibin)你的一生網(wǎng)絡(wnglu)對你的改變將遠遠的超過一臺獨立的計算機共一百二十一頁OK, Now begin共一百二十一頁第一(dy)講 MATLAB簡介 概述 MATLAB基本(jbn)使用共一百二十一頁一

3、、概述(i sh)matlab語言是由美國的Clever Moler博士于1980年開發(fā)的設計者的初衷是為解決“線性代數(shù)”課程的矩陣運算(yn sun)問題 MATLAB名字是由Matrix和Laboratory兩個詞的前三個字母組合而成的,矩陣實驗室的意思9機電系統(tǒng)仿真技術共一百二十一頁它將一個優(yōu)秀軟件(run jin)的易用性與可靠性、通用性與專業(yè)性 、一般目的的應用與高深的科學技術應用有機的相結合MATLAB是一種直譯式的高級語言,比其它程序設計語言容易10機電(jdin)系統(tǒng)仿真技術共一百二十一頁MATLAB語言與其它語言的關系仿佛(fngf)和C語言與匯編語言的關系一樣計算機語言(y

4、yn)的發(fā)展數(shù)值運算解析運算管理、可視化智能化標志著計算機語言向“智能化”方向發(fā)展,被稱為第四代編程語言。11機電系統(tǒng)仿真技術共一百二十一頁1.1 學習(xux)Matlab的基本原因不希望學生在編程上化太多時間,課程目的不是學習編程社會化的運行帶來的好處:合理利用可以節(jié)約(jiyu)大量的時間為什么相同的時間別人比自己做出了更多的事情:碩士論文調查結果面向對象的思想帶來巨大的好處緊密結合科學的前沿From BBS:博士論文=Matlab+word 12機電系統(tǒng)仿真技術共一百二十一頁1.2 Matlab的版本(bnbn)演化Matlab 1.0Pc matlab-matlab 386Matla

5、b3.5+simulinkMatlab 4.0:simlink內(nèi)嵌:1993年Matlab 5.0 :全面(qunmin)的面向對象:1995年Matlab 5.15.3:1997年Matlab 6.0:2000.10Matlab 6.5:購并了MATRIXx:2002.8Matlab 7.0:2004年13機電系統(tǒng)仿真技術共一百二十一頁1.3 MATLAB特點(tdin)高度適應性、開放性:MATLAB的工具箱可以任意增減,任何人可以自己生成MATLAB工具箱可擴充性: MATLAB的函數(shù)大多為ASCII文件,可以直接編輯、修改基于矩陣運算(yn sun)的工作平臺。多版本:windows/

6、unix/dos/Macintosh極多的工具箱。14機電系統(tǒng)仿真技術共一百二十一頁1.4 Matlab能做什么(shn me)工業(yè)研究(ynji)與開發(fā)數(shù)值分析和科學計算方面的教學與研究數(shù)學教學,特別是線性代數(shù)電子學、控制理論和物理學等工程和科學學科方面的教學與研究經(jīng)濟學、化學和生物學等計算問題的所有其他領域中的教學與研究15機電系統(tǒng)仿真技術共一百二十一頁例1.4.1 用一個簡單(jindn)命令求解線性系統(tǒng) 3x1+ x2 - x3 = 3.6 x1+2x2+4x3 = 2.1 -x1+4x2+5x3 = -1.4A=3 1 -1;1 2 4;-1 4 5;b=3.6;2.1;-1.4;x

7、=Abx = 1.4818 -0.4606 0.3848對于(duy)線性系統(tǒng)有Ax=b16機電系統(tǒng)仿真技術共一百二十一頁例1.4.2 用簡短命令計算(j sun)并繪制在0 x6范圍內(nèi)的sin(2x)、sinx2、sin2x。x=linspace(0,6)y1=sin(2*x),y2=sin(x.2),y3=(sin(x).2;plot(x,y1,x, y2,x, y3)17機電(jdin)系統(tǒng)仿真技術共一百二十一頁例1.4.3 用四種方法描述(mio sh)cos(x)*sin(y)圖形MATLAB語言(yyn)的功能:18機電系統(tǒng)仿真技術共一百二十一頁1.5 MATLAB語言(yyn)的

8、功能:強大的數(shù)值(矩陣)運算功能廣泛的符號運算功能高級(goj)與低級兼?zhèn)涞膱D形功能(計算結果的可視化功能)可靠的容錯功能應用靈活的兼容與接口功能信息量豐富的聯(lián)機檢索功能19機電系統(tǒng)仿真技術共一百二十一頁1.5.1矩陣運算(yn sun)功能MATLAB提供了豐富的矩陣運算處理功能,是基于矩陣運算的處理工具。變量(binling) 矩陣,運算 矩陣的運算例如 C = A + B ,A,B,C都是矩陣,是矩陣的加運算即使一個常數(shù),Y=5,MATLAB也看做是一個11的矩陣20機電系統(tǒng)仿真技術共一百二十一頁1.5.2符號運算功能符號運算即用字符串進行數(shù)學分析允許變量不賦值而參與運算用于解代數(shù)方程、

9、微積分、復合導數(shù)、積分、二重積分、有理函數(shù)、微分方程、泰樂級數(shù)展開(zhn ki)、尋優(yōu)等等,可求得解析符號解21機電(jdin)系統(tǒng)仿真技術共一百二十一頁1.5.3豐富的繪圖(hu t)功能與計算結果的可視化具有(jyu)高層繪圖功能兩維、三維繪圖具有底層繪圖功能句柄繪圖使用plot函數(shù)可隨時將計算結果可視化22機電系統(tǒng)仿真技術共一百二十一頁1.5.4圖形化程序編制功能(gngnng)動態(tài)系統(tǒng)進行建模、仿真(fn zhn)和分析的軟件包用結構圖編程,而不用程序編程只需拖幾個方塊、連幾條線,即可實現(xiàn)編程功能23機電系統(tǒng)仿真技術共一百二十一頁1.5.5豐富(fngf)的MATLAB工具箱MATL

10、AB主工具箱符號數(shù)學工具箱SIMULINK仿真工具箱控制系統(tǒng)工具箱信號處理工具箱圖象處理工具箱通訊工具箱系統(tǒng)辨識(bin sh)工具箱神經(jīng)元網(wǎng)絡工具箱金融工具箱24機電系統(tǒng)仿真技術共一百二十一頁Matlab產(chǎn)品(chnpn)家族Matlab擴展支持在matlab中對系統(tǒng)的實施(shsh)和開發(fā)。工具箱:專用的函數(shù)庫,解決特定領域的問題。Simulink非線性系統(tǒng)仿真Blockset是專門為simulink建立的模塊。25機電系統(tǒng)仿真技術共一百二十一頁Matlab是所有(suyu)系統(tǒng)工具的基礎26機電(jdin)系統(tǒng)仿真技術共一百二十一頁1.5.6MATLAB的兼容(jin rn)功能可與C語

11、言、FORTURE語言跨平臺兼容27機電(jdin)系統(tǒng)仿真技術共一百二十一頁1.6 網(wǎng)絡資源 網(wǎng)絡(wnglu)上的工具箱/ /matlabcentral/fileexchange/loadCategory.do28機電(jdin)系統(tǒng)仿真技術共一百二十一頁二 MATLAB使用(shyng)基礎1、MATLAB 6.5 操作入門2、命令行基礎3、MATLAB的變量及管理(gunl)4、MATLAB的函數(shù)29機電系統(tǒng)仿真技術共一百二十一頁將源光盤插入光驅;在光盤的根目錄下找到Matlab的安裝文件setup.exe及安裝密碼;雙擊該安裝文件后, 按提示逐步安裝;安裝完成后,在程序欄里便有了Ma

12、tlab選項,桌面上出現(xiàn)Matlab的快捷方式;雙擊桌面上Matlab的快捷方式或程序里Matlab選項即可啟動Matlab。1、Matlab的安裝與啟動(Windows操作平臺)(一)MATLAB 6.5 操作入門30機電(jdin)系統(tǒng)仿真技術共一百二十一頁31機電(jdin)系統(tǒng)仿真技術共一百二十一頁2、Matlab 6.5 環(huán)境菜單欄-單擊即可打開相應的菜單;工具欄-使用它們能使操作更快捷;Command Window(命令窗口)-用來輸入和顯示計算結果,其中符號“”表示等待用戶輸入;Launch Pad(分類幫助窗口);Workspace(工作區(qū)窗口)-存儲著命令窗口輸入的命令和所有

13、變量值;Command History(歷史紀錄窗口)-記錄著每次時間及運行過的所有命令行;Current Directory(當前目錄選擇窗口)。32機電(jdin)系統(tǒng)仿真技術共一百二十一頁命令窗口菜單欄工具欄分類幫助窗口歷史紀錄窗口33機電(jdin)系統(tǒng)仿真技術共一百二十一頁3、Mat lab的幫助系統(tǒng)(1)幫助命令help;(2)幫助窗口。進入幫助窗口的步驟如下Launch Pad(分類幫助窗口)選中“Help”打開34機電(jdin)系統(tǒng)仿真技術共一百二十一頁35機電(jdin)系統(tǒng)仿真技術共一百二十一頁(二)命令行基礎1、簡單的運算步驟如下:(1)用鍵盤在命令窗口輸入以下內(nèi)容:

14、(12+2*(7-4)/(32)(2)按Enter鍵,該指令就被執(zhí)行。(3)命令窗口顯示所得結果:ans = 2 36機電(jdin)系統(tǒng)仿真技術共一百二十一頁2、Matlab表達式的輸入Mat lab語句由表達式和變量組成,有兩種常見的形式:(1)表達式 ;(2)變量=表達式(1)輸入:(2)按 Enter 鍵。(3)顯示: y=(12+2*(7-4)/(32)y = 237機電(jdin)系統(tǒng)仿真技術共一百二十一頁(1)輸入:(2)按 Enter 鍵。(3)顯示: x=3 y=x3-x(1/4)+2.15*sin(x)y = 25.987338機電(jdin)系統(tǒng)仿真技術共一百二十一頁3、

15、指令的續(xù)行輸入若一個表達式在一行寫不下,可換行,但必須在行尾加上四個英文句號。(1)輸入:(2)按 Enter 鍵。(3)顯示: s=1-1/2+1/3-1/4+1/5-1/6.+1/7-1/8s = 0.634539機電(jdin)系統(tǒng)仿真技術共一百二十一頁例如(lr):sin(1/9*pi)+sin(2/9*pi)+sin(3/9*pi)+sin(4/9*pi)+sin(5/9*pi)+sin(6/9*pi)+sin(7/9*pi)+sin(8/9*pi)+sin(9/9*pi)+ans=5.6713 40機電(jdin)系統(tǒng)仿真技術共一百二十一頁4、用可用于調出前一個命令行輸入: y1=

16、2*sin(0.3*pi)/(1+sqrt(5)y1 = 0.5000 41機電(jdin)系統(tǒng)仿真技術共一百二十一頁注意(zh y):(1)當命令行有錯誤,Matlab會用紅色字體提示;(2)同一行中若有多個表達式,則必須用分號或逗號隔開,若表達式后面是分號,將不顯示結果。(3) 輸入為:42機電(jdin)系統(tǒng)仿真技術共一百二十一頁43機電(jdin)系統(tǒng)仿真技術共一百二十一頁(三)Mat lab的變量及管理1、變量名的命名規(guī)則(1)以字母開頭,后面可跟字母、數(shù)字和下短線;(2)大小寫字母有區(qū)別;(3)不超過31個字符。Example:fun, Zheng1244機電(jdin)系統(tǒng)仿真技

17、術共一百二十一頁MATLAB變量(binling)的命名all variables are stored in 32bit floating point formatno distinction between real and integera = 3;a = 3.0;same assignment for “a”Matlab is case sensitiveA=3;a=2;Aa45機電(jdin)系統(tǒng)仿真技術共一百二十一頁MATLAB變量(binling)的命名can use numbers and underscore in variable namescase34=6.45;name

18、s must start with a lettercase_34=6.45;OK34case=23.45;results in a syntax errorstring (text) variables enclosed in single quotes.The variable is stored as array of characterstitle=This is the title;46機電(jdin)系統(tǒng)仿真技術共一百二十一頁to clear a variable from memorya=4clear aif a variable is defined,typing the va

19、riable name returns its valuea=45.57;a = 45.57Matlab returns the valueaMATLAB變量(binling)的命名47機電(jdin)系統(tǒng)仿真技術共一百二十一頁Matlab will “echo” commands unless a semi-colon is useda=23.2;a=23.2a = 23.2Matlab echoes the commandMATLAB變量(binling)的命名48機電(jdin)系統(tǒng)仿真技術共一百二十一頁Vectorscolumn vectorsrow vectorsa=1;2;3;aa

20、 = 1 2 3a=1,2,3;aa = 1 2 3use semi-colon to separate rowsuse comma to separate columnsMATLAB變量(binling)的命名49機電(jdin)系統(tǒng)仿真技術共一百二十一頁Matrices2-dimensional matricesa=1,2,3;4,5,6;aa = 1 2 3 4 5 6again, separate columns with commas and rows with semi-colonsMATLAB變量(binling)的命名50機電(jdin)系統(tǒng)仿真技術共一百二十一頁2、Matla

21、b的預定(ydng)義變量ans用于結果的缺省變量名pi圓周率eps計算機的最小數(shù)=inf無窮大NaN不定值i 或 j-1的開方=realmin最小可用正實數(shù)=realmax最大可用正實數(shù)=51機電(jdin)系統(tǒng)仿真技術共一百二十一頁3、Mat lab的變量管理(1)who-查詢Mat lab內(nèi)存變量; whos-查詢?nèi)孔兞吭敿毲闆r。(2)clear-清除內(nèi)存中的全部變量。(3)save sa X -將X 變量保存到sa.mat文件。(4)load sa X -調用sa.mat文件中變量X 。注意:save只對數(shù)據(jù)和變量保存,不能保存命令。52機電(jdin)系統(tǒng)仿真技術共一百二十一頁53

22、機電(jdin)系統(tǒng)仿真技術共一百二十一頁54機電(jdin)系統(tǒng)仿真技術共一百二十一頁(四)Matlab的函數(shù)(hnsh)函數(shù)名解釋Matlab函數(shù)命令冪函數(shù)xasqrt(x)=x(1/2)指數(shù)函數(shù)axexp(x)對數(shù)函數(shù)log(x)log2(x)log10(x)55機電(jdin)系統(tǒng)仿真技術共一百二十一頁函數(shù)名解釋Matlab函數(shù)命令三角函數(shù)sin(x)cos(x)tan(x)cot(x)sec(x)csc(x)56機電(jdin)系統(tǒng)仿真技術共一百二十一頁函數(shù)名解釋Matlab函數(shù)命令反三角函數(shù)asin(x)acos(x)atan(x)acot(x)asec(x)acsc(x)絕對值函

23、數(shù)abs(x)57機電(jdin)系統(tǒng)仿真技術共一百二十一頁(五)Mat lab 數(shù)組與矩陣(j zhn)-數(shù)組一、數(shù)組的構造1) 直接(zhji)法:用空格或逗號間隔數(shù)組元素,然后用中括號括( )起來。 例5-1: x=0 2 4 6或 x=0 ,2,4 ,6 2)增量法(冒號法):利用冒號運算符“:”可生成1n 的矩陣。格式:x=first:step:last %初值:增量:終值例5-2:x=10:15 x=1:6.3 x=10:5:30 x=9:-1:1 (不能表示為x=9:1 )默認時,創(chuàng)建增量為1的序列。3)linspace函數(shù)法 格式:x=linspace(first,last,n

24、um) %初值:終值:元素個數(shù)需指定首尾值和元素個數(shù),步長h=(last-first)/(num-1) 例5-3:x=linspace(0:10:5)58機電系統(tǒng)仿真技術共一百二十一頁(五)Mat lab 數(shù)組與矩陣(j zhn) -數(shù)組二、數(shù)組的運算注:點運算只有點乘、點乘方、點除三個,表示對應元素(yun s)之間的運算;(.*)是一個整體,點( .)不能漏掉,( .)和(*)之間也不能有空格。例5-4:已知a=1 2 3,b=2 4 6,c=3;分析下列執(zhí)行結果:a=1 2 3; b=2 4 6; c=3;a+b=3 6 9a-b =-1 -2 -3 a+c=4 5 6 a*c=3 6

25、9 a.*b=2 8 16 a.b=12 24 36 a.b =2 2 2 a./b =0.5 0.5 0.5 a.c=13 23 33 c.a=31 32 3359機電系統(tǒng)仿真技術共一百二十一頁(五)Mat lab 數(shù)組與矩陣(j zhn)-矩陣一、矩陣的創(chuàng)建a在命令窗口中創(chuàng)建 b通過函數(shù)創(chuàng)建例5-5: 例5-6:x=1 2 3;4 5 6;7 8 9 x=0:pi/4:2*pi; y=sin(x)x= 1 2 3 4 5 6 7 8 9c通過數(shù)據(jù)文件創(chuàng)建,在命令窗口或程序中調入。例如使用產(chǎn)生數(shù)據(jù),保存為c:bdat.xls,在Matlab的Files菜單選Import Data,找到文件c

26、:bdat.xls,打開,就將表格中數(shù)據(jù)作為二維數(shù)組賦予(fy)變量bdat。d通過M文件創(chuàng)建,在命令窗口或程序中執(zhí)行中。60機電系統(tǒng)仿真技術共一百二十一頁(五)Mat lab 數(shù)組與矩陣(j zhn)-矩陣e特殊矩陣的生成全零陣 zeros (m,n) 全1陣 ones(m,n) 單位陣: eye(n) 對角(du jio)矩陣:diag(a,n) 魔方矩陣:magic(n)f獲取矩陣的元素 A(row,column)例3-6:H=magic(5)H(3,2) 6 H(3,2)=0 H(:,3:5) %表示取H的第3到第五列組成的矩陣V=1 3 5 B=H(V,4) %表示取H的第4列的第1

27、,3,5個元素組成的矩陣c=H(V,:) %表示取H的第1,3,5行組成的矩陣61機電系統(tǒng)仿真技術共一百二十一頁(五)Mat lab 數(shù)組與矩陣(j zhn)-矩陣g獲取矩陣(j zhn)的信息 length(列數(shù)) size (行和列數(shù)) ndims(維數(shù)) numel(元素個數(shù))例3-7: a=1 2 3;2 6 9length(a) 3 size(a) 2 3 ndims(a) 2 numel(a) 6 b=1 2 3 6 9length(b) 5 size(b) 1 5 ndims(b) 2 numel(b) 562機電系統(tǒng)仿真技術共一百二十一頁(五)Mat lab 數(shù)組與矩陣(j z

28、hn)-矩陣二、矩陣的運算 例3-8:已知A=1 2;3 4,B=4 3;2 1,c=3;分析(fnx)下列執(zhí)行結果:100+A ans = 101 102 103 104A*Bans = 8 5 20 13A.*Bans = 4 6 6 4 ABans = -6.0000 -5.00005.0000 4.0000 B/Aans = -3.5000 2.5000 -2.5000 1.5000 A.Bans = 4.0000 1.5000 0.6667 0.2500 B./Aans = 4.0000 1.50000.6667 0.250063機電系統(tǒng)仿真技術共一百二十一頁(六)Mat lab基本

29、(jbn)運算符數(shù)學表達式Mat lab運算符Mat lab表達式加a+b+a+b減a-b-a-b乘*a*b除/ 或 a/b 或 ab冪ab1、算術(sunsh)運算符64機電系統(tǒng)仿真技術共一百二十一頁MATLAB 運算(yn sun)Basic operationsaddition +subtraction -multiplication *division right division / left division a=3;b=4;c1=a/b;c2=ab;?c1=0.75c2=1.3333.so, be careful!65機電(jdin)系統(tǒng)仿真技術共一百二十一頁Mixed Real

30、 and Complex valued Variablesif both variables are real-valued, a real-valued result is obtainedif one variable is complex-valued, Matlab recasts the real variable as complex and then performs the operation. The result is complex-valued however, the type casting is done internally, the real-valued v

31、ariable remains real after the operationMATLAB 運算(yn sun)66機電(jdin)系統(tǒng)仿真技術共一百二十一頁MATLAB 運算(yn sun)Other (Scalar) OperationsMath representationMatlab interpretationz=yx;y=exp(x);y=log(x);y=log10(x)y=sin(x);y=cos(x);y=tan(x);y=asin(x);y=acos(x);y=atan(x);67機電(jdin)系統(tǒng)仿真技術共一百二十一頁MATLAB 運算(yn sun)Examples

32、y=x0.5;y=x(1/2);y=sqrt(x);All variables in the preceding operations can be real or complex, negative or positivefor x D=A+B;D=A-B;D=A*C;D=C*A;D=A+C;D=A*B;D=B*A;Matrix multiplication not commutative69機電(jdin)系統(tǒng)仿真技術共一百二十一頁MATLAB 運算(yn sun)Left() and Right(/) Matrix “division”Math representationMatlab

33、interpretationC=AB;C=B/A;Remember, A must be square and full rank (linearly independent rows/columns)70機電(jdin)系統(tǒng)仿真技術共一百二十一頁MATLAB 運算(yn sun)Matrix TransposeMath representationMatlab interpretationC=A;For complex-valued matrices, complex conjugate transposeB=A;b=a;71機電(jdin)系統(tǒng)仿真技術共一百二十一頁2、關系(gun x)運

34、算符數(shù)學關系Mat lab運算符小于小于或等于大于或等于=等于= =不等于 =72機電(jdin)系統(tǒng)仿真技術共一百二十一頁3、邏輯(lu j)運算符邏輯關系Mat lab運算符與(同時)&或(或者)|非(否定)73機電(jdin)系統(tǒng)仿真技術共一百二十一頁作業(yè)題74機電(jdin)系統(tǒng)仿真技術共一百二十一頁第三(d sn)講 MATLAB 編程M文件(wnjin) 簡單編程共一百二十一頁(二)M 文件1、M文件的建立 M文件,就是用Mat lab語言編寫的,可在Matlab里運行的程序。M文件有兩大類:命令文件和函數(shù)文件。單擊“File”選擇“New”單擊“M-file”輸入內(nèi)容保存76機電

35、(jdin)系統(tǒng)仿真技術共一百二十一頁2、M命令(mng lng)文件(腳本文件) M命令文件,只是一些命令行的組合,而且其中的所有變量也成為(chngwi)工作區(qū)的一部分。(1)打開M文件,輸入:x=2.15;y=3.67;z=6.71;sum=x+y+zfun=(x+y+z)/377機電系統(tǒng)仿真技術共一百二十一頁78機電(jdin)系統(tǒng)仿真技術共一百二十一頁(2)以名ed.m保存,(注意(zh y):在保存名處只需輸入ed);M文件窗口即可關閉。(3)在Mat lab命令窗口輸入M文件名:ed ,即可出現(xiàn)(chxin)M文件上結果。79機電系統(tǒng)仿真技術共一百二十一頁80機電(jdin)系統(tǒng)

36、仿真技術共一百二十一頁3、M函數(shù)文件它就像庫函數(shù)一樣方便的調用。(1)格式function 輸出變量=函數(shù)名(輸入變量)函數(shù)體語句(2)注意:(a)輸出變量多于一個時,要用方括號;(b)輸入、輸出變量多于一個時,要用逗號隔開;(c)必須以函數(shù)名存盤。81機電(jdin)系統(tǒng)仿真技術共一百二十一頁(1)打開(d ki)M文件,輸入:function y=zheng(x)y=x2+3.2*x-1.7(2)輸入zheng并保存(bocn)這個M文件。(3)在Mat lab命令窗口輸入:zheng(1.1),就有其值;輸入:zheng(1.3),就可求出對應的值;依次可求得所有值。82機電系統(tǒng)仿真技術

37、共一百二十一頁83機電(jdin)系統(tǒng)仿真技術共一百二十一頁84機電(jdin)系統(tǒng)仿真技術共一百二十一頁七、簡單(jindn)編程1、條件(tiojin)語句 它的執(zhí)行原理與C語言中條件語句的執(zhí)行原理完全一樣。(1)if 語句體 end(2)if 語句體1 else 語句體2 end85機電系統(tǒng)仿真技術共一百二十一頁(2)if 語句體1 elseif 語句體2 else 語句體3 end86機電(jdin)系統(tǒng)仿真技術共一百二十一頁(1)打開(d ki)M文件,輸入:function y=xy(x)if x=0 y=0elseif x=1 y=1elseif x=2 y=2*xelse y=

38、2*x+5end87機電(jdin)系統(tǒng)仿真技術共一百二十一頁88機電(jdin)系統(tǒng)仿真技術共一百二十一頁(2)輸入xy并保存這個(zh ge)M文件。(3)在Mat lab命令窗口(chungku)輸入:xy(-1),就有其值;輸入:xy(0.7),就可求出對應的值;依次可求得所有值。89機電系統(tǒng)仿真技術共一百二十一頁90機電(jdin)系統(tǒng)仿真技術共一百二十一頁2、循環(huán)(xnhun)語句(1)for 循環(huán)變量(binling)=初值:增量:終值 循環(huán)體 end(2) while 循環(huán)體 end91機電系統(tǒng)仿真技術共一百二十一頁(1)打開M文件(wnjin),輸入:s=0for n=1:1

39、00 s=s+1/n2end(2)輸入sg并保存(bocn)這個M文件。(3)在Mat lab命令窗口輸入:sg ,就有其值。92機電系統(tǒng)仿真技術共一百二十一頁93機電(jdin)系統(tǒng)仿真技術共一百二十一頁94機電(jdin)系統(tǒng)仿真技術共一百二十一頁第二(d r)講 MATLAB繪圖 二維數(shù)據(jù)(shj)曲線圖 二維統(tǒng)計分析圖共一百二十一頁MatLab圖形繪制(huzh)功能基本繪圖(hu t)函數(shù)命 令含 義plot使用線性坐標空間繪制圖形loglogx、y軸都取對數(shù)標度建立圖形semilogxx軸用于對數(shù)標度,y軸線性標度繪制圖形semilogyy軸用于對數(shù)標度,x軸線性標度繪制圖形tit

40、le在所畫圖形的最上端顯示說明該圖形標題的字符串xlabel給x軸加標記ylabel給y軸加標記text在圖形指定的坐標位置(x,y)上加文本字符串gtext在鼠標的位置上加文本字符串grid打開網(wǎng)格線96機電系統(tǒng)仿真技術共一百二十一頁程序(chngx)如下:x=0:pi/100:2*pi;y=2*exp(-0.5*x).*cos(4*pi*x);plot(x,y)例3-1:在0 x2p區(qū)間(q jin)內(nèi),繪制曲線 3.1.1、繪制單根二維曲線繪圖命令Plot(x,y) ,繪制y對應x的軌跡命令97機電系統(tǒng)仿真技術共一百二十一頁例3-2:繪制(huzh)曲線 t0,2程序(chngx)如下:

41、t=0:0.1:2*pi;x=t.*sin(3*t);y=t.*sin(t).*sin(t);plot(x,y);98機電系統(tǒng)仿真技術共一百二十一頁在這種情況下,當x是實向量時,以該向量元素的下標為橫坐標,元素值為縱坐標畫出一條(y tio)連續(xù)曲線,這實際上是繪制折線圖。x=2 3 1 2 5plot(x)相當于x=1:5y=2 3 1 2 5plot(x,y) 例3-3:plot函數(shù)最簡單(jindn)的調用格式只包含一個輸入?yún)?shù):plot(x)99機電系統(tǒng)仿真技術共一百二十一頁1.plot函數(shù)的輸入?yún)?shù)是矩陣(j zhn)形式 (1) 當x是向量,y是有一維與x同維的矩陣時,則繪制出多根

42、不同顏色的曲線。曲線條數(shù)等于(dngy)y矩陣的另一維數(shù),x被作為這些曲線共同的橫坐標。 x=3 1 8 ; y=magic(3); z=x;y plot(x,z)3.1.2、繪制多根二維曲線y = 8 1 6 3 5 7 4 9 2100機電系統(tǒng)仿真技術共一百二十一頁x=magic(3)y=1 2 3;4 5 6;7 8 9plot(x,y)(2) 當x,y是同維矩陣時,則以x,y對應(duyng)列元素為橫、縱坐標分別繪制曲線,曲線條數(shù)等于矩陣的列數(shù)。101機電(jdin)系統(tǒng)仿真技術共一百二十一頁2含多個輸入?yún)?shù)(cnsh)的plot函數(shù) 調用格式為:plot(x1,y1,x2,y2,x

43、n,yn)(1)當輸入?yún)?shù)都為向量時,x1和y1,x2和y2,xn和yn分別組成一組向量對,每一組向量對的長度可以不同。每一向量對可以繪制(huzh)出一條曲線,這樣可以在同一坐標內(nèi)繪制(huzh)出多條曲線。(2) 當輸入?yún)?shù)有矩陣形式時,配對的x,y按對應列元素為橫、縱坐標分別繪制曲線,曲線條數(shù)等于矩陣的列數(shù)。如:在同一坐標軸內(nèi)繪制三條曲線Plot(t,x1 x2 x3)Plot(t1,x1,t2,x2,t3,x3)表示x1對應t1, x2對應t2等等。這種情況下t1,t2和t3, 可以有不同的元素數(shù)量,但要求x1,x2, x3必須分別與t1,t2,t3具有相同的元素數(shù)量。102機電系統(tǒng)仿

44、真技術共一百二十一頁x1=linspace(0,2*pi,100);x2=linspace(0,3*pi,100);x3=linspace(0,4*pi,100);y1=sin(x1);y2=1+sin(x2);y3=2+sin(x3);x=x1;x2;x3;y=y1;y2;y3;plot(x,y,x1,y1-1)當x,y是同維矩陣時,則以x,y對應列元素(yun s)為橫、縱坐標分別繪制曲線,曲線條數(shù)等于矩陣的列數(shù)。例3-4:分析下列程序繪制(huzh)的曲線。103機電系統(tǒng)仿真技術共一百二十一頁在Matlab中,如果需要繪制出具有不同縱坐標標度的兩個圖形,可以使用(shyng)plotyy

45、繪圖函數(shù)。調用格式為:plotyy(x1,y1,x2,y2)其中x1,y1對應一條曲線,x2,y2對應另一條曲線。橫坐標的標度相同,縱坐標有兩個,左縱坐標用于x1,y1數(shù)據(jù)對,右縱坐標用于x2,y2數(shù)據(jù)對。3具有(jyu)兩個縱坐標標度的圖形104機電系統(tǒng)仿真技術共一百二十一頁x=0:pi/100:2*pi;y1=0.2*exp(-0.5*x).*cos(4*pi*x);y2=2*exp(-0.5*x).*cos(pi*x);plotyy(x,y1,x,y2);例3-5:用不同標度在同一(tngy)坐標內(nèi)繪制曲線和 。程序如下:105機電(jdin)系統(tǒng)仿真技術共一百二十一頁hold on/o

46、ff命令控制是保持原有圖形還是(hi shi)刷新原有圖形,不帶參數(shù)的hold命令在兩種狀態(tài)之間進行切換。4圖形(txng)保持106機電系統(tǒng)仿真技術共一百二十一頁例3-5:采用圖形保持,在同一坐標內(nèi)繪制曲線(qxin) 和 程序如下:x=0:pi/100:2*pi;y1=0.2*exp(-0.5*x).*cos(4*pi*x);plot(x,y1)hold onpausey2=2*exp(-0.5*x).*cos(pi*x);plot(x,y2);hold off107機電(jdin)系統(tǒng)仿真技術共一百二十一頁.點y黃。小圓圈m棕色xx標記c青色+加號r紅色-實線g綠色*星號b藍色:虛線w白

47、色-.點劃線h黑色3.1.3 設置曲線樣式1、線條(xintio)和顏色控制符108機電(jdin)系統(tǒng)仿真技術共一百二十一頁MATLAB基本繪圖 (圖像(t xin)標注)例3-6t=0: 0.01*pi:2*pi; plot(t,sin(t);title(0到2的正弦曲線,FontSize,16); ylabel(sin(t),FontSize,14);xlabel(t=0到2,FontSize,14);text(pi,sin(pi),bulletleftarrowsin(t)=0,FontSize,10); gtext(bullet最小值sin(t)=-1);109機電(jdin)系統(tǒng)仿

48、真技術共一百二十一頁MATLAB基本繪圖(hu t) (多圖重疊)有的時候我們需要將多個曲線畫在同一幅圖上便于比較。這時我們可以使用hold on 和hold off函數(shù)來完成。比如(br):plot(x,y);hold on ;plot(a,b);hold off; 就將曲線x-y和a-b畫在同一坐標下了。 110機電系統(tǒng)仿真技術共一百二十一頁畫橢圓(tuyun)a = 0:pi/50:2*pi; X = cos(a)*3; %參數(shù)方程(fngchng)Y = sin(a)*2;plot(X,Y);xlabel(x), ylabel(y);title(橢圓) Text(0,0,tuoyuan)xlabel(x axis)ylabel(y axis)legend(tuoyuan)polar(theta,rho);111機電

溫馨提示

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

評論

0/150

提交評論