官术网_书友最值得收藏!

1.1 MATLAB系統(tǒng)簡(jiǎn)介

MATLAB軟件是由MathWorks公司開發(fā)的一種主要用于數(shù)值計(jì)算及可視化圖形處理的工程語(yǔ)言,是當(dāng)今最優(yōu)秀的科技應(yīng)用軟件之一。它將數(shù)值分析、矩陣運(yùn)算、圖形圖像處理、信號(hào)處理和仿真等諸多強(qiáng)大的功能集成在較易使用的交互式計(jì)算機(jī)環(huán)境之中,為科學(xué)研究、工程應(yīng)用提供了一種功能強(qiáng)、效率高的編程工具。它擁有強(qiáng)大的科學(xué)計(jì)算與可視化功能,以及簡(jiǎn)單易用、開放式可擴(kuò)展的環(huán)境,特別是所附帶的 30多種面向不同領(lǐng)域的工具箱支持,使得它在許多科學(xué)領(lǐng)域中成為計(jì)算機(jī)輔助設(shè)計(jì)和分析、算法研究和應(yīng)用開發(fā)的基本工具和首選平臺(tái)。

1.1.1 MATLAB系統(tǒng)的產(chǎn)生與發(fā)展

MATLAB名字由Matrix(矩陣)和Laboratory(實(shí)驗(yàn)室)兩詞的前三個(gè)字母組合而成。20世紀(jì)70年代后期,時(shí)任美國(guó)新墨西哥大學(xué)計(jì)算機(jī)系主任的Cleve Moler博士在講授線性代數(shù)課程時(shí),發(fā)現(xiàn)應(yīng)用其他高級(jí)編程語(yǔ)言極不方便,于是,Cleve Moler博士和他的同事構(gòu)思并為學(xué)生設(shè)計(jì)了一組調(diào)用LINPACK和EISPACK庫(kù)程序的“通俗易用”的接口,這就是用FORTRAN語(yǔ)言編寫的萌芽狀態(tài)的MATLAB。以后幾年,MATLAB作為免費(fèi)軟件在大學(xué)里使用,深受大學(xué)生們的喜愛。

1984年,John Little、Cleve Moler、Steve Bangert合作成立了MathWorks公司,專門從事MATLAB軟件的開發(fā),并把MATLAB正式推向市場(chǎng)。從那時(shí)起,MATLAB的內(nèi)核采用C語(yǔ)言編寫,而且除原有的數(shù)值計(jì)算能力外,還新增了數(shù)據(jù)圖視功能。1993年,MathWorks公司推出MATLAB4.0版本;1995年,MathWorks公司推出MATLAB4.2C版(For Win3.x)。4.x版在繼承和發(fā)展其原有的數(shù)值計(jì)算和圖形可視化能力的同時(shí),增加了一些功能:①推出Simulink;②開發(fā)出基于word處理平臺(tái)的Notebook;③推出符號(hào)計(jì)算工具包;④開發(fā)了與外部進(jìn)行直接數(shù)據(jù)交換的組件,打通了MATLAB進(jìn)行實(shí)時(shí)數(shù)據(jù)分析、處理和硬件開發(fā)的通路。1997年,MathWorks公司推出MATLAB5.0;2000年10月推出了MATLAB6.0;2002年8月,推出了MATLAB6.5,從此,MATLAB擁有了強(qiáng)大的、成系列的交互式界面。2004年7月,又進(jìn)一步發(fā)展到了MATLABR 2010,在MATLABR 2010中,仿真模塊發(fā)展到了Simulink6.0。

MATLAB R系列是從2006年開始發(fā)布的,MathWorks公司在技術(shù)層面上實(shí)現(xiàn)了一次飛躍。從此以后,產(chǎn)品發(fā)布模式也將改變,將在每年的3月和9月進(jìn)行兩次產(chǎn)品發(fā)布,版本的命名方式為“R+年份+代碼”,對(duì)應(yīng)上下半年的代碼分別為a和b。每一次發(fā)布都會(huì)包含所有的產(chǎn)品模塊,如產(chǎn)品的new feature、bug fixes和新產(chǎn)品模塊的推出。MATLAB R2010是MathWorks公司在2010年3月最新推出的產(chǎn)品。

