MATLAB 是受全球數(shù)百萬(wàn)工程師和科學(xué)家青睞的高級(jí)語(yǔ)言和交互環(huán)境。您可以探尋思路,實(shí)現(xiàn)可視化,開展跨學(xué)科協(xié)作,包括信號(hào)和圖像處理、通訊、控制系統(tǒng)和計(jì)算金融。
您可以在諸如能耗建模之類的項(xiàng)目中使用 MATLAB,構(gòu)建智能電網(wǎng),為高超音速飛行器開發(fā)控制算法,分析氣象數(shù)據(jù)以實(shí)現(xiàn)颶風(fēng)軌跡和強(qiáng)度的可視化,運(yùn)行數(shù)百萬(wàn)次仿真以確定抗生素的最佳劑量。
您將如何使用 MATLAB?
主要特性
用于數(shù)值計(jì)算、可視化和應(yīng)用程序開發(fā)的高級(jí)語(yǔ)言
可實(shí)現(xiàn)迭代式探查、設(shè)計(jì)及問題求解的交互式環(huán)境
用于線性代數(shù)、統(tǒng)計(jì)、傅立葉分析、篩選、優(yōu)化、數(shù)值積分以及常微分方程求解的數(shù)學(xué)函數(shù)
用于數(shù)據(jù)可視化的內(nèi)置圖形以及用于創(chuàng)建自定義繪圖的工具
用于改進(jìn)代碼質(zhì)量和可維護(hù)性并最大限度地發(fā)揮性能的開發(fā)工具
用于構(gòu)建自定義圖形界面應(yīng)用程序的工具
可實(shí)現(xiàn)基于 MATLAB 的算法與外部應(yīng)用程序和語(yǔ)言(如 C、Java、.NET 以及 Microsoft Excel)集成的函數(shù)
使用 MATLAB 桌面執(zhí)行數(shù)據(jù)分析及數(shù)據(jù)可視化。MATLAB環(huán)境還可用來(lái)編寫程序以及開發(fā)算法和應(yīng)用程序。
主要功能
1. 數(shù)值計(jì)算
MATLAB提供了一系列用于分析數(shù)據(jù)、開發(fā)算法和創(chuàng)建模型的數(shù)值計(jì)算方法。MATLAB語(yǔ)言包括用以支持常見的工程設(shè)計(jì)和科學(xué)運(yùn)算的數(shù)學(xué)函數(shù)。核心的數(shù)學(xué)函數(shù)采用處理器優(yōu)化庫(kù),可以快速地執(zhí)行向量運(yùn)算和矩陣運(yùn)算。具體可采用的方法包括:
插值與回歸
微分與積分
線性方程組
傅里葉分析
特征值與奇異值
常微分方程(ODE)
稀疏矩陣
MATLAB附加產(chǎn)品提供了各種專業(yè)領(lǐng)域的函數(shù),如統(tǒng)計(jì)、優(yōu)化、信號(hào)分析以及機(jī)器學(xué)習(xí)。
使用二維三次插值完善柵格數(shù)據(jù)。
2. 數(shù)據(jù)分析和可視化
MATLAB提供了用于數(shù)據(jù)采集、分析和可視化的工具,使您能夠深入探查數(shù)據(jù),而且與使用電子表格或傳統(tǒng)編程語(yǔ)言相比節(jié)省了大量時(shí)間。此外,還可以通過繪圖、報(bào)告或發(fā)布MATLAB 代碼的形式來(lái)記錄和共享結(jié)果。
采集數(shù)據(jù)
利用 MATLAB,可以從文件、其他應(yīng)用程序、數(shù)據(jù)庫(kù)以及外部設(shè)備訪問數(shù)據(jù)。您可以從各種常用文件格式(如 Microsoft Excel、文本或二進(jìn)制文件、圖像、語(yǔ)音和視頻文件)以及諸如 netCDF 和 HDF 等科學(xué)文件中讀取數(shù)據(jù)。借助文件 I/O 函數(shù),可以處理任意格式的數(shù)據(jù)文件。
通過將 MATLAB 與附加產(chǎn)品配合使用,可以從諸如計(jì)算機(jī)串口或聲卡等硬件設(shè)備獲取數(shù)據(jù),并且使實(shí)時(shí)測(cè)量的數(shù)據(jù)接導(dǎo)入 MATLAB,以便用于分析和可視化處理。此外,還可以實(shí)現(xiàn)與各種儀器(如示波器、函數(shù)發(fā)生器以及信號(hào)分析儀)之間的通信。
使用“導(dǎo)入工具”可將數(shù)字和文本混合文件導(dǎo)入 MATLAB。MATLAB 能夠以編程的形式自動(dòng)生成有待導(dǎo)入文件中的腳本或函數(shù)。
分析數(shù)據(jù)
利用 MATLAB,可以對(duì)數(shù)據(jù)進(jìn)行管理、篩選以及預(yù)處理。您可以執(zhí)行探索性數(shù)據(jù)分析,探明趨勢(shì),檢驗(yàn)假設(shè),并構(gòu)建描述模型。MATLAB 提供了可用于濾波和平滑、插值、卷積以及快速傅 立葉變換 (FFT) 的各種函數(shù)。各種附加產(chǎn)品提供了可用于曲線和曲面擬合、多元統(tǒng)計(jì)、頻譜分析、 圖像分析、系統(tǒng)識(shí)別及其他分析任務(wù)的多種功能。
使用 MATLAB 和 Curve Fitting Toolbox 將曲面擬合到自定義模型數(shù)據(jù)。
數(shù)據(jù)可視化
MATLAB 提供了內(nèi)置的二維和三維繪圖函數(shù),以及立體可視化函數(shù)。使用這些函數(shù),可以實(shí)現(xiàn)數(shù)據(jù)可視化,了解數(shù)據(jù),并交流結(jié)果。對(duì)繪圖進(jìn)行自定義時(shí)既可以采用交互方式,也可以采用編程方式。
使用 MATLAB 交互式繪圖環(huán)境編輯曲面等高線圖的標(biāo)題。
存檔和共享結(jié)果
您可以采用圖形或完整報(bào)告的方式來(lái)共享結(jié)果。通過定制 MATLAB 圖形,可以符合出版規(guī)格,并保存為常見的圖形和數(shù)據(jù)文件格式。執(zhí)行 MATLAB 程序時(shí),可以自動(dòng)生成報(bào)告。所生成的報(bào)告中含有代碼、注釋和程序結(jié)果,其中包括圖形。報(bào)告可采用各種格式(如 HTML、PDF、Word 或 LaTeX)發(fā)布。
利用 MATLAB 編輯器以 HTML 格式(右)發(fā)布的 MATLAB 程序(左)。其中捕獲并包含了顯示在“命令行窗口”中或顯示為圖形的結(jié)果,而且代碼注釋轉(zhuǎn)被轉(zhuǎn)換成 HTML 文件中的分節(jié)標(biāo)題和正文文本。
3. 編程與算法開發(fā)
MATLAB 提供了一種高級(jí)語(yǔ)言和開發(fā)工具,使您可以迅速地開發(fā)并分析算法和應(yīng)用程序。
MATLAB語(yǔ)言
MATLAB 語(yǔ)言對(duì)向量運(yùn)算和矩陣運(yùn)算提供內(nèi)在支持,這些運(yùn)算是解決工程和科學(xué)問題的基礎(chǔ),能夠?qū)崿F(xiàn)快速開發(fā)和執(zhí)行。
使用 MATLAB 語(yǔ)言,編程和開發(fā)算法的速度較使用傳統(tǒng)語(yǔ)言大幅提高,這是因?yàn)闊o(wú)須執(zhí)行諸如聲明變量、指定數(shù)據(jù)類型以及分配內(nèi)存等低級(jí)管理任務(wù)。在很多情況下,支持向量運(yùn)算和矩陣運(yùn)算就無(wú)需使用 for 循環(huán)。因此,一行MATLAB代碼通常等同于數(shù)行 C 代碼或 C++ 代碼。
MATLAB 提供了傳統(tǒng)編程語(yǔ)言的多項(xiàng)功能,其中包括流控制、錯(cuò)誤處理以及面向?qū)ο缶幊?(OOP)。您既可以使用基本的數(shù)據(jù)類型或高級(jí)數(shù)據(jù)結(jié)構(gòu),也可以定義自定義數(shù)據(jù)類型。
采用交互方式,一次僅執(zhí)行一個(gè)命令,可以即時(shí)生成結(jié)果。這種方法可以快速試探多個(gè)選項(xiàng),通過反復(fù)迭代,找出最佳的解決方案。通過捕獲交互式步驟,生成可以重復(fù)使用的腳本和函數(shù),并實(shí)現(xiàn)任務(wù)的自動(dòng)化。
開發(fā)工具
MATLAB 內(nèi)置的各種工具可以實(shí)現(xiàn)高效的算法開發(fā),包括:
命令行窗口- 能夠以交互的方式輸入數(shù)據(jù),執(zhí)行命令和程序,以及顯示結(jié)果
MATLAB 編輯器- 提供編輯和調(diào)試功能,如設(shè)置斷點(diǎn)及逐步調(diào)試各行代碼
代碼分析器- 自動(dòng)檢查代碼是否有問題,并提出修改建議,以最大限度地發(fā)揮性能以及可維護(hù)性
MATLAB 事件探查器– 衡量 MATLAB 程序的性能,并確定需要修改加以改進(jìn)的代碼范圍
其他工具可以對(duì)代碼和數(shù)據(jù)文件進(jìn)行比較,并提供顯示文件相關(guān)性、注釋提示和代碼涵蓋范圍的報(bào)告。
在調(diào)試模式下運(yùn)行以便診斷問題的 MATLAB 程序。
與其他語(yǔ)言和應(yīng)用程序集成
MATLAB 應(yīng)用程序可以與其他語(yǔ)言編寫的應(yīng)用程序集成。在 MATLAB 中,可以直接調(diào)用以 C、C++、Java 和 .NET 編寫的代碼。使用 MATLAB 引擎庫(kù),可從 C、C++ 或 Fortran 應(yīng)用程序調(diào)用 MATLAB 代碼。
性能
MATLAB 采用處理器優(yōu)化庫(kù),可以快速執(zhí)行矩陣運(yùn)算和向量運(yùn)算。對(duì)于通用的標(biāo)量計(jì)算,MATLAB 使用其即時(shí) (JIT) 編譯技術(shù),提供了可與傳統(tǒng)編程語(yǔ)言相媲美的執(zhí)行速度。
為了充分利用多核和多處理器計(jì)算機(jī),MATLAB 提供了眾多的多線程線性代數(shù)和數(shù)值函數(shù)。這些函數(shù)可在單個(gè) MATLAB 會(huì)話中自動(dòng)執(zhí)行多個(gè)計(jì)算線程,從而得以在多核計(jì)算機(jī)上提高執(zhí)行速度。
4. 應(yīng)用的開發(fā)和部署
MATLAB 工具和附加產(chǎn)品提供了一系列開發(fā)和部署應(yīng)用程序的選項(xiàng)。您既可以與其他 MATLAB 用戶共享各個(gè)算法和應(yīng)用程序,也可以向其他沒有 MATLAB 的用戶實(shí)施免特許費(fèi)的部署。
設(shè)計(jì)圖形用戶界面
使用 GUIDE(圖形用戶界面開發(fā)環(huán)境),可以布置、設(shè)計(jì)和編輯自定義圖形用戶界面。既可以 含帶常用控件,如列表框、下拉菜單和按鈕,也可以含帶 MATLAB 繪圖。此外,還可以使用 MATLAB 函數(shù)以編程的方式來(lái)創(chuàng)建圖形用戶界面。
風(fēng)力分析 GUI 的 GUIDE 布局(頂部)和完成后的界面(底部)。
部署應(yīng)用程序
若要將一個(gè)應(yīng)用程序直接分發(fā)給其他 MATLAB 用戶,可以將其打包為 MATLAB 應(yīng)用程序,從而 實(shí)現(xiàn)單文件分發(fā)。應(yīng)用程序會(huì)自動(dòng)安裝在 MATLAB 應(yīng)用程序庫(kù)中,以便于訪問。若要與沒有 MATLAB 的其他人分享應(yīng)用程序,可以使用應(yīng)用程序部署產(chǎn)品。這些附加產(chǎn)品會(huì)自動(dòng) 生成獨(dú)立應(yīng)用程序、共享庫(kù)和軟件組件,以便與 C、C++、Java、.NET 和 Excel 環(huán)境集成。可執(zhí)行 文件和組件可以免特許費(fèi)分發(fā)。
生成C代碼
使用 MATLAB Coder,可以從 MATLAB 代碼生成獨(dú)立的 C 代碼。MATLAB Coder 支持 MATLAB 語(yǔ)言的子集;設(shè)計(jì)工程師通常使用該語(yǔ)言來(lái)開發(fā)作為大型系統(tǒng)組件的算法。該代碼既可用于獨(dú)立執(zhí)行,與其他軟件應(yīng)用程序集成,也可以作為嵌入式應(yīng)用程序的一部分。
MATLAB 代碼(左)以及顯示生成的 C 代碼的代碼生成報(bào)告(右)。
-
應(yīng)用程序
+關(guān)注
關(guān)注
37文章
3268瀏覽量
57704 -
可視化
+關(guān)注
關(guān)注
1文章
1194瀏覽量
20941 -
C代碼
+關(guān)注
關(guān)注
1文章
89瀏覽量
14300
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論