- MATLAB從基礎(chǔ)到精通
- 王薇編著
- 1725字
- 2019-01-01 12:47:23
1.1 MATLAB簡(jiǎn)介
MATLAB是由美國(guó)Mathworks公司開(kāi)發(fā)的用于數(shù)據(jù)分析處理、算法開(kāi)發(fā)應(yīng)用、數(shù)據(jù)可視化及圖形處理的科學(xué)軟件。使用MATLAB產(chǎn)品,相比傳統(tǒng)編程語(yǔ)言,例如C、C++和Firtran等,能更為快速地解決技術(shù)計(jì)算的問(wèn)題,因而MATLAB被越來(lái)越廣泛地應(yīng)用于科學(xué)計(jì)算、嵌入式系統(tǒng)、控制系統(tǒng)、數(shù)字信號(hào)處理、圖像和視頻處理、通信系統(tǒng)、計(jì)算金融學(xué)等領(lǐng)域。
MATLAB是新一代的高性能計(jì)算語(yǔ)言。它集成了計(jì)算、可視化和編程在一個(gè)友好的環(huán)境中,問(wèn)題和解決方案都是以熟悉的數(shù)學(xué)符號(hào)表示。典型用途包括如下幾種。
● 數(shù)學(xué)和計(jì)算。
● 算法開(kāi)發(fā)。
● 建模和仿真。
● 數(shù)據(jù)分析、挖掘和可視化。
● 科學(xué)和工程制圖。
● 圖形用戶界面的應(yīng)用開(kāi)發(fā)。
1.1.1 MATLAB的發(fā)展歷程
美國(guó)新墨西哥大學(xué)計(jì)算機(jī)科學(xué)系主任Cleve Moler和他的同事于20世紀(jì)70年代編寫(xiě)了MATLAB,最早的MATLAB是用Fortran語(yǔ)言編寫(xiě)的,早期版本以簡(jiǎn)單矩陣運(yùn)算為主,主要是為了減輕學(xué)生編程的負(fù)擔(dān)。MATLAB為矩陣(Matrix)和實(shí)驗(yàn)室(LABoratory)前幾個(gè)英文字母組合。隨后在1984年Little、Moler等人共同創(chuàng)立了MathWorks公司,正式把MATLAB產(chǎn)品推向市場(chǎng)。此后MathWorks公司不斷完善產(chǎn)品,圖形圖像處理、符號(hào)運(yùn)算等多種功能被添加到MATLAB中,同時(shí)隨著信息技術(shù)、科學(xué)算法的不斷發(fā)展,不同領(lǐng)域中需要使用的算法也被集成為工具箱加入MATLAB。目前,MATLAB已成為國(guó)際公認(rèn)的優(yōu)秀計(jì)算軟件,它在各領(lǐng)域的應(yīng)用也越來(lái)越廣,并且有著更廣闊的應(yīng)用前景。
1.1.2 MATLAB的優(yōu)勢(shì)和特點(diǎn)
近年來(lái)MATLAB在各領(lǐng)域的應(yīng)用越來(lái)越廣泛,這主要得益于MATLAB具有以下優(yōu)勢(shì)。
1.編程效率高
對(duì)于復(fù)雜算法的開(kāi)發(fā),MATLAB函數(shù)庫(kù)提供了大量函數(shù)可供直接調(diào)用,面向?qū)I(yè)領(lǐng)域的工具箱減輕了以往需要復(fù)雜編程開(kāi)發(fā)的負(fù)擔(dān),相比一般編程語(yǔ)言可大大節(jié)省算法開(kāi)發(fā)時(shí)間,而對(duì)于非算法研究領(lǐng)域人員,如果只想在自己的領(lǐng)域使用已有的算法,可靈活地調(diào)用MATLAB編寫(xiě)好的函數(shù)。
2.使用方便
MATLAB多數(shù)工具箱提供了圖形界面操作,無(wú)須編寫(xiě)代碼,直接通過(guò)界面操作。
3.擴(kuò)充能力好,移植性強(qiáng)
通過(guò)MATLAB編寫(xiě)的程序可通過(guò)多種途徑與常用的編程語(yǔ)言、應(yīng)用軟件連接,擴(kuò)充移植能力強(qiáng)。
4.開(kāi)放性好
MATLAB一般函數(shù)都是以m文件形式存在的,可以直接打開(kāi)相應(yīng)算法的m文件,查閱源代碼。
5.簡(jiǎn)單易用的程序語(yǔ)言
MATLAB語(yǔ)言特征與C語(yǔ)言相似,而且更加簡(jiǎn)單,更加符合專(zhuān)業(yè)人員對(duì)算法的書(shū)寫(xiě)格式。
6.高效方便的矩陣運(yùn)算
MATLAB的基本數(shù)據(jù)單位是矩陣,與數(shù)學(xué)、工程中常用的形式十分相似,故用MATLAB來(lái)解決問(wèn)題較為簡(jiǎn)單。
7.方便的繪圖功能
MATLAB提供了一系列繪圖函數(shù),可方便地對(duì)數(shù)據(jù)進(jìn)行可視化分析。
下面簡(jiǎn)單介紹MATLAB主要特點(diǎn)。
● 科學(xué)計(jì)算的高級(jí)語(yǔ)言,為算法開(kāi)發(fā)提供高效的實(shí)現(xiàn)途徑。
● 提供完善的開(kāi)發(fā)環(huán)境,系統(tǒng)管理代碼、文件、數(shù)據(jù)。
● 提供友好的交互界面,用于探索、設(shè)計(jì)、解決實(shí)際問(wèn)題。
● 內(nèi)含大量的可直接使用的數(shù)學(xué)函數(shù),涉及線性代數(shù)、統(tǒng)計(jì)學(xué)、傅里葉分析、濾波、優(yōu)化及數(shù)值積分等方面。
● 提供二維和三維圖用于數(shù)據(jù)的可視化分析。
● 可以自定義生成圖形用戶界面。
● 編寫(xiě)的代碼可與外部的程序和其他編程語(yǔ)言集成,例如C、C++、Fortran、Java和Microsoft Excel等。
1.1.3 MATLAB的系統(tǒng)組成
MATLAB主要由以下幾部分組成。
1.開(kāi)發(fā)環(huán)境
開(kāi)發(fā)環(huán)境幫助使用者高效地處理MATLAB函數(shù)和文件,其中許多環(huán)境提供了友好的圖形界面,可交互使用,主要包括:命令窗口,代碼編輯、調(diào)試、分析窗口,工作空間窗口,瀏覽器查看幫助窗口。
2.數(shù)學(xué)函數(shù)庫(kù)
數(shù)學(xué)函數(shù)庫(kù)包含了從初等函數(shù)(如求和、正弦、余弦)到更為復(fù)雜的算法(如矩陣求逆、矩陣特征值、快速傅里葉變換)在內(nèi)的大量數(shù)學(xué)函數(shù)。
3.MATLAB語(yǔ)言
MATLAB語(yǔ)言是高級(jí)矩陣/數(shù)組語(yǔ)言,具有流程控制、函數(shù)調(diào)用、數(shù)據(jù)結(jié)構(gòu)、輸入/輸出、面向?qū)ο缶幊痰瘸绦蛘Z(yǔ)言特征。利用MATLAB語(yǔ)言既可以進(jìn)行小規(guī)模程序設(shè)計(jì),快速完成算法設(shè)計(jì)的基本任務(wù),也可進(jìn)行大規(guī)模編程,開(kāi)發(fā)復(fù)雜的程序算法。
4.圖形功能
MATLAB提供了圖形功能,可視化地顯示向量和矩陣,同時(shí)提供在圖形上注釋和打印功能。此外還包括二維和三維數(shù)據(jù)可視化、圖像處理、動(dòng)畫(huà)生成、演示圖形等高級(jí)功能;用戶自定義圖形對(duì)象,建立完整的圖形用戶界面等低級(jí)功能。
5.應(yīng)用程序接口
利用MATLAB提供的外部應(yīng)用程序可以開(kāi)發(fā)C/C++和Fortran與MATLAB交互的程序算法。包括將MATLAB作為計(jì)算引擎的MATLAB引擎技術(shù),建立動(dòng)態(tài)鏈接調(diào)用MATLAB程序文件和MAT數(shù)據(jù)文件讀/寫(xiě)。
綜上可以看出,MATLAB是一個(gè)功能強(qiáng)大的系統(tǒng),集數(shù)據(jù)計(jì)算、圖形管理、程序開(kāi)發(fā)為一體,向用戶提供了友好的操作界面環(huán)境,同時(shí)通過(guò)與其他編程環(huán)境的交互操作,可以充分利用MATLAB語(yǔ)言的優(yōu)勢(shì),大大縮短算法開(kāi)發(fā)周期。
- Java范例大全
- MATLAB圖像處理超級(jí)學(xué)習(xí)手冊(cè)
- Java 9 Programming Blueprints
- Instant Typeahead.js
- Swift 3 New Features
- 飛槳PaddlePaddle深度學(xué)習(xí)實(shí)戰(zhàn)
- The Professional ScrumMaster’s Handbook
- iOS自動(dòng)化測(cè)試實(shí)戰(zhàn):基于Appium、Python與Pytest
- Developing SSRS Reports for Dynamics AX
- Python大學(xué)實(shí)用教程
- ActionScript 3.0從入門(mén)到精通(視頻實(shí)戰(zhàn)版)
- 原型設(shè)計(jì):打造成功產(chǎn)品的實(shí)用方法及實(shí)踐
- Android應(yīng)用開(kāi)發(fā)攻略
- 大話C語(yǔ)言
- Python網(wǎng)絡(luò)爬蟲(chóng)從入門(mén)到實(shí)踐