MATLABR 2010包括MATLAB和Simulink的若干新功能、一款新產(chǎn)品以及對(duì)其他85款產(chǎn)品的更新和缺陷修復(fù)。已經(jīng)購(gòu)買MathWorks軟件維護(hù)服務(wù)的用戶可以下載產(chǎn)品更新。

MATLAB產(chǎn)品系列的新功能包括:

·增加了更多的多線程數(shù)學(xué)函數(shù),增強(qiáng)了文件共享、路徑管理功能以及改進(jìn)MATLAB桌面;

·新增用于在MATLAB中進(jìn)行流處理的系統(tǒng)對(duì)象,并在Video and Image Processing Blockset和Signal Processing Blockset中提供了超過 140種支持算法;

·針對(duì) 50多個(gè)函數(shù)提供多核支持并增強(qiáng)性能,并對(duì)圖像處理工具箱中的大型圖像提供更多的支持 ;

·在全局優(yōu)化工具箱和優(yōu)化工具箱中提供新的非線性求解器;

·能夠從Symbolic Math Toolbox中生成Simscape語(yǔ)言方程;

·在SimBiology中提供隨機(jī)近似最大期望(SAEM)算法和藥動(dòng)學(xué)給藥方案支持。

Simulink產(chǎn)品系列的新功能包括:

·在Simulink中提供可調(diào)參數(shù)結(jié)構(gòu)、觸發(fā)模型塊以及用于大型建模的函數(shù)調(diào)用分支;

·在嵌入式IDE鏈接和目標(biāo)支持包中提供針對(duì)Eclipse、嵌入式Linux及ARM處理器的代碼生成支持;

·在IEC認(rèn)證工具包中提供對(duì)Real-Time Workshop Embedded Coder和PolySpace產(chǎn)品的ISO 26262認(rèn)證;

·在DO鑒定工具包中提供擴(kuò)展至模型的DO-178B鑒定支持;

·SimulinkPLC Coder用于生成PLC和PAC IEC 61131結(jié)構(gòu)化文本的新產(chǎn)品。

1.1.2 MATLAB系統(tǒng)主要特點(diǎn)

MATLAB集計(jì)算、可視化及編程于一身。在MATLAB中,無論是問題的提出還是結(jié)果的表達(dá),都采用我們習(xí)慣的數(shù)學(xué)描述方法,而不需要用傳統(tǒng)的編程語(yǔ)言進(jìn)行前后處理。這一特點(diǎn)使MATLAB成為了數(shù)學(xué)分析、算法開發(fā)及應(yīng)用程序開發(fā)的良好環(huán)境。MATLAB是MathWorks產(chǎn)品家族中所有產(chǎn)品的基礎(chǔ)。MATLAB的主要特點(diǎn)如下。

(1)科學(xué)計(jì)算

MATLAB擁有500多種數(shù)學(xué)、統(tǒng)計(jì)及工程函數(shù),可使用戶立刻實(shí)現(xiàn)所需的強(qiáng)大的數(shù)學(xué)計(jì)算功能。由各領(lǐng)域的專家學(xué)者們開發(fā)的數(shù)值計(jì)算程序,使用了安全、成熟、可靠的算法,從而保證了最大的運(yùn)算速度和可靠的結(jié)果。

(2)先進(jìn)的可視化工具

MATLAB提供功能強(qiáng)大的、交互式的二維和三維繪圖功能,可創(chuàng)建富有表現(xiàn)力的彩色圖形。可視化工具包括:曲面渲染(Surface Rendering)、線框圖、偽彩圖、光源、三維等高線圖、圖像顯示、動(dòng)畫、體積可視化等。

MATLAB提供了Handle Graphics圖形機(jī)制。使用該機(jī)制可對(duì)圖形進(jìn)行靈活的控制。使用GUIDE工具,我們可以方便地使用Handle Graphics創(chuàng)建自己的GUI界面。

(3)直觀靈活的語(yǔ)言

