




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、 MATLAB編程與應(yīng)用1課程學(xué)時安排學(xué)時: 42學(xué)時安排:講課30學(xué)時,上機12學(xué)時2學(xué)習(xí)內(nèi)容一、MATLAB基礎(chǔ)(22)二、MATLAB的應(yīng)用(8)3一、MATLAB概述二、MATLAB的數(shù)值運算功能三、MATLAB的符號運算功能三、MATLAB程序設(shè)計四、MATLAB中的計算結(jié)果可視化五、Simulink仿真初步六、MATLAB的工具箱七、MATLAB的應(yīng)用具體內(nèi)容4一、MATLAB概述(一)MATLAB語言的發(fā)展: MATLAB名字由MATrix和 LABoratory 兩詞的前三個字母組合而成。那是20世紀(jì)七十年代,時任美國新墨西哥大學(xué)計算機科學(xué)系主任的Cleve Moler出于減輕
2、學(xué)生編程負(fù)擔(dān)的動機,為學(xué)生設(shè)計了一組調(diào)用LINPACK和EISPACK矩陣軟件工具包庫程序的的“通俗易用”的接口,此即用FORTRAN編寫的萌芽狀態(tài)的MATLAB。5 1984年由Little、Moler、Steve Bangert合作成立MathWorks公司,并把MATLAB正式推向市場。從這時起,MATLAB的內(nèi)核采用C語言編寫,而且除原有的數(shù)值計算能力外,還新增了數(shù)據(jù)圖視功能?,F(xiàn)今的matlab7.0擁有更豐富的數(shù)據(jù)類型和結(jié)構(gòu)、更友善的面向?qū)ο?、更加快速精良的圖形可視、更廣博的數(shù)學(xué)和數(shù)據(jù)分析資源、更多的應(yīng)用開發(fā)工具。自MathWorks公司1993年推出matlab4.0問世以來,ma
3、tlab語言就成為了最具吸引力、應(yīng)用最為廣泛的科學(xué)計算語言;1997年仲春,matlab5.0版問世,緊接著是5.1、5.2,以及1999年春的5.3版。2001年和2002年mathworks公司又相繼推出了強大的matlab升級版本matlab6.0和matlab6.56(二)MATLAB語言的特點:1)語言簡潔緊湊,使用方便靈活,庫函數(shù)極其豐富 MATLAB程序書寫形式自由,利用起豐富的庫函數(shù)避開繁雜的子程序編程任務(wù),壓縮了一切不必要的編程工作。由于庫函數(shù)都由本領(lǐng)域的專家編寫,用戶不必?fù)?dān)心函數(shù)的可靠性??梢哉f,用MATLAB進行科技開發(fā)是站在專家的肩膀上。 72)運算符豐富由于MATLA
4、B是用C語言編寫的,MATLAB提供了和C語言幾乎一樣多的運算符,靈活使用MATLAB的運算符將使程序變得極為簡短。 83)MATLAB既具有結(jié)構(gòu)化的控制語句(如for循環(huán),while循環(huán),break語句和if語句),又有面向?qū)ο缶幊痰奶匦浴?94)程序限制不嚴(yán)格,程序設(shè)計自由度大例如,在MATLAB里,用戶無需對矩陣預(yù)定義就可使用。 105)程序的可移植性很好,基本上不做修改就可以在各種型號的計算機和操作系統(tǒng)上運行。 116)MATLAB的圖形功能強大。在FORTRAN和C語言里,繪圖都很不容易,但在MATLAB里,數(shù)據(jù)的可視化非常簡單。MATLAB還具有較強的編輯圖形界面的能力。 127)
5、功能強大的工具箱是MATLAB的另一特色。MATLAB包含兩個部分: 核心部分:有數(shù)百個核心內(nèi)部函數(shù) 各種可選的工具箱 工具箱又分為兩類:功能性工具箱 學(xué)科性工具箱功能性工具箱主要用來擴充其符號計算功能、圖示建模仿真功能、文字處理功能以及與硬件實時交互功能,功能性工具箱用于多種學(xué)科。學(xué)科性工具箱是專業(yè)性比較強的,面向?qū)iT的學(xué)科領(lǐng)域。如control toolbox, signl proceessing toolbox, commumnication toolbox等。這些工具箱都是由該領(lǐng)域內(nèi)學(xué)術(shù)水平很高的專家編寫的,所以用戶無需編寫自己學(xué)科范圍內(nèi)的基礎(chǔ)程序,而可直接進行高,精,尖的研究。13符
6、號數(shù)學(xué)工具箱SIMULINK仿真工具箱控制系統(tǒng)工具箱信號處理工具箱圖像處理工具箱通訊工具箱系統(tǒng)辨識工具箱小波分析工具箱神經(jīng)元網(wǎng)絡(luò)工具箱金融工具箱148)源程序的開放性開放性也許是MATLAB最受人們歡迎的特點。除內(nèi)部函數(shù)以外,所有MATLAB的核心文件和工具箱文件都是可讀可改的源文件,用戶可通過對源文件的修改以及加入自己的文件構(gòu)成新的工具箱。159)MATLAB的缺點: 和其他高級程序相比,程序的執(zhí)行速度較慢。由于MATLAB的程序不用編譯等預(yù)處理,也不生成可執(zhí)行文件,程序為解釋執(zhí)行,所以速度較慢。 16(三)MATLAB語言的功能:強大的數(shù)值(矩陣)運算功能廣泛的符號運算功能計算結(jié)果的可視化
7、功能可靠的容錯功能應(yīng)用靈活的兼容與接口功能信息量豐富的聯(lián)機檢索功能171.矩陣運算功能MATLAB提供了豐富的矩陣運算處理功能,是基于矩陣運算的處理工具。變量 矩陣,運算 矩陣的運算例如 C = A + B ,A,B,C都是矩陣,是矩陣的加運算即使一個常數(shù),Y=5,MATLAB也看做是一個11的矩陣182.符號運算功能符號運算即用字符串進行數(shù)學(xué)分析允許變量不賦值而參與運算用于解代數(shù)方程、微積分、復(fù)合導(dǎo)數(shù)、積分、二重積分、有理函數(shù)、微分方程、泰樂級數(shù)展開、尋優(yōu)等等,可求得解析符號解193.豐富的繪圖功能與計算結(jié)果的可視化具有高層繪圖功能兩維、三維繪圖具有底層繪圖功能句柄繪圖20繪制matlab圖
8、標(biāo)load logosurf(L,R),colormap(M),N=length(L(:,1)214.圖形化程序編制功能動態(tài)系統(tǒng)進行建模、仿真和分析的軟件包用結(jié)構(gòu)圖編程,而不用程序編程只需拖幾個方塊、連幾條線,即可實現(xiàn)編程功能225.MATLAB的容錯功能非法操作時,給出提示,并不影響其操作1/0Warning: Divide by zeroans = Inf236.MATLAB的兼容功能可與C語言、FORTURE語言跨平臺兼容用函數(shù)CMEX、FMEX實現(xiàn)247.強大的聯(lián)機檢索幫助功能可隨時檢索matlab函數(shù)可隨時查詢matlab函數(shù)的使用方法 25(四)MATLAB語言系統(tǒng)的組成MTALA
9、B系統(tǒng)由五個主要部分組成(1)MATALB語言體系 高層次的矩陣數(shù)組語言 具有條件控制、函數(shù)調(diào)用、數(shù)據(jù)結(jié)構(gòu)、輸入輸出、面向?qū)ο蟮瘸绦蛘Z言特性。(2)MATLAB工作環(huán)境 包括管理工作空間中的變量數(shù)據(jù)輸入輸出的方式和方法, 以及開發(fā)、調(diào)試、管理M文件的各種工具。(3)圖形句相系統(tǒng) 這是MATLAB圖形系統(tǒng)的基礎(chǔ),包括完成2D和3D數(shù)據(jù)圖示、圖像處理、動畫生成、圖形顯示等功能的高層MATLAB命令,以及開發(fā)GUI應(yīng)用程序的各種工具。26(4)MATLAB數(shù)學(xué)函數(shù)庫 這是對MATLAB使用的各種數(shù)學(xué)算法的總稱包括各種初等函數(shù)的算法,也包括矩陣運算、矩陣分析等高層次數(shù)學(xué)算法。(5)MATLAB應(yīng)用程序
10、接口(API) 這是MATLAB為用戶提供的一個函數(shù)庫,使得用戶能夠在MATLAB環(huán)境中使用c程序或FORTRAN程序,包括從MATLAB中調(diào)用于程序(動態(tài)鏈接),讀寫MAT文件的功能。MATLAB是一個集數(shù)值計算、圖形管理、程序開發(fā)為一體的環(huán)境。 加上MATLAB更強的功能擴展能力,與它的主系統(tǒng)一起,構(gòu)成一個功能更加強大的系統(tǒng)27(五)MATLAB語言的應(yīng)用在歐美大學(xué)里,諸如應(yīng)用代數(shù)、數(shù)理統(tǒng)計、自動控制、數(shù)字信號處理、模擬與數(shù)字通信、時間序列分析、動態(tài)系統(tǒng)仿真等課程的教科書都把MATLAB作為內(nèi)容。這幾乎成了九十年代教科書與舊版書籍的區(qū)別性標(biāo)志。MATLAB成為攻讀學(xué)位的大學(xué)生、碩士生、博士
11、生必須掌握的基本工具。在國際學(xué)術(shù)界,MATLAB已經(jīng)被確認(rèn)為準(zhǔn)確、可靠的科學(xué)計算標(biāo)準(zhǔn)軟件。在許多國際一流學(xué)術(shù)刊物上,(尤其是信息科學(xué)刊物),都可以看到MATLAB的應(yīng)用。在設(shè)計研究單位和工業(yè)部門,MATLAB被認(rèn)作進行高效研究、開發(fā)的首選軟件工具。如美國National Instruments公司信號測量、分析軟件LabVIEW,Cadence公司信號和通信分析設(shè)計軟件SPW等,或者直接建筑在MATLAB之上,或者以MATLAB為主要支撐。又如HP公司的VXI硬件,TM公司的DSP等等接受MATLAB的支持。 28(六)matlab界面介紹29Matlab 常用的交互界面命令窗口(comman
12、d window)歷史命令窗口(command history)當(dāng)前目錄窗口(current directory)工作空間瀏覽器(workspace browser)開始按鈕(start)301.命令窗口(command window)Matlab的主要操作界面,大部分操作命令和結(jié)果在此進行菜單欄Matlab7.0版比6.5版增加了debug(編譯m文件)和desktop(界面置放模式) 減少了view命令提示符 顯示方式 字體、大小、顏色設(shè)置 31命令窗口常用控制指令也可以利用菜單命令實現(xiàn)例如:dir d:MyProg %顯示d:MyP rog目錄下的文件清單edit d:MyProgexm
13、013_9.m %打開編輯器編輯exm013_9.mwhich exm013_9.m %指出exm013_9.m所在的目錄指 令含 義指 令含 義cd設(shè)置當(dāng)前工作目錄exit/quit退出MATLABclf清除圖形窗open打開文件clc清除指令窗中顯示的內(nèi)容md創(chuàng)建目錄clear清除內(nèi)存變量more使顯示內(nèi)容分頁顯示dir列出指定目錄的文件清單type顯示M文件的內(nèi)容edit打開M文件編輯器which指出文件所在目錄322. 歷史命令窗口(command history)記錄用戶在Matlab命令窗口中輸入的所有的命令包括每次啟動Matlab的時間和每次啟動所有的命令行對歷史命令的編輯(復(fù)制
14、/運行/創(chuàng)建m文件/快捷方式/pro)33利用命令來創(chuàng)建“日志”來記錄歷史命令diary例: diary first_diary%輸入復(fù)數(shù)z1=10+5i;z2=5+9i;z3=6;a=z1,z2,z3a = 10.0000 + 5.0000i 5.0000 + 9.0000i 6.0000 diary offWork 目錄下/所有文件中打開first diary (默認(rèn)路徑,可修改)343. 當(dāng)前目錄窗口(current directory)當(dāng)前目錄瀏覽器管理Matlab中大量的函數(shù)和數(shù)據(jù)庫包括菜單欄、當(dāng)前目錄設(shè)計區(qū),工具菜單和文件詳細(xì)菜單對文件詳細(xì)菜單區(qū)域中文件可以方便地進行編輯或運行35
15、如何設(shè)置當(dāng)前目錄呢?啟動Matlab時,默認(rèn)路徑為 MATLAB701workWindows 創(chuàng)建目錄,可以自動添加 Files/ set path 利用path命令來查看matlab的路徑信息364.工作空間瀏覽器(workspace browser)保存內(nèi)存變量,從而可以方便地對其進行查閱和編輯等等 (雙擊瀏覽數(shù)組編輯器或右鍵其他編輯)可在命令窗口利用操作命令在查閱和刪除內(nèi)存變量37 內(nèi)存變量的操作命令1. 內(nèi)存變量的查閱、刪除1)who,whos指令查詢內(nèi)存變量who指令獲取當(dāng)前所有內(nèi)存變量的名稱列表。whos指令獲取詳細(xì)的內(nèi)存變量列表,包含變量類型、大小等信息。2)clear 指令刪除
16、內(nèi)存變量clear指令清除所有內(nèi)存變量clear v1 v2清除內(nèi)存變量v1 v2,被刪變量間用空格分隔3)打開工作空間瀏覽器( WorkSpace ),可以看到所有內(nèi)存變量的詳細(xì)說明,和whos指令效果相同。并且可以通過右鍵點擊變量引出現(xiàn)場菜單,對該變量進行編輯、刪除、重命名、保存、繪圖等操作。38數(shù)據(jù)文件的存取1)利用指令save、load實現(xiàn)數(shù)據(jù)文件(*.mat)的存取。save/load %保存/打開文件save/load v1 v2%保存/打開變量v1 v22)打開工作空間瀏覽器 (WorkSpace),可以在右鍵現(xiàn)場菜單中選擇Save Workspace as保存所有內(nèi)存變量,或S
17、ave Selection as保存指定變量。例 a=1 2 3;4 5 6;7 8 9;%輸入一個3*3數(shù)組a b=This is a test;%輸入一個字符串?dāng)?shù)組 c=3;d=0.2;39 whoYour variables are:a b c d whos Name Size Bytes Class a 3x3 72 double array b 1x14 28 char array c 1x1 8 double array d 1x1 8 double arrayGrand total is 25 elements using 116 bytes clear c save a b c
18、lear load whoYour variables are:a b 40數(shù)組編輯器MATLAB提供專門的數(shù)組編輯器來編輯數(shù)組(雙擊或右鍵)用戶可以在數(shù)組編輯器中直接編輯該變量415.開始按鈕(start)MATLAB 主窗口左下角有一個Start按鈕,單擊該按鈕會彈出一個菜單選擇其中的命令可以執(zhí)行MATLAB產(chǎn)品的各種工具,并且可以查閱MATLAB包含的各種資源。 42(七)MATLAB7.0的幫助系統(tǒng)純文本幫助 在MATLAB中,所有執(zhí)行命令或者函數(shù)的M源文件都有詳細(xì)的注釋,用純文本的形式來表示的,一般包括函數(shù)的條用格式或輸入?yún)?shù)、輸出結(jié)果的含義等等437.2聯(lián)機查詢功能兩種方式: he
19、lpwin指令 help幫助命令7.1 基本幫助指令 在工作窗口輸入: helpwin 顯示幫助窗口; helpdesk 顯示html格式的幫助內(nèi)容 demo 顯示Matlab Demo Window的窗口,選擇感興趣的內(nèi)容進行演示442.lookfor指令 help需要事先知道函數(shù)準(zhǔn)確的名字,如果不能確定時,可用lookfor +完整或不完整的關(guān)鍵詞,進行搜索如: lookfor fft ;檢索出各種與傅立葉有關(guān)的函數(shù)help幫助命令:1. Help 指令+待查詢的函數(shù) 命令窗口輸入:help exp 得到指數(shù)函數(shù)命令的詳 細(xì)信息 help sum 加法函數(shù) 45二、MATLAB的數(shù)值運算功
20、能(一) 基本概念461. 變 量變量命名規(guī)則:變量名、函數(shù)名由英文字母、數(shù)字、下劃線構(gòu)成。變量名、函數(shù)名區(qū)分字母大小寫。A1、a1代表不同含義。變量名第一個字符必須是英文字母。變量名不得包含空格及、,等標(biāo)點符號,但可以包含下劃線。例如:m_array001合法,1_a d,minute不合法。MATLAB命令通常是用小寫字母書寫。MATLAB中變量使用之前,不需要指定變量的數(shù)據(jù)類型,也不必事先聲明變量。472.MATLAB默認(rèn)的預(yù)定義變量預(yù)定義變量在MATLAB啟動時由系統(tǒng)自動生成。用戶在編寫指令和程序時,應(yīng)盡量避免使用下列預(yù)定義變量,以免混淆。預(yù)定義變量含 義預(yù)定義變量含 義ans 計算結(jié)
21、果的缺省變量名NaN 或 nan 不定值,如 0/0eps 最小的機器數(shù)nargin 函數(shù)輸入?yún)?shù)數(shù)目Inf 或 inf 無窮大,如 1/0nargout 函數(shù)輸出參數(shù)數(shù)目i 或 j 虛單元 i=j=(-1)1/2realmax 最大正實數(shù)pi 圓周率 realmin 最小正實數(shù)483. 運算符和表達(dá)式MATLAB表達(dá)式的規(guī)則與一般手寫算式基本相同。a)表達(dá)式由變量名、運算符和函數(shù)名組成。b)表達(dá)式按優(yōu)先級自左向右運算,括號可改變優(yōu)先級順序。c)優(yōu)先級順序由高到底為:指數(shù)運算、乘除運算、加減運算。表達(dá)式中賦值符為“=”。49可直接在命令窗內(nèi)輸入表達(dá)式進行計算例求12+2 (7-4)32的運算結(jié)果。1)鍵盤在指令窗輸入下面一行指令,然后按下Enter鍵。(12
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 關(guān)于酒店轉(zhuǎn)讓合同范本
- 2025年GPPS項目建議書
- 買車預(yù)售合同范本
- 合同范例專用條款
- 個人演出勞務(wù)合同范例
- 攤位出兌合同范本
- 賣家解除合同范本
- 取送車合同范本
- 2025年特種用途鋼絲及鋼絲繩項目合作計劃書
- 籃球場地租賃合同范本
- 物業(yè)公司市場拓展全員營銷激勵方案
- 2024-2025學(xué)年小學(xué)美術(shù)一年級下冊(2024)嶺南版(2024)教學(xué)設(shè)計合集
- 2024-2025學(xué)年初中信息技術(shù)(信息科技)七年級下冊甘教版教學(xué)設(shè)計合集
- 2024年安徽省文化和旅游行業(yè)職業(yè)技能大賽(導(dǎo)游賽項)考試題庫(含答案)
- SOAP病例書寫規(guī)范
- 小學(xué)一年級綜合實踐活動第四單元課件《書包》
- DB13-T 6002-2024 應(yīng)急科普教育場館建設(shè)規(guī)范
- 2025屆高三數(shù)學(xué)一輪總復(fù)習(xí) 第二章 第一講 函數(shù)的概念及其表示
- 全國職業(yè)院校技能大賽高職組(軟件測試賽項)備賽試題庫(含答案)
- 四川甘孜州招聘康定市投資發(fā)展集團有限公司招聘筆試題庫2024
- 2024年甘肅省中考物理試題卷(含答案解析)
評論
0/150
提交評論