MATLAB(矩陣實(shí)驗(yàn)室)是MATrixLABoratory的縮寫,是一款由美國(guó)The MathWorks公司出品的商業(yè)數(shù)學(xué)軟件。MATLAB是一種用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計(jì)算的高級(jí)技術(shù)計(jì)算語言和交互式環(huán)境。除了矩陣運(yùn)算、繪制函數(shù)/數(shù)據(jù)圖像等常用功能外,MATLAB還可以用來創(chuàng)建用戶界面及與調(diào)用其它語言(包括C,C++,Java,Python和FORTRAN)編寫的程序。
盡管MATLAB主要用于數(shù)值運(yùn)算,但利用為數(shù)眾多的附加工具箱(Toolbox)它也適合不同領(lǐng)域的應(yīng)用,例如控制系統(tǒng)設(shè)計(jì)與分析、圖像處理、信號(hào)處理與通訊、金融建模和分析等。另外還有一個(gè)配套軟件包Simulink,提供了一個(gè)可視化開發(fā)環(huán)境,常用于系統(tǒng)模擬、動(dòng)態(tài)/嵌入式系統(tǒng)開發(fā)等方面。
主要功能
MATLAB的主要提供以下功能:
可用于技術(shù)計(jì)算的高級(jí)語言
可對(duì)代碼、文件和數(shù)據(jù)進(jìn)行管理的開發(fā)環(huán)境
可以按迭代的方式探查、設(shè)計(jì)及求解問題的交互式工具
可用于線性代數(shù)、統(tǒng)計(jì)、傅立葉分析、篩選、優(yōu)化以及數(shù)值積分等的數(shù)學(xué)函數(shù)
可用于可視化數(shù)據(jù)的二維和三維圖形函數(shù)
可用于構(gòu)建自定義的圖形用戶界面的各種工具
可將基于MATLAB的算法與外部應(yīng)用程序和語言(如C、C++、Fortran、Java、COM以及Microsoft Excel)集成的各種函數(shù)
工具箱
MATLAB的一個(gè)重要特點(diǎn)是可擴(kuò)展性。作為Simulink和其它所有MathWorks產(chǎn)品的基礎(chǔ),MATLAB可以通過附加的工具箱(Toolbox)進(jìn)行功能擴(kuò)展,每一個(gè)工具箱就是實(shí)現(xiàn)特定功能的函數(shù)的集合[注 2]。MathWorks提供的工具箱分以下幾大類:
1數(shù)學(xué)和優(yōu)化
2統(tǒng)計(jì)和數(shù)據(jù)分析
3控制系統(tǒng)設(shè)計(jì)和分析
4信號(hào)處理和通訊
5圖像處理
6測(cè)試和測(cè)量
7金融建模和分析
8應(yīng)用程序部署
9數(shù)據(jù)庫連接和報(bào)表
10分布式計(jì)算
這些工具箱大多是用開放式的MATLAB語言寫成,用戶不但可以查看源代碼,還可以可根據(jù)自己的需要進(jìn)行修改以及創(chuàng)建自定義函數(shù)。此外,常有用戶在MATLAB Central: File Exchange發(fā)布自己編寫的MATLAB程序或工具箱,供他人自由下載使用。
matlab有什么用
中方便自己以后調(diào)用,此外許多的MATLAB愛好者都編寫了一些經(jīng)典的程序,用戶可以直接進(jìn)行下載就可以用,非常的方便。
MATLAB的基礎(chǔ)是矩陣計(jì)算,但是由于他的開放性,并且mathwork也吸收了像maple等軟件的優(yōu)點(diǎn),使MATLAB成為一個(gè)強(qiáng)大的數(shù)學(xué)軟件
當(dāng)前流行的MATLAB 6.5/7.0包括擁有數(shù)百個(gè)內(nèi)部函數(shù)的主包和三十幾種工具包(Toolbox)。工具包又可以分為功能性工具包和學(xué)科工具包。功能工具包用來擴(kuò)充MATLAB的符號(hào)計(jì)算,可視化建模仿真,文字處理及實(shí)時(shí)控制等功能。學(xué)科工具包是專業(yè)性比較強(qiáng)的工具包,控制工具包,信號(hào)處理工具包,通信工具包等都屬于此類。
開放性使MATLAB廣受用戶歡迎。除內(nèi)部函數(shù)外,所有MATLAB主包文件和各種工具包都是可讀可修改的文件,用戶通過對(duì)源程序的修改或加入自己編寫程序構(gòu)造新的專用工具包。‘Matlab的優(yōu)勢(shì)和特點(diǎn)
(1)友好的工作平臺(tái)和編程環(huán)境
MATLAB由一系列工具組成。這些工具方便用戶使用MATLAB的函數(shù)和文件,其中許多工具采用的是圖形用戶界面。包括MATLAB桌面和命令窗口、歷史命令窗口、編輯器和調(diào)試器、路徑搜索和用于用戶瀏覽幫助、工作空間、文件的瀏覽器。隨著MATLAB的商業(yè)化以及軟件本身的不斷升級(jí),MATLAB的用戶界面也越來越精致,更加接近Windows的標(biāo)準(zhǔn)界面,人機(jī)交互性更強(qiáng),操作更簡(jiǎn)單。而且新版本的MATLAB提供了完整的聯(lián)機(jī)查詢、幫助系統(tǒng),極大的方便了用戶的使用。簡(jiǎn)單的編程環(huán)境提供了比較完備的調(diào)試系統(tǒng),程序不必經(jīng)過編譯就可以直接運(yùn)行,而且能夠及時(shí)地報(bào)告出現(xiàn)的錯(cuò)誤及進(jìn)行出錯(cuò)原因分析。
(2)簡(jiǎn)單易用的程序語言
Matlab一個(gè)高級(jí)的距陣/陣列語言,它包含控制語句、函數(shù)、數(shù)據(jù)結(jié)構(gòu)、輸入和輸出和面向?qū)ο缶幊烫攸c(diǎn)。用戶可以在命令窗口中將輸入語句與執(zhí)行命令同步,也可以先編寫好一個(gè)較大的復(fù)雜的應(yīng)用程序(M文件)后再一起運(yùn)行。新版本的MATLAB語言是基于最為流行的C++語言基礎(chǔ)上的,因此語法特征與C++語言極為相似,而且更加簡(jiǎn)單,更加符合科技人員對(duì)數(shù)學(xué)表達(dá)式的書寫格式。使之更利于非計(jì)算機(jī)專業(yè)的科技人員使用。而且這種語言可移植性好、可拓展性極強(qiáng),這也是MATLAB能夠深入到科學(xué)研究及工程計(jì)算各個(gè)領(lǐng)域的重要原因。
(3)強(qiáng)大的科學(xué)計(jì)算機(jī)數(shù)據(jù)處理能力
MATLAB是一個(gè)包含大量計(jì)算算法的集合。其擁有600多個(gè)工程中要用到的數(shù)學(xué)運(yùn)算函數(shù),可以方便的實(shí)現(xiàn)用戶所需的各種計(jì)算功能。函數(shù)中所使用的算法都是科研和工程計(jì)算中的最新研究成果,而前經(jīng)過了各種優(yōu)化和容錯(cuò)處理。在通常情況下,可以用它來代替底層編程語言,如C和C++ 。在計(jì)算要求相同的情況下,使用MATLAB的編程工作量會(huì)大大減少。MATLAB的這些函數(shù)集包括從最簡(jiǎn)單最基本的函數(shù)到諸如距陣,特征向量、快速傅立葉變換的復(fù)雜函數(shù)。函數(shù)所能解決的問題其大致包括矩陣運(yùn)算和線性方程組的求解、微分方程及偏微分方程的組的求解、符號(hào)運(yùn)算、傅立葉變換和數(shù)據(jù)的統(tǒng)計(jì)分析、工程中的優(yōu)化問題、稀疏矩陣運(yùn)算、復(fù)數(shù)的各種運(yùn)算、三角函數(shù)和其他初等數(shù)學(xué)運(yùn)算、多維數(shù)組操作以及建模動(dòng)態(tài)仿真等。
(4)出色的圖形處理功能
MATLAB自產(chǎn)生之日起就具有方便的數(shù)據(jù)可視化功能,以將向量和距陣用圖形表現(xiàn)出來,并且可以對(duì)圖形進(jìn)行標(biāo)注和打印。高層次的作圖包括二維和三維的可視化、圖象處理、動(dòng)畫和表達(dá)式作圖。可用于科學(xué)計(jì)算和工程繪圖。新版本的MATLAB對(duì)整個(gè)圖形處理功能作了很大的改進(jìn)和完善,使他不僅在一般數(shù)據(jù)可視化軟件都具有的功能(例如二維曲線和三維曲面的繪制和處理等)方面更加完善,而且對(duì)于一些其他軟件所沒有的功能(例如圖形的光照處理、色度處理以及四維數(shù)據(jù)的表現(xiàn)等),MATLAB同樣表現(xiàn)了出色的處理能力。同時(shí)對(duì)一些特殊的可視化要求,例如圖形對(duì)話等,MATLAB也有相應(yīng)的功能函數(shù),保證了用戶不同層次的要求。另外新版本的MATLAB還著重在圖形用戶界面(GUI)的制作上作了很大的改善,對(duì)這方面有特殊要求的用戶也可以得到滿足。
(5)應(yīng)用廣泛的模塊集合工具箱
MATLAB對(duì)許多專門的領(lǐng)域都開發(fā)了功能強(qiáng)大的模塊集和工具箱。一般來說,他們都是由特定領(lǐng)域的專家開發(fā)的,用戶可以直接使用工具箱學(xué)習(xí)、應(yīng)用和評(píng)估不同的方法而不需要自己編寫代碼。目前,MATLAB已經(jīng)把工具箱延伸到了科學(xué)研究和工程應(yīng)用的諸多領(lǐng)域,諸如數(shù)據(jù)采集、數(shù)據(jù)庫接口、概率統(tǒng)計(jì)、樣條擬合、優(yōu)化算法、偏微分方程求解、神經(jīng)網(wǎng)絡(luò)、小波分析、信號(hào)處理、圖像處理、系統(tǒng)辨識(shí)、控制系統(tǒng)設(shè)計(jì)、LMI控制、魯棒控制、模型預(yù)測(cè)、模糊邏輯、金融分析、地圖工具、非線性控制設(shè)計(jì)、實(shí)時(shí)快速原型及半物理仿真、嵌入式系統(tǒng)開發(fā)、定點(diǎn)仿真、DSP與通訊、電力系統(tǒng)仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。
(6)實(shí)用的程序接口和發(fā)布平臺(tái)
新版本的MATLAB可以利用MATLAB編譯器和C/C++數(shù)學(xué)庫和圖形庫,將自己的MATLAB程序自動(dòng)轉(zhuǎn)換為獨(dú)立于MATLAB運(yùn)行的C和C++代碼。允許用戶編寫可以和MATLAB進(jìn)行交互的C或C++語言程序。另外,MATLAB網(wǎng)頁服務(wù)程序還容許在Web應(yīng)用中使用自己的MATLAB數(shù)學(xué)和圖形程序。
MATLAB的一個(gè)重要特色就是他有一套程序擴(kuò)展系統(tǒng)和一組稱之為工具箱的特殊應(yīng)用子程序。工具箱是MATLAB函數(shù)的子程序庫,每一個(gè)工具箱都是為某一類學(xué)科專業(yè)和應(yīng)用而定制的,主要包括信號(hào)處理、控制系統(tǒng)、神經(jīng)網(wǎng)絡(luò)、模糊邏輯、小波分析和系統(tǒng)仿真等方面的應(yīng)用。
(7)應(yīng)用軟件開發(fā)(包括用戶界面)
在開發(fā)環(huán)境中,使用戶更方便地控制多個(gè)文件和圖形窗口;在編程方面支持了函數(shù)嵌套,有條件中斷等;在圖形化方面,有了更強(qiáng)大的圖形標(biāo)注和處理功能,包括對(duì)性對(duì)起連接注釋等;在輸入輸出方面,可以直接向Excel和HDF5。
(8) Matlab常用工具箱介紹(英漢對(duì)照)
Matlab Main Toolbox——matlab主工具箱 Control System Toolbox——控制系統(tǒng)工具箱 Communication Toolbox——通訊工具箱 Financial Toolbox——財(cái)政金融工具箱
System Identification Toolbox——系統(tǒng)辨識(shí)工具箱 Fuzzy Logic Toolbox——模糊邏輯工具箱
Higher-Order Spectral Analysis Toolbox——高階譜分析工具箱 Image Processing Toolbox——圖象處理工具箱 LMI Control Toolbox——線性矩陣不等式工具箱
Model predictive Control Toolbox——模型預(yù)測(cè)控制工具箱 μ-Analysis and Synthesis Toolbox——μ分析工具箱 Neural Network Toolbox——神經(jīng)網(wǎng)絡(luò)工具箱 Optimization Toolbox——優(yōu)化工具箱
Partial Differential Toolbox——偏微分方程工具箱 Robust Control Toolbox——魯棒控制工具箱 Signal Processing Toolbox——信號(hào)處理工具箱 Spline Toolbox——樣條工具箱 Statistics Toolbox——統(tǒng)計(jì)工具箱
Symbolic Math Toolbox——符號(hào)數(shù)學(xué)工具箱 Simulink Toolbox——?jiǎng)討B(tài)仿真工具箱
System Identification Toolbox——系統(tǒng)辨識(shí)工具箱 Wavele Toolbox——小波工具箱 例如:控制系統(tǒng)工具箱包含如下功能: 連續(xù)系統(tǒng)設(shè)計(jì)和離散系統(tǒng)設(shè)計(jì) 狀態(tài)空間和傳遞函數(shù)以及模型轉(zhuǎn)換
時(shí)域響應(yīng)(脈沖響應(yīng)、階躍響應(yīng)、斜坡響應(yīng)) 頻域響應(yīng)(Bode圖、Nyquist圖) 根軌跡、極點(diǎn)配置
1.補(bǔ)充新的內(nèi)容:
MATLAB R2007b正式發(fā)布了!MATLAB 2007b于2007年秋節(jié)正式發(fā)布,TMW正式發(fā)布了MATLAB R2007b,新版本涵蓋:Simulink 7、新產(chǎn)品Simulink Design Verifier、Link for Analog Devices VisualDSP以及82個(gè)產(chǎn)品模塊的更新升級(jí)及Bug修訂。從現(xiàn)在開始,
MathWorks公司將每年進(jìn)行兩次產(chǎn)品發(fā)布,時(shí)間分別在每年的3月和9 月,而且,每一次發(fā)布都會(huì)包含所有的產(chǎn)品模塊,如產(chǎn)品的new feature、bug fixes和新產(chǎn)品模塊的推出。
在R2007b中(MATLAB 7.4,Simulink 6.6),主要更新了多個(gè)產(chǎn)品模塊、增加了多達(dá)350個(gè)新特性、增加了對(duì)64位Windows的支持,并新推出了.net工具箱。R2007b, released on March 1, 2007, includes updates to MATLAB and Simulink, two new products released since R2007b, and updates and bug fixes to 82 other products. R2007b adds support for the Intel? based Mac, Windows Vista?, and 64-bit Sun Solaris? SPARC platforms.
這次的升級(jí)做了重大的增強(qiáng),也升級(jí)了以下各版本,提供了MATLAB、SIMULINK的升級(jí)以及其他最新的模塊的升級(jí)。這個(gè)Matlab 2007版本不僅僅提高了產(chǎn)品質(zhì)量,同時(shí)也提供了新的用于數(shù)據(jù)分析、大規(guī)模建模、固定點(diǎn)開發(fā)、編碼等新特征。
其中MATLAB Builder for .net擴(kuò)展了MATLAB Compiler的功能,主要有:
可以打包MATLAB函數(shù),使網(wǎng)絡(luò)程序員可以通過C#,VB.net等語言訪問這些函數(shù); 創(chuàng)建組件來保持MATLAB的靈活性; 創(chuàng)建COM組件;
將源自MATLAB函數(shù)的錯(cuò)誤作為一個(gè)標(biāo)準(zhǔn)的管理異常來處理。
R2007b 提供了重大的新功能: 直接在命令行使用 Real-Time Workshop 的 嵌入式 MATLAB 函數(shù)的 C 代碼生成。 另外,Simulink 中的嵌入式 MATLAB 函數(shù)塊支持多 M 文件中的算法。
MATLAB R2007b新版本中,產(chǎn)品模塊進(jìn)行了一些調(diào)整,MATLAB Builder for COM的功能集成到MATLAB Builder for .net中去了,F(xiàn)inacial Time Series Toolbox的功能集成到Financial Toolbox中了。MATLAB 將高性能的數(shù)值計(jì)算和可視化集成在一起,并提供了大量的內(nèi)置函數(shù),從而被廣泛地應(yīng)用于科學(xué)計(jì)算、控制系統(tǒng)、信息處理等領(lǐng)域的分析、仿真和設(shè)計(jì)工作,而且利用 MATLAB 產(chǎn)品的開放式結(jié)構(gòu),可以非常容易地對(duì) MATLAB 的功能進(jìn)行擴(kuò)充,從而在不斷深化對(duì)問題認(rèn)識(shí)的同時(shí),不斷完善 MATLAB 產(chǎn)品以提高產(chǎn)品自身的競(jìng)爭(zhēng)能力。
作為和Mathematica、Maple并列的三大數(shù)學(xué)軟件。其強(qiáng)項(xiàng)就是其強(qiáng)大的矩陣計(jì)算以及仿真能力。要知道Matlab的由來就是Matrix + Laboratory = Matlab,所以這個(gè)軟件在國(guó)內(nèi)也被稱作《矩陣實(shí)驗(yàn)室》。每次MathWorks發(fā)布Matlab的同時(shí)也會(huì)發(fā)布仿真工具Simulink。在歐美很多大公司在將產(chǎn)品投入實(shí)際使用之前都會(huì)進(jìn)行仿真試驗(yàn),他們所主要使用的仿真軟件就是Simulink。Matlab提供了自己的編譯器:全面兼容C++以及 Fortran兩大語言。所以Matlab是工程師,科研工作者手上最好的語言,最好的工具和環(huán)境。Matlab 已經(jīng)成為廣大科研人員的最值得信賴的助手和朋友!
評(píng)論
查看更多