MATLAB不僅僅是一套打包好的函數(shù)庫(kù),同時(shí)也是一種高級(jí)的、面向?qū)ο蟮木幊陶Z(yǔ)言。使用MATLAB可卓有成效地開發(fā)自己的程序。MATLAB自身的許多函數(shù)實(shí)際上也包括所有的工具箱函數(shù),都是用M文件實(shí)現(xiàn)的。

(4)庫(kù)函數(shù)資源豐富

數(shù)百種庫(kù)函數(shù)大大減輕了用戶子程序的編寫工作量,也避免了一些不必要的錯(cuò)誤。因而,用戶不必?fù)?dān)心程序的可靠性問題。

(5)開放性、可擴(kuò)展性強(qiáng)

M文件是可見的MATLAB程序,我們可以查看源代碼。開放的系統(tǒng)設(shè)計(jì)使我們能夠檢查算法的正確性,修改已存在的函數(shù),或者加入自己的新部件。

(6)特殊應(yīng)用的工具箱

MATLAB的工具箱加強(qiáng)了對(duì)工程及科學(xué)中特殊應(yīng)用的支持。工具箱和MATLAB一樣是完全用戶化的,可擴(kuò)展性強(qiáng)。將某個(gè)或某幾個(gè)工具箱與MATLAB聯(lián)合使用,可以得到一個(gè)功能強(qiáng)大的計(jì)算組合包,滿足我們的特殊要求。

(7)程序的兼容性好

MATLAB可以在各種PC機(jī)、大型計(jì)算機(jī)和各種操作系統(tǒng)上運(yùn)行。

1.1.3 MATLAB系統(tǒng)共生產(chǎn)品

由圖1-1所示的MATLAB產(chǎn)品家族可以看到,MATLAB產(chǎn)品家族是一個(gè)非常龐大的系統(tǒng),MATLAB系統(tǒng)僅僅是其中的一部分,它還有許多其他重要的成員,如Simulink等,下面我們對(duì)它們進(jìn)行簡(jiǎn)單的介紹。

圖1-1 MATLAB產(chǎn)品家族

(1)Simulink及其擴(kuò)展

Simulink是一個(gè)用來對(duì)非線性動(dòng)態(tài)系統(tǒng)進(jìn)行仿真的、鼠標(biāo)驅(qū)動(dòng)的交互式圖形系統(tǒng),它允許用戶通過繪制一系列的方框圖來完成建模工作,并動(dòng)態(tài)地對(duì)模型進(jìn)行操作,適用于各種系統(tǒng),包括線性系統(tǒng)、非線性系統(tǒng)、連續(xù)系統(tǒng)、離散系統(tǒng)和多變量系統(tǒng),是MATLAB系統(tǒng)的一個(gè)非常重要的共生產(chǎn)品。

(2)MATLAB編譯器

MATLAB編譯器是MATLAB系統(tǒng)擴(kuò)展的重要組成部分,通過它,用戶可以將MATLAB的M文件轉(zhuǎn)化為C或C++語(yǔ)言的源代碼,增強(qiáng)了MATLAB應(yīng)用的靈活性。轉(zhuǎn)換后的源代碼主要有以下三種類型:

·可產(chǎn)生MEX文件的C語(yǔ)言源代碼;

·可與其他模塊結(jié)合,生成可執(zhí)行程序的C或C++源代碼,所生成的可執(zhí)行程序可以獨(dú)立于MATLAB的解釋性環(huán)境單獨(dú)運(yùn)行,但是需要MATLAB C/C++數(shù)學(xué)函數(shù)庫(kù)的支持;

·用于Simulink和Real-Time Workshop的C語(yǔ)言S函數(shù)。

(3)MATLAB C/C++數(shù)學(xué)函數(shù)庫(kù)

