版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、Matlab及其應用,1,MATLAB實用教程,Matlab及其應用,2,教學計劃,教材:MATLAB實用教程(第3版) 鄭阿奇 主編 電子工業(yè)出版社學時:18×3=54上機:4×6=24課程性質(zhì):專業(yè)選修課,Matlab及其應用,3,教學計劃,考試成績評定: 平時(包括作業(yè))成績20%;期末成績80%,其中,實驗成績40%,課程考試成績60%。,Matlab及其應用,4,引言,科學計
2、算工具的發(fā)展算盤是最早的計算工具1630年發(fā)明了計算尺,它以后成為大學理工科學生的必備工具1970年發(fā)明了計算器,在中國則從1980年起,計算尺迅速被計算器所取代計算機取代計算器的過程是從1990年開始,以科學計算語言出現(xiàn)為標志。在發(fā)達國家大學中已經(jīng)完成,中國尚需努力。計算機工具的改進可以全面促進各門課程的教學和科研。,Matlab及其應用,5,Why?,sin(x)cos(x)tan(x)asin(x)acos(x)
3、atan(x)exp(x)log(x)pow(x)sqrt(x)floor(x)abs(x),C-Language,MATLAB- Language,sin(x)cos(x)tan(x)sec(x)asin(x)acos(x)acot(x)exp(x)log(x)pow2(x)sqrt(x)abs(x)rand(x),real(x)imag(x)conj(x)rank(A)tril(A)d
4、et(A)rank(A)inv(A)eig(A)svd(A)conv(y1,y2)polyder(y)ployfit(x,y,n),mean(x)std(x)var(x)cov(x)corrcoef(A)gradiant(A)diff(A)limit(f)taylor(F,x,n)fourier(f,t,w)plot(x,y)plot3(x,y,z)figure,1.Math function,Ma
5、tlab及其應用,6,Why?,2.Example of matrix and array,數(shù)組乘A.*B,Matlab-Language,C=A.*B,C-Language,for (i=0;i<M;i++)for (j=0; j<N;j++)C[i][j]=A[i][j]*B[i][j];,C-Language,for (i=0;i<M;i++) for (j=0;j<N;j++) for (k=0;
6、k<L;k++) C[i][k]=C[i][k]+a[i][j]*b[j][k];,Matlab-Language,C=A*B,矩陣乘A*B,Matlab及其應用,7,1 課程內(nèi)容簡介,MATLAB概述matlab數(shù)值計算符號計算可視化和GUI設計MATLAB程序設計線性控制系統(tǒng)分析與設計動態(tài)系統(tǒng)仿真:Simulink基礎與其它程序交互:轉(zhuǎn)換為c、編譯、實時控制,Matlab及其應用,8,第一章 MATLAB概述
7、(summarize),MATLAB是一種交互式的以矩陣為基礎的系統(tǒng)計算平臺,它用于科學和工程的計算與可視化。它的優(yōu)點在于快速開發(fā)計算方法,而不在于計算速度。應用領域:數(shù)學運算、信號分析、圖像處理、小波分析、模擬仿真、自動控制等等。,Matlab及其應用,9,1.1 概述,1.1.1 MATLAB產(chǎn)生的歷史背景1.1.2 Matlab的構(gòu)成1.1.3 MATLAB特點1.1.4 Matlab的功能1.1.5 與MATLAB相似
8、的軟件,Matlab及其應用,10,1.1.1 MATLAB產(chǎn)生的歷史背景,,Cleve Moler 博士,Cleve Moler is chairman and chief scientist at The MathWorks. Moler was a professor of math and computer science for almost 20 years at the University of Michigan, St
9、anford University and the University of New Mexico.,在70年代中期,Cleve Moler博士和其同事在美國國家科學基金的資助下開發(fā)了調(diào)用EISPACK和LINPACK的FORTRAN子程序庫.EISPACK是特征值求解的FORTRAN程序庫,LINPACK是解線性方程的程序庫.在當時,這兩個程序庫代表矩陣運算的最高水平. 70年代末期,Cleve Moler 在新墨西哥大學給學生開
10、線性代數(shù),為學生編寫了接口程序,這程序取名為MATLAB,即MATrix LABoratory;,Matlab及其應用,11,MATLAB產(chǎn)生的歷史背景,1983年春天,Cleve Moler到Standford大學講學,MATLAB深深地吸引了工程師Jack Little。jack Little敏銳地覺察到MATLAB在工程領域的廣闊前景,同年,他和Cleve Moler,Steve Bangert一起,用C語言開發(fā)了第二代專業(yè)版。這
11、一代的MATLAB語言同時具備了數(shù)值計算和數(shù)據(jù)圖示化的功能 。,Jack Little CEO / Founder,Jack Little is president, CEO, and a co-founder of The MathWorks, Inc. He was a co-author and principal architect of early versions of the company's flagship
12、 MATLAB product as well as the Signal Processing Toolbox and the Control Systems Toolbox.,Matlab及其應用,12,MATLAB的第一個商業(yè)化的版本是1984年推出的3.0的DOS版本1992年MathWorks 公司于推出了4.0版本,1994年的4.2版本擴充了4.0版本的功能,尤其在圖形界面設計方面更提供了新的方法。1997年推出的5
13、.0版允許了更多的數(shù)據(jù)結(jié)構(gòu),如單元數(shù)據(jù)、多維矩陣、對象與類等,使其成為一種更方便編程的語言。1999年推出的 MATLAB 5.3版在很多方面又進一步改進了 MATLAB 語言的功能。,Matlab及其應用,13,2000年10月底推出了其全新的 MATLAB 6.0正式版(Release 12),在核心數(shù)值算法、界面設計、外部接口、應用桌面等諸多方面有了極大的改進。2002年6月發(fā)布了其全新的 MATLAB 6.5正式版(Rele
14、ase 13)2004年5月推出Matlab7.02006年推出Matlab R2006,以后每年相繼推出MATLAB R2007, Matlab R2008, Matlab R2009, Matlab R2010a.,Matlab及其應用,14,時至今日,經(jīng)過MathWorks公司的不斷完善,MATLAB已經(jīng)發(fā)展成為適合多學科,多種工作平臺的功能強大的大型軟件。在國外,MATLAB已經(jīng)經(jīng)受了多年考驗。在歐美等高校,MATLAB已經(jīng)
15、成為線性代數(shù),自動控制理論,數(shù)理統(tǒng)計,數(shù)字信號處理,時間序列分析,動態(tài)系統(tǒng)仿真等高級課程的基本教學工具;成為攻讀學位的大學生,碩士生,博士生必須掌握的基本技能。在設計研究單位和工業(yè)部門,MATLAB被廣泛用于科學研究和解決各種具體問題。在國內(nèi),特別是工程學術界,MATLAB也逐步盛行起來??梢哉f,無論你從事工程方面的哪個學科,都能在MATLAB里找到合適的功能。,Matlab及其應用,15,1.1.2 Matlab的構(gòu)成(composi
16、ng),MATLAB是由基本部分和功能各異的工具箱組成。 其中,基本部分是核心;工具箱是擴展部分。 工具箱實際上是用MATLAB的基本語句編成的各種子程序集,用于解決某一方面的專門問題或?qū)崿F(xiàn)某一類的新算法,可以任意增減。,Matlab及其應用,16,1.1.3 MATLAB特點(Features),高度適應性、開放性:MATLAB的工具箱可以任意增減,任何人可以自己生成MATLAB工具箱;可擴充性: MATLAB的函數(shù)大多為AS
17、CII文件,可以直接編輯、修改;基于矩陣運算的工作平臺;極多的工具箱;解釋方式工作:不需要編譯,因而更加簡捷。,Matlab及其應用,17,1.1.4 Matlab的功能(Fuctions),基本的數(shù)據(jù)處理建模(modeling)優(yōu)化和解方程(optimization )動態(tài)過程仿真:實時的和非實時的虛擬現(xiàn)實仿真(VR-simulation)自動控制(auto-control)圖像處理(image processing
18、)神經(jīng)元網(wǎng)絡(neural network)、小波分析、GA等等,Matlab及其應用,18,Matlab production family,Matlab擴展:支持在matlab中對系統(tǒng)的實施和開發(fā)。工具箱:專用的函數(shù)庫,解決特定領域的問題。Simulink:對各種動態(tài)系統(tǒng)進行建模。,Matlab及其應用,19,Application in image processing,Matlab及其應用,20,Signal and i
19、mage processing,,Matlab及其應用,21,optimization,,Matlab及其應用,22,1.1.5 與MATLAB相似的軟件,Mathmatica 數(shù)學計算功能。復雜符號計算,主要在理論界;Mathcad 數(shù)學文字軟件。直接寫出報告;Maple 符號計算功能強大;SciLab 免費的matlab克隆體等等.,Matlab及其應用,23,1.2 MATLAB 軟件環(huán)境,1.2.1 MATLAB安裝
20、啟動1.2.2 MATLAB環(huán)境簡介1.2.3 幫助1.2.4 MATLAB文件管理1.2.5 實例,(software environment),Matlab及其應用,24,Matlab的安裝Setup.exeMatlab_keygen.exeMatlab啟動開始-程序欄里的Matlab啟動項桌面上Matlab的快捷方式,1.2.1 MATLAB安裝啟動,Matlab及其應用,25,Matlab及其應用,26,1.2
21、.2 Matlab環(huán)境簡介(Introduction),多窗口界面Matlab的設置(字號、顏色、圖形等等)Command命令窗口多形式文件,Features:,Matlab及其應用,27,,,命令窗口,歷史記錄窗口,菜單欄,工具欄,工作空間窗口,Matlab及其應用,28,菜單欄,MATLAB操作界面菜單提供了“File”、“Edit”、“Debug”、“Desktop”、“Window”和“Help”菜單等。,,,,,Matl
22、ab及其應用,29,工具欄,New M-File,Copy,Cut,Paste,Open File,Undo,Redo,Help,Simulink,當前路徑,,,,Matlab及其應用,30,通用操作界面窗口,1.命令窗口(Command Window) 可鍵入各種MATLAB的命令、函數(shù)和表達式,并顯示除圖形外的所有運算結(jié)果。提示符“>>”操作鍵編輯命令:表1.4 標點符號:,;% ‘’…[],Matlab及其應用
23、,31,表1.4命令窗口中行編輯的常用操作鍵,Matlab及其應用,32,表1.5 MATLAB常用標點符號的功能,Matlab及其應用,33,數(shù)值計算結(jié)果的顯示格式 :使用菜單“File”——“ Preferences” ,在界面中設置。輸入“format”命令。命令窗口的常用控制命令 :clc :清空命令窗口 more ,more(n) :控制其后每頁的顯示內(nèi)容行數(shù),Matlab及其應用,34,format 格式描述,
24、Matlab及其應用,35,2. 歷史命令窗口(Command History),用來記錄并顯示已經(jīng)運行過的命令、函數(shù)和表達式。歷史命令窗口的功能:復制命令運行命令寫成M文件,Matlab及其應用,36,3. 當前目錄瀏覽器窗口(Current Directory Browser),用來設置當前目錄,可以隨時顯示當前目錄下的M、MDL等文件的信息。 MATLAB總默認地將文件存放在當前目錄。,當前目錄設置區(qū),文件詳細列表,M或
25、MAT文件描述區(qū),Matlab及其應用,37,,文件詳細列表區(qū)的主要應用功能 :運行M文件 打開M文件 把MAT文件全部數(shù)據(jù)輸入內(nèi)存 把MAT文件部分數(shù)據(jù)輸入內(nèi)存,Matlab及其應用,38,4. 工作空間瀏覽器窗口(Workspace Browser),用于顯示所有MATLAB工作空間中的變量名、數(shù)據(jù)結(jié)構(gòu)、類型、大小和字節(jié)數(shù)。還可以對變量進行觀察、編輯、提取和保存。,Matlab及其應用,39,save FileName 變量
26、1 變量2 … 參數(shù) load FileName 變量1 變量2 … Who 變量1 變量2 … Whos 變量1 變量2 … clear 變量1 變量2 i=exist(‘X’)省略變量表示所有變量,通過命令管理變量 :,Matlab及其應用,40,>> save FileName1 %把全部內(nèi)存變量保存為FileName1.mat文件>> save FileName2 a b%把變量a,b
27、保存為FileName2.mat文件>> save FileName3 a b –append%把變量a,b添加到FileName3.mat文件中,>> load Filename1 %把FileName1.mat文件中的全部變量裝入內(nèi)存>> load FileName2 a b %把FileName2.mat文件中的a,b變量裝入內(nèi)存,>> whoYour variable
28、s are:a b c,Matlab及其應用,41,,,>> whos Name Size Bytes Class a 1x1 8 double array b 1x5 10 char array c 3x2 48 double ar
29、rayGrand total is 12 elements using 66 bytes,>> clear a>> whoYour variables are:b c,Matlab及其應用,42,5. 數(shù)組編輯器窗口(Array Editor),可以直接在數(shù)組編輯器窗口中修改打開的數(shù)組,甚至可以更改數(shù)據(jù)結(jié)構(gòu)和顯示方式 。,Matlab及其應用,43,6. M文件編輯/調(diào)試器窗口(Editor/Debu
30、gger),M文件編輯/調(diào)試器不僅可以編輯M文件,而且可以對M文件進行交互式調(diào)試;不僅可處理帶.m擴展名的文件,而且可以閱讀和編輯其他ASCII碼文件。,Matlab及其應用,44,7.幫助導航/瀏覽器窗口,,Matlab及其應用,45,8. 程序性能剖析窗口(Profiler),程序性能剖析窗口中可以查看命令的運行時間,以便提高運行速度 。,Matlab及其應用,46,1.2.3 MATLAB7.3幫助,1.幫助導航/瀏覽器窗口,Ma
31、tlab及其應用,47,2. 通過命令實現(xiàn)幫助,help topic 給出指定主題的幫助,主題可以是函數(shù)、目錄或局部路徑。lookfor topic 把在搜索中與關鍵字相匹配的所有M文件的H1行(第一行注釋)都顯示出來。helpwin topic 打開幫助導航/瀏覽器窗口顯示指定的主題信息。,Matlab及其應用,48,電子使用手冊:前面兩種方法所得到的幫助信息常常是不夠細致的,需要用第三種途徑來補充,這就是電子版的使用
32、手冊。MATLAB里包含了大量關于MATLAB安裝、使用、編程以及各種工具箱等的電子版手冊,全部為PDF格式,具有搜索功能,因此也可以在指定的手冊中搜索關鍵字,使用非常方便。,3 PDF幫助,Matlab及其應用,49,4 其它幫助,(1)Demo:為用戶提供圖文并茂的演示實例。(2)通過Web查找?guī)椭畔ⅰ?Matlab及其應用,50,怎樣獲得詳盡的幫助信息,Help命令:最常用、最快,往往也是最有效的。給出關鍵字就能找到相應的說
33、明。Help命令簡單易用,但是它要求準確給出關鍵字,如果記憶不準,就很難找到。Help Desk:這是MATLAB的HTML格式的幫助文檔,有著很好的組織??梢栽诿钚墟I入helpdesk,進入“Matlab Help Desk”。Help Desk的搜索可以使用不完全關鍵字,這樣即使遇到記憶模糊的情況也可以很快查到。,Matlab及其應用,51,1.2.4 MATLAB其他管理,1. 程序文件 .m 包括主程序和函數(shù)文
34、件。2. 數(shù)據(jù)文件 .mat 用來保存工作空間的數(shù)據(jù)變量。3. 可執(zhí)行文件 .mex 編輯器對M文件編輯后產(chǎn)生,運行速度快。4. 圖形文件 .fig 由繪圖命令和圖形界面窗口產(chǎn)生。5. 模型文件 .mdl 由simulink工具箱建模生成,另外還.s文件仿真文件。,1、MATLAB用戶文件格式:,Matlab及其應用,52,2、設置搜索路徑,1. MATLAB的基本搜索過程輸入 “>
35、> X”時,則MATLAB按照以下步驟:,在MATLAB內(nèi)存中進行檢查,檢查X是否為工作空間的變量;檢查X是否為MATLAB的內(nèi)部函數(shù);在當前目錄上,檢查是否有名為“X.m”或“X.mex”的文件存在; 在MATLAB搜索路徑的所有其他目錄中,檢查是否有名為“X.m”或 “X.mex”的文件存在;如果都不是,則MATLAB發(fā)出錯誤信息。,Matlab及其應用,53,2. MATLAB搜索路徑的擴展和修改,(1) 利用設置路
36、徑對話框修改搜索路徑通過打開路徑對話框修改搜索路徑有兩種方法:在MATLAB界面選擇菜單“File”?“Set Path”命令。在命令窗口運行“pathtool”命令。(2) 利用path命令設置搜索路徑例如:>> path(path,'c:\MyDir '),Matlab及其應用,54,3、文件管理命令,what %列出當前目錄下的M、MAT、MEX文件清單 dir 目錄名 %列出指定目錄
37、下的文件和子目錄清單type 文件名 %顯示指定M文件的內(nèi)容which 文件名 %指出文件所在的目錄 Matlabroot %返回安裝MATLAB的根目錄diary%把當前命令窗口中的所有內(nèi)容保存到日志文件中,Matlab及其應用,55,,,>> whatM-files in the current directory D:\MATLAB6p1\toolbox\matlab\elfunContents
38、 asech cosh isreal sec abs asin cot log sech acos asinh coth log10 sign acosh atan cplxpair log2
39、sin acot atan2 csc mod sinh acoth atanh csch nextpow2 sqrt acsc ceil exp pow2 tan acsch complex
40、fix real tanh angle conj floor rem unwrap asec cos imag round MEX-files in the current directory D:\MATLAB6p1\toolbox\matlab\elfuncomp
41、lex,Matlab及其應用,56,,,>> dir. asinh.m cplxpair.m pow2.m .. atan.m csc.m real.m Contents.m atan2.m csch.m rem.m abs.m atanh.m ex
42、p.m round.m acos.m ceil.m fix.m sec.m acosh.m complex.c floor.m sech.m acot.m complex.csf imag.m sign.m acoth.m complex.dll isreal.m
43、 sin.m acsc.m complex.m ja sinh.m acsch.m conj.m log.m sqrt.m angle.m cos.m log10.m tan.m asec.m cosh.m log2.m tanh.
44、m asech.m cot.m mod.m unwrap.m asin.m coth.m nextpow2.m,Matlab及其應用,57,,,>> type abs.m%ABS Absolute value.% ABS(X) is the absolute value of the elements of X. When%
45、 X is complex, ABS(X) is the complex modulus (magnitude) of% the elements of X.%% See also SIGN, ANGLE, UNWRAP.% Copyright 1984-2001 The MathWorks, Inc. % $Revision: 5.8 $ $Date: 2001/04/15 12:02:51 $%
46、 Built-in function.,>> which abs.mD:\MATLAB6p1\toolbox\matlab\elfun\abs.m,>> matlabrootans =D:\MATLAB6p1,Matlab及其應用,58,4 退出MATLAB,要想退出MATLAB環(huán)境: 在MATLAB的命令窗口輸入“exit”命令。 在MATLAB的命令窗口輸入“quit”命令。 直接單擊M
47、ATLAB的命令窗口的按鈕。,Matlab及其應用,59,1.4 一個實例,【例1.3】在MATLAB的通用操作界面綜合地作一個練習。 >> a=[1 2 3; 4 5 6;7 8 9];>> b=[1 1 1;2 2 2;3 3 3 ];>> c='計算';>> d=a+b*i,Matlab及其應用,60,1、 打開工作空間瀏覽器窗口(Workspace Brow
48、ser)查看變量。,圖1.22 工作空間窗口,Matlab及其應用,61,雙擊其中的變量“d”,出現(xiàn)數(shù)組編輯器窗口(Array Editor),圖1.23顯示了該變量的詳細信息。,圖1.23 數(shù)組編輯器窗口,Matlab及其應用,62,打開歷史命令窗口(Command History),如圖1.24所示,選擇上面的四行命令,單擊鼠標右鍵在快捷菜單中選擇“Create M-File”命令生成M文件。,圖1.24 歷史命令窗口,Matlab
49、及其應用,63,出現(xiàn)M文件編輯/調(diào)試器窗口(Editor/Debugger),如圖1.25所示。選擇工具欄的“Save”按鈕,將該文件保存為“c:\MyDir\Ex0103.m”。,圖1.25 M文件編輯/調(diào)試器窗口,Matlab及其應用,64,打開當前目錄瀏覽器窗口(Current Directory Browser),將當前目錄設置為“c:\MyDir”,可以看到剛保存的“Ex0103.m”文件,在命令窗口輸入“Ex0103”運行該
50、文件。在命令窗口輸入“save Ex0103”命令,在當前目錄瀏覽器窗口可以看到在當前目錄下生成了一個“Ex0103.mat”數(shù)據(jù)文件,如圖1.26所示。,圖1.26 當前目錄瀏覽器窗口,Matlab及其應用,65,在命令窗口輸入“exit”命令退出MATLAB。重新啟動MATLAB后,在命令窗口輸入“Ex0103”則不能運行該文件,因為該文件不在MATLAB的搜索路徑中。單擊MATLAB界面的菜單“File”→“Set Path
51、”,打開設置路徑對話框,將“c:\MyDir”目錄添加到搜索路徑中,重新輸入“Ex0103”則可以運行該文件。,圖1.27 設置路徑對話框,Matlab及其應用,66,將“Ex0103.mat”數(shù)據(jù)文件的變量導入,可選擇菜單“File”→“Import Data”命令,然后選擇“c:\MyDir\ Ex0103.mat”文件。輸入“Ex0103”可以運行該文件。 輸入“type Ex0103” 命令可以顯示該文件內(nèi)容。,Matlab
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論