MATLAB是Mathworks公司于1984年推出的一套高性能的數(shù)值計(jì)算的可視化軟件,它集數(shù)值分析、矩陣運(yùn)算、信號處理和圖形顯示于一體,可方便地應(yīng)用于數(shù)學(xué)計(jì)算、算法開發(fā)、數(shù)據(jù)采集、系統(tǒng)建模和仿真、數(shù)據(jù)分析和可視化、科學(xué)和工程繪圖、應(yīng)用軟件開發(fā)等方面。MATLAB之所以能夠被廣泛應(yīng)用,是因?yàn)樗鼘⒖蒲泄ぷ髡邚姆ξ兜腇ortran、C編程中解放出來,使他們真正把精力放在科研和設(shè)計(jì)的核心問題上,從而大大提高了工作效率。在MATLAB環(huán)境中描述問題及編制求解問題的程序時(shí),用戶可以按照符合人們的科學(xué)思維方式和數(shù)學(xué)表達(dá)習(xí)慣的語言形式來書寫程序。
MATLAB這個(gè)詞代表“矩陣實(shí)驗(yàn)室”(matrix laboratory),它是以著名的線性代數(shù)軟件包LINPACK和特征值計(jì)算軟件包EISPACK中的子程序?yàn)榛A(chǔ),發(fā)展而成的一種開放型程序設(shè)計(jì)語言。在它的發(fā)展過程中,許多優(yōu)秀的工程師為它的完善做出了卓越的貢獻(xiàn),使其從一個(gè)簡單的矩陣分析軟件逐漸發(fā)展成為一個(gè)具有極高通用性的、帶有眾多實(shí)用工具的運(yùn)算操作平臺。工具箱是MATLAB函數(shù)的子程序庫,每一個(gè)工具箱都是為某一類學(xué)科專業(yè)和應(yīng)用而定制的,主要包括信號處理、控制系統(tǒng)、神經(jīng)網(wǎng)絡(luò)、圖像處理、模糊邏輯、小波分析和系統(tǒng)仿真等方面的應(yīng)用。借助于這些現(xiàn)有的工具,科研人員可以直觀、方便地進(jìn)行分析、計(jì)算及設(shè)計(jì)工作,從而大大節(jié)省了時(shí)間。
MATLAB是一種高效的工程計(jì)算語言,它將計(jì)算、可視化和編程等功能集于一個(gè)易于使用的環(huán)境。在MATLAB環(huán)境中描述問題及編制求解問題的程序時(shí),用戶可以按照符合人們科學(xué)思維的方式和數(shù)學(xué)表達(dá)習(xí)慣的語言形式來書寫程序。其典型應(yīng)用主要包括以下幾個(gè)方面:
- 數(shù)學(xué)計(jì)算;
- 算法開發(fā);
- 數(shù)據(jù)采集;
- 系統(tǒng)建模和仿真;
- 數(shù)據(jù)分析和可視化;
- 科學(xué)和工程繪圖;
- 應(yīng)用軟件開發(fā)(包括用戶界面)。
MATLAB是一個(gè)交互式系統(tǒng)(寫程序與執(zhí)行命令同步),其基本的數(shù)據(jù)元素是沒有維數(shù)限制的陣列。這使得用戶可以解決許多工程技術(shù)上的問題,特別是那些包含了矩陣和向量的公式的計(jì)算。采用MATLAB編制解決上述問題的程序比采用只支持標(biāo)量和非交互式的編程語言(如C語言和Fortan語言)更加方便。
20世紀(jì)80年代初期,Cleve Moler和John Little采用C語言改寫了MATLAB的內(nèi)核,不久他們便成立了Mathworks軟件開發(fā)公司,并將MATLAB正式推向市場。歷經(jīng)十幾年的發(fā)展和競爭,MATLAB成為國際認(rèn)可的最優(yōu)化的科技應(yīng)用軟件。在大學(xué)里,它是用于初等和高等數(shù)學(xué)、自然科學(xué)和工程學(xué)的標(biāo)準(zhǔn)教學(xué)工具;在工業(yè)界,它是一個(gè)高效的研究、開發(fā)和分析的工具。隨著科技的發(fā)展,許多優(yōu)秀的工程師不斷地對MATLAB進(jìn)行了完善,使其從一個(gè)簡單的矩陣分析軟件逐漸發(fā)展成為一個(gè)具有極高通用性,并帶有眾多實(shí)用工具的運(yùn)算操作平臺。
MATLAB的一個(gè)重要特色就是它有一套程序擴(kuò)展系統(tǒng)和一組稱之為工具箱(toolboxes)的特殊應(yīng)用子程序。工具箱是MATLAB函數(shù)的子程序庫,每一個(gè)工具箱都是為某一類學(xué)科專業(yè)和應(yīng)用而定制的,主要包括信號處理、控制系統(tǒng)、神經(jīng)網(wǎng)絡(luò)、模糊邏輯、小波分析和系統(tǒng)仿真等方面的應(yīng)用。
MATLAB系統(tǒng)由以下5個(gè)主要部分組成,下面具體進(jìn)行介紹。
- 開發(fā)環(huán)境:由一系列工具組成。這些工具方便用戶使用MATLAB的函數(shù)和文件,其中許多工具采用的是圖形用戶界面。包括MATLAB桌面和命令窗口、歷史命令窗口、編輯器和調(diào)試器、路徑搜索和用于瀏覽幫助、工作空間、文件的瀏覽器。
- MATLAB數(shù)學(xué)函數(shù)庫:這是一個(gè)包含大量計(jì)算算法的集合,這些函數(shù)包括從最簡單最基本的函數(shù)(如加、正弦等)到諸如矩陣的特征向量、快速傅立葉變換等較復(fù)雜的函數(shù)。
- MATLAB語言:這是一個(gè)高級的矩陣/陣列語言,它包含控制語句、函數(shù)、數(shù)據(jù)結(jié)構(gòu)、輸入輸出和面向?qū)ο蟮木幊烫攸c(diǎn)。用戶可以在命令窗口中將輸入語句與執(zhí)行命令同步,也可以先編寫好一個(gè)較大的復(fù)雜的應(yīng)用程序(M文件)后再一起運(yùn)行。
- 圖形處理:用MATLAB可以將向量和矩陣用圖形表現(xiàn)出來,并且可以對圖形進(jìn)行標(biāo)注和打印。高層次的作圖包括二維和三維數(shù)據(jù)可視化、圖像處理、動畫和表達(dá)式作圖,低層次的作圖包括定制圖形的顯示和為用戶的MATLAB應(yīng)用程序建立的圖形用戶界面。
- MATLAB應(yīng)用程序接口(API):這是一個(gè)庫,它允許用戶編寫可以和MATLAB進(jìn)行交互的C或Fortran語言程序。
MATLAB軟件從1984年推出的第1個(gè)版本到目前發(fā)布的第14個(gè)版本MATLAB 7.0(Release14),有了較大的改進(jìn)和增補(bǔ),增加了許多新功能和更為有效的處理方法。
1.開發(fā)環(huán)境
- 新的用戶界面環(huán)境和開發(fā)環(huán)境,使用戶更方便地控制多個(gè)文件和圖形窗口,用戶可以按照自己的習(xí)慣來定制桌面環(huán)境,還可以為常用的命令定義快捷鍵;
- 功能更強(qiáng)的數(shù)組編輯器和工作空間瀏覽器,用戶可更方便地瀏覽、編輯和圖形化變量;
- 提供的M-Lint代碼分析器,可以方便用戶修改代碼以取得更好的性能和可維護(hù)性;
- 更強(qiáng)大的編輯器,用戶可以選擇執(zhí)行M文件中的部分內(nèi)容等。
2.編程
- 支持函數(shù)嵌套、有條件中斷點(diǎn);
- 可以用匿名函數(shù)來定義單行函數(shù)等。
3.?dāng)?shù)值處理
- 整數(shù)算法,方便用戶處理更大的整數(shù);
- 單精度算法、線性代數(shù)、FFT和濾波,方便用戶處理更大的單精度數(shù)據(jù);
- Linsolve函數(shù),用戶可以通過定義系數(shù)矩陣更快地求解線性系統(tǒng);
- ODE求解泛函數(shù),操作隱式差分等式和求解多點(diǎn)式邊界值問題。
4.圖形化
- 新的繪圖界面窗口,用戶可以不必通過輸入M函數(shù)代碼而直接在繪圖界面窗口中交互式地創(chuàng)建并編輯圖形;
- 用戶可以直接從圖形窗口中生成M代碼文件,使得用戶可以多次重復(fù)地執(zhí)行用戶自定義的作圖;
- 更強(qiáng)大的圖形標(biāo)注和處理功能,包括對象對齊、連接注釋和數(shù)據(jù)點(diǎn)的箭頭等;
- 數(shù)據(jù)探測工具,用戶可以在圖形窗口中方便地查詢圖形上某一點(diǎn)的坐標(biāo)值;
- 功能更強(qiáng)大的圖形句柄等。
5.圖形用戶界面
- 面板和分組按鈕使得用戶可以對用戶界面的控件進(jìn)行分組;
- 用戶可以直接在GUIDE中訪問ActiveX控件。
6.文件I/O和外部應(yīng)用程序接口
- 新的文件I/O函數(shù)支持用戶可以讀更大的文本文件,并且可以向Excel和HDF5文件中寫入內(nèi)容;
- 支持壓縮格式的MAT文件,使得用戶可以使用較少的磁盤空間保存大量的數(shù)據(jù),而且速度更快;
- 可以使用Javaaddpath函數(shù)來動態(tài)添加、刪除或重載Java類,而不必重啟MATLAB 7.0;
- 支持COM用戶接口、服務(wù)器事件和Visual Basic腳本;
- 可以基于簡單的對象訪問協(xié)議(SOAP)來訪問網(wǎng)頁服務(wù)器;
- 提供FTP對象用于連接FTP服務(wù)器,實(shí)現(xiàn)對異地文件的處理;
- 支持Unicode國際字符集標(biāo)準(zhǔn),使得MAT文件中的字符數(shù)據(jù)可以在不同語言之間共享。
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。