MATLAB C數(shù)學(xué)函數(shù)庫(kù)是MATLAB系統(tǒng)擴(kuò)展的另一個(gè)重要組成部分,包含了大約400個(gè)用C語(yǔ)言進(jìn)行重新編寫的MATLAB數(shù)學(xué)函數(shù),不但包括了大量的MATLAB內(nèi)建函數(shù),而且包含了許多MATLAB的M文件,是MATLAB系統(tǒng)數(shù)學(xué)計(jì)算核心的C語(yǔ)言的再現(xiàn)。任何能夠調(diào)用C語(yǔ)言函數(shù)的程序,均能夠調(diào)用該函數(shù)庫(kù)所包含的所有數(shù)學(xué)函數(shù),為應(yīng)用程序開發(fā)者提供了一種方便的使用MATLAB強(qiáng)大計(jì)算能力的途徑,其核心結(jié)構(gòu)是mxArray結(jié)構(gòu)體。這里需要明確的一點(diǎn)是,該函數(shù)庫(kù)包含的僅僅是數(shù)學(xué)函數(shù),并沒有包含其他的一些專用函數(shù),如圖形句柄系統(tǒng)函數(shù)、Simulink函數(shù)等。

MATLAB C++數(shù)學(xué)函數(shù)庫(kù)的功能與MATLAB C數(shù)學(xué)函數(shù)庫(kù)的功能相同,不過前者是構(gòu)建在MATLAB C數(shù)學(xué)函數(shù)庫(kù)的上層,用mxArray類代替了mxArray結(jié)構(gòu)體,對(duì)許多功能進(jìn)行了封裝。

(4)MATLAB工具箱

MATLAB工具箱是由一系列各式各樣的函數(shù)庫(kù)組成的,內(nèi)容涉及方方面面,包括了大量的M文件和MEX文件,主要由各行各業(yè)的專業(yè)人士編寫,其目的是為了方便某一領(lǐng)域內(nèi)的科學(xué)研究和工程應(yīng)用,將一些已經(jīng)非常成熟或完善的算法標(biāo)準(zhǔn)化供人調(diào)用。到目前為止,由MathWorks公司正式發(fā)布的工具箱已達(dá)幾十個(gè)。

MATLAB工具箱大致可以分為兩類,一類是學(xué)科性工具箱,另一類是功能性工具箱。學(xué)科性工具箱大都涵蓋了本學(xué)科所有已有的基本概念和基本運(yùn)算,大都十分專業(yè),如符號(hào)數(shù)學(xué)工具箱,簡(jiǎn)直就是一個(gè)高等數(shù)學(xué)、工程數(shù)學(xué)解題器;極限、導(dǎo)數(shù)、微分、積分、級(jí)數(shù)運(yùn)算與展開、微分方程求解、Laplace變換等應(yīng)有盡有;還有控制系統(tǒng)、信號(hào)處理、模糊邏輯、神經(jīng)網(wǎng)絡(luò)、小波分析、統(tǒng)計(jì)、優(yōu)化、金融預(yù)測(cè)等工具箱,無一不是非常優(yōu)秀的運(yùn)算工具。這些工具箱都可以添加根據(jù)自己需要編寫的函數(shù),用戶可以不斷地更新自己的工具箱,使之更適合于自己的研究和計(jì)算。

1.1.4 MATLAB系統(tǒng)組成

MATLAB系統(tǒng)主要由五大部分組成,分別為MATLAB語(yǔ)言(theMATLABLanguage)、MATLAB工作環(huán)境(theMATLABWorking Environment)、MATLAB數(shù)學(xué)函數(shù)庫(kù)(theMATLABMath Library)、圖形句柄系統(tǒng)(Handle Graphics)和MATLAB應(yīng)用程序接口(theMATLABApplication Interface)。下面分別對(duì)它們進(jìn)行介紹。

(1)MATLAB語(yǔ)言

MATLAB語(yǔ)言是一種以矩陣(Matrix)和陣列(Array)為基本編程單元的,擁有完整的控制語(yǔ)句、數(shù)據(jù)結(jié)構(gòu)、函數(shù)編寫與調(diào)用格式和輸入/輸出功能的具有面向?qū)ο蟪绦蛟O(shè)計(jì)特征的高級(jí)程序語(yǔ)言。用戶不但可以利用它方便快捷地完成小規(guī)模的算法驗(yàn)證、程序開發(fā)和調(diào)試工作,而且可以使用它進(jìn)行大規(guī)模的復(fù)雜應(yīng)用程序設(shè)計(jì),非常有效。

(2)MATLAB工作環(huán)境

簡(jiǎn)而言之,MATLAB工作環(huán)境就是一系列實(shí)用工具的集合,它不但包括了各種操作工作空間中變量的工具和管理數(shù)據(jù)輸入/輸出的方法,而且包括了開發(fā)調(diào)試M文件和MATLAB應(yīng)用程序的集成環(huán)境,使用起來極為方便。當(dāng)用戶在Windows NT系統(tǒng)下啟動(dòng)MATLAB后,將會(huì)出現(xiàn)如圖1-2所示的命令窗口(the Command Window),這是用戶與MATLAB工作環(huán)境交互的主要窗口,在命令提示符“>>”下,用戶可以鍵入各種相關(guān)命令來完成所希望的操作。

圖1-2 MATLAB命令窗口

在命令窗口中,用戶除了可以在命令提示符下鍵入命令執(zhí)行操作外,還可以通過菜單和工具條執(zhí)行多種任務(wù),如圖1-2所示,通過建立新的M文件按鈕和打開已有的M文件按鈕,可以開啟M-edit編輯調(diào)試器,如圖1-3所示,這是一個(gè)功能非常完善的編輯調(diào)試環(huán)境;通過當(dāng)前路徑窗口,可以查看當(dāng)前工作路徑中各變量的類型和內(nèi)容;通過工作空間窗口,用戶可以查看通過MATLAB命令所操作的文件和結(jié)果的內(nèi)容以及類型;通過“幫助”按鈕,可以打開幫助窗口,讓用戶查找在線幫助;通過歷史命令記錄窗口,用戶可以查看過去進(jìn)行的MATLAB操作;通過Simulink模塊庫(kù)按鈕,可以打開Simulink模塊庫(kù),讓用戶向自己的模型中添加新的模塊。總之,MATLAB工作環(huán)境是一個(gè)功能異常強(qiáng)大的工具集合,可以令用戶完成幾乎所有的操作,并且簡(jiǎn)單易用。

圖1-3 M-edit編輯調(diào)試窗口

(3)MATLAB數(shù)學(xué)函數(shù)庫(kù)

MATLAB數(shù)學(xué)函數(shù)庫(kù)是大量的各種形式的數(shù)學(xué)函數(shù)和算法的集合,它不僅包括了最基本的初等函數(shù),如sum、sine、cosine和復(fù)數(shù)運(yùn)算等,而且包含了大量復(fù)雜的高級(jí)函數(shù)和算法,如貝塞爾(Bassel)函數(shù)、快速傅里葉變換和矩陣求逆等。用戶在編寫自己的MATLAB程序時(shí),可以輕松地調(diào)用這些函數(shù)和算法,從而極大地方便了算法的開發(fā)。所有這些函數(shù)按類別分別存放在MATLAB工具箱目錄下的八個(gè)子目錄中,詳見表1-1。

表1-1 MATLAB數(shù)學(xué)函數(shù)庫(kù)的分類和組織

(4)圖形句柄系統(tǒng)

Handle Graphics?為MathWorks公司的注冊(cè)商標(biāo),是MATLAB的圖形系統(tǒng)。它在包含了大量高級(jí)的2D和3D數(shù)據(jù)可視化、圖形顯示、動(dòng)畫生成和圖像處理命令的同時(shí),還提供了許多低級(jí)的圖形命令,允許用戶按照自己的需求顯示圖形和定制應(yīng)用程序圖形用戶接口,既方便又靈活。具體的函數(shù)分為五大類,分別放置在MATLAB工具箱下五個(gè)不同的目錄內(nèi),詳見表1-2。

表1-2 MATLAB圖形函數(shù)的分類和組織

(5)MATLAB應(yīng)用程序接口

MATLAB應(yīng)用程序接口是MATLAB為用戶提供的一個(gè)功能完善的函數(shù)庫(kù),它包含了大量的MATLAB與C語(yǔ)言和FORTRAN語(yǔ)言之間的接口函數(shù),是MATLAB的一個(gè)非常重要的組成部分。通過它,用戶不僅可以在MATLAB下以動(dòng)態(tài)鏈接庫(kù)的形式調(diào)用C語(yǔ)言或FORTRAN語(yǔ)言編寫的子程序,而且可以在C語(yǔ)言和FORTRAN語(yǔ)言中調(diào)用MATLAB的大量函數(shù),將MATLAB作為一個(gè)計(jì)算引擎,同時(shí)還能夠完成MATLAB與外界必要的數(shù)據(jù)交換,極大地增強(qiáng)了MATLAB的靈活性。

1.1.5 MATLAB系統(tǒng)主要功能

MATLAB是當(dāng)今最優(yōu)秀的科技應(yīng)用軟件之一,它以強(qiáng)大的科學(xué)計(jì)算與可視化功能,以及簡(jiǎn)單易用、開放式可擴(kuò)展的環(huán)境,特別是所附帶的 30多種面向不同領(lǐng)域的工具箱支持,使得它在許多科學(xué)領(lǐng)域中成為計(jì)算機(jī)輔助設(shè)計(jì)和分析、算法研究和應(yīng)用的基本工具和首選平臺(tái)。

1. MATLAB在技術(shù)方面的功能

在MATLAB軟件環(huán)境中,問題和問題的解答均以人們熟悉的數(shù)學(xué)形式表示出來,極為方便。因此,利用MATLAB可以進(jìn)行科學(xué)計(jì)算、系統(tǒng)仿真、繪圖以及實(shí)現(xiàn)與其他高級(jí)編程語(yǔ)言的接口等。

(1)MATLAB在科學(xué)計(jì)算中的應(yīng)用

用戶可以像使用計(jì)算器一樣,使用MATLAB進(jìn)行基本的數(shù)學(xué)運(yùn)算,也可以計(jì)算連續(xù)函數(shù)的零點(diǎn)和積分、求解線性系統(tǒng)、利用多項(xiàng)式處理函數(shù)逼近以及構(gòu)造微分精確近似解等。MATLAB自帶的工具箱為此提供了便利。

(2)MATLAB繪圖

使用圖形來呈現(xiàn)實(shí)驗(yàn)或運(yùn)算的結(jié)果更能夠增加說服力,為此,MATLAB提供了一些利用矩陣或向量數(shù)據(jù)來進(jìn)行繪圖的函數(shù),這樣可以更方便地繪制曲線圖、餅圖、條形圖、梯形圖、曲面圖、三維等高線圖和三維帶狀圖等。然后依據(jù)句柄式圖形的觀念修改圖面上所有對(duì)象的屬性,如顏色、線條粗細(xì)等,除了使顯示的更加生動(dòng)外,還更進(jìn)一步顯示出結(jié)果或重要內(nèi)容。

(3)MATLAB應(yīng)用程序接口

MATLAB應(yīng)用程序接口(MATLAB Application Program Interface)是MATLAB系統(tǒng)提供的一個(gè)非常重要的組件,通過該接口,用戶可以方便地完成MATLAB與外部環(huán)境的交互。

在MATLAB中可以通過使用MEX文件來調(diào)用C函數(shù)和FORTRAN子程序。此外,通過MATLAB引擎(Engine),用戶可以在MATLAB中執(zhí)行運(yùn)算,并將結(jié)果返回C或FORTRAN程序中。MATLAB還提供了一些頭文件和庫(kù)文件用于創(chuàng)建和訪問標(biāo)準(zhǔn)的MATLAB MAT文件。使用MATLAB內(nèi)置的串行接口可以直接將數(shù)據(jù)采集并載入到MATLAB中。另外,MATLAB可以通過組件對(duì)象模型(COM)和動(dòng)態(tài)數(shù)據(jù)交換(DDE)來使用Java的類、對(duì)象和方法,并與PC應(yīng)用程序進(jìn)行數(shù)據(jù)交換。MATLAB還可以作為一個(gè)COM自動(dòng)化服務(wù)器與Visual Basic (VB)應(yīng)用程序或能夠使用Visual Basic for Application(VBA)的應(yīng)用程序(例如Microsoft Excel、PowerPoint、Word)進(jìn)行通信。有關(guān)它們的內(nèi)容,將在后面的章節(jié)中介紹,請(qǐng)讀者參閱。

(4)利用MATLAB Simulink模塊進(jìn)行系統(tǒng)仿真

Simulink是基于MATLAB的框圖設(shè)計(jì)環(huán)境,是復(fù)雜系統(tǒng)建模、仿真、分析的可視化開發(fā)平臺(tái)。用戶可以用來對(duì)各種動(dòng)態(tài)系統(tǒng)進(jìn)行建模、分析和仿真,它的建模范圍廣泛,可以針對(duì)任何能夠用數(shù)學(xué)來描述的系統(tǒng)進(jìn)行建模,例如,航空航天動(dòng)力學(xué)系統(tǒng)、衛(wèi)星控制制導(dǎo)系統(tǒng)、通信系統(tǒng)、船舶及汽車等,其中包括了連續(xù)、離散、條件執(zhí)行、事件驅(qū)動(dòng)、單速率、多速率和混雜系統(tǒng)等。Simulink提供了利用鼠標(biāo)拖放的方法建立系統(tǒng)框圖模型的圖形界面,還提供了豐富的功能塊以及不同的專業(yè)模塊集合,利用Simulink幾乎可以做到不書寫一行代碼完成整個(gè)動(dòng)態(tài)系統(tǒng)的建模工作。其具體內(nèi)容在后面章節(jié)介紹。

另外,MATLAB在數(shù)組計(jì)算、數(shù)據(jù)分析、矩陣代數(shù)、樣條函數(shù)等方面的應(yīng)用也有顯著的優(yōu)點(diǎn),關(guān)于它們的詳細(xì)內(nèi)容,讀者可以參考本書其他章節(jié)或其他參考文獻(xiàn)。

2. MATLAB在工程領(lǐng)域中的應(yīng)用

MATLAB把數(shù)組數(shù)據(jù)結(jié)構(gòu)、編程特性和圖形用戶接口工具集成在一起,成為解決各類問題的一個(gè)功能強(qiáng)大的工具。

(1)MATLAB在數(shù)字圖像處理中的應(yīng)用

數(shù)字圖像處理(Digital Image Processing)又稱為計(jì)算機(jī)圖像處理,它是指將圖像信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),并利用計(jì)算機(jī)對(duì)其進(jìn)行處理的過程。利用MATLAB圖像處理工具箱函數(shù)可以對(duì)數(shù)字圖像進(jìn)行增強(qiáng)、壓縮編碼、去噪、恢復(fù)、融合、分割和描述等。

圖像處理工具箱(Image Processing Toolbox)為工程師和科學(xué)家提供了一套完整的用于圖像處理和分析的函數(shù)。總共超過200個(gè)圖像處理函數(shù),與MATLAB的數(shù)據(jù)分析、算法開發(fā)和數(shù)據(jù)可視化環(huán)境集成在一起,使專業(yè)人士從耗時(shí)的圖像處理和操作中解脫出來,用戶只需花少量的時(shí)間在算法編程上,而把大部分時(shí)間用于問題的分析處理上。圖像采集工具箱(Image Acquisition Toolbox)擴(kuò)展MATLAB的強(qiáng)大科學(xué)計(jì)算能力允許用戶直接在MATLAB環(huán)境下通過工業(yè)標(biāo)準(zhǔn)硬件設(shè)備獲取圖像和視頻信號(hào)。通過該工具箱,可以直接將MATLAB環(huán)境同圖像采集設(shè)備連接起來,預(yù)覽圖像,采集數(shù)據(jù),并且利用MATLAB提供的強(qiáng)大數(shù)學(xué)分析功能完成圖形圖像的處理。使用圖像采集工具箱,也即在MATLAB命令行鍵入命令或者把該工具箱中的函數(shù)合并到用戶開發(fā)的應(yīng)用程序中。MATLAB提供了M語(yǔ)言編輯器、程序性能報(bào)告以及圖形用戶界面,幫助用戶加快算法開發(fā)的進(jìn)程。

(2)MATLAB在工程優(yōu)化問題中的應(yīng)用

工程優(yōu)化是在不同的約束條件下,求多變量系統(tǒng)最優(yōu)解的過程。在這一定義中,“最優(yōu)”一詞指在一個(gè)或多個(gè)設(shè)計(jì)目標(biāo)中,決策者希望得到的具有最小或最大性能指標(biāo)的一種設(shè)計(jì)目標(biāo)。MATLAB優(yōu)化工具箱提供了廣泛用于求解常規(guī)和大型優(yōu)化問題的工具,這些算法可以求解帶約束的、無約束的以及離散的優(yōu)化問題。工具箱中包含的函數(shù)可以用于線性規(guī)劃、二次規(guī)劃、非線性優(yōu)化、非線性最小二乘、非線性方程、多目標(biāo)優(yōu)化以及二進(jìn)制整數(shù)規(guī)劃等。

(3)MATLAB在信號(hào)處理和通信中的應(yīng)用

數(shù)字信號(hào)處理是利用計(jì)算機(jī)或?qū)S锰幚碓O(shè)備,以數(shù)值計(jì)算的方法對(duì)信號(hào)進(jìn)行采集、變換、綜合、估值與識(shí)別等加工處理,借以達(dá)到提取信息和便于應(yīng)用的目的。MATLAB信號(hào)處理工具箱(Signal Processing Toolbox)是一個(gè)用于模擬和數(shù)字信號(hào)處理的工業(yè)級(jí)標(biāo)準(zhǔn)算法集合。它提供了用于交互式設(shè)計(jì)與分析的圖形化用戶界面(GUI)工具以及命令行函數(shù)。工具箱中的多數(shù)函數(shù)是利用開放式MATLAB語(yǔ)言設(shè)計(jì)完成的。工程師可以查看算法、修改源代碼以及編寫自定義函數(shù)。該工具箱可應(yīng)用于語(yǔ)音和音頻處理、有線和無線通信、醫(yī)學(xué)成像和測(cè)試測(cè)量、消費(fèi)類電子產(chǎn)品等領(lǐng)域。

這里的通信是指數(shù)據(jù)通信。數(shù)據(jù)通信是依照一定的通信協(xié)議,利用數(shù)據(jù)傳輸技術(shù)在兩個(gè)終端之間傳遞數(shù)據(jù)信息的一種通信方式和通信業(yè)務(wù)。它可實(shí)現(xiàn)計(jì)算機(jī)和計(jì)算機(jī)、計(jì)算機(jī)和終端以及終端與終端之間的數(shù)據(jù)信息傳遞。通信工具箱(Communications Toolbox)提供了一整套的工具來開發(fā)、設(shè)計(jì)和分析通信系統(tǒng)的物理層算法。用戶可以通過命令行、BERTool GUI或是自定義腳本文件、函數(shù)來調(diào)用Communications Toolbox。該工具箱適用于諸如終端、基站、有線和無線局域網(wǎng)絡(luò)以及數(shù)字用戶線的應(yīng)用程序開發(fā),也可對(duì)通信工程方面的研究及教育起到良好的基礎(chǔ)作用。

此外,MATLAB在統(tǒng)計(jì)和數(shù)據(jù)分析、金融建模和分析、仿真圖形學(xué)、生物醫(yī)學(xué)工程、語(yǔ)音處理、機(jī)械零件設(shè)計(jì)、動(dòng)力學(xué)與振動(dòng)、流體力學(xué)和熱傳導(dǎo)等領(lǐng)域得到了廣泛的應(yīng)用。限于篇幅,在此不一一列舉。

主站蜘蛛池模板: 沧州市| 四平市| 浠水县| 哈密市| 巴塘县| 白沙| 上犹县| 贡嘎县| 疏勒县| 沧源| 台前县| 雅安市| 金华市| 新和县| 永善县| 兴仁县| 图木舒克市| 湘潭县| 商城县| 巩义市| 洞口县| 德昌县| 文安县| 石门县| 金门县| 宿迁市| 通化市| 定边县| 白玉县| 拉萨市| 利川市| 武川县| 开江县| 新化县| 确山县| 安丘市| 门头沟区| 津南区| 蓝田县| 昌都县| 子长县|