為工程師和科學(xué)家打造的最簡便高效的計算環(huán)境
MATLAB 語言
專用于數(shù)學(xué)和科學(xué)計算的唯一高級編程語言
基于矩陣的 MATLAB 語言讓數(shù)學(xué)直觀易讀。
工程師和科學(xué)家需要能夠直觀表達(dá)矩陣和數(shù)組數(shù)學(xué)運(yùn)算的編程語言,而非通過通用編程實現(xiàn)的編程語言。
Python 中的矩陣數(shù)學(xué)需要執(zhí)行函數(shù)調(diào)用,而非自然算子。您必須對標(biāo)量、1-D 矩陣和 2-D 矩陣之間的差異進(jìn)行跟蹤。即使在最簡單的 Python 代碼中做到這一點(diǎn)也很困難,下圖中Python 代碼里的錯誤你能找到嗎?
在 Python 代碼的第 2 行有一個非常微小的錯誤。在原始代碼中,行是 1-d 矩陣。它看起來像行向量,但卻沒有足夠的維數(shù)來說明是行還是列——只能表明是 1-d 矩陣。由于沒有第二個維度,第三行中的轉(zhuǎn)置沒有效果。而 MATLAB 不會對標(biāo)量、1-d 矩陣、2-d 矩陣和多維數(shù)組進(jìn)行人為區(qū)分。
使用 MATLAB 語言編寫相同的示例,你會發(fā)現(xiàn) MATLAB 在表達(dá)計算數(shù)學(xué)方面更加自然。由此可見,MATLAB 中的線性代數(shù)與教科書中的線性代數(shù)更接近,在數(shù)據(jù)分析、信號和圖像處理、控制設(shè)計以及其他應(yīng)用中也是一樣。這也是超過 1,800 本教科書中使用 MATLAB 的原因。
MATLAB 適合工程師和科學(xué)家的工作方式。
Python 的函數(shù)通常由高級編程人員為其他編程人員設(shè)計開發(fā),并撰寫文檔。Python 為科學(xué)計算提供的開發(fā)環(huán)境缺乏桌面版 MATLAB 所具備的可靠性和集成能力。
MATLAB 則是為工程師和科學(xué)家量身定制的:
函數(shù)名和簽名熟悉并容易記住,便于讀寫。
新函數(shù)接口采用了嚴(yán)格的設(shè)計流程,每個函數(shù)通常會花費(fèi)幾十到幾百個工時進(jìn)行開發(fā)。
桌面環(huán)境為迭代工程和科研流程進(jìn)行了優(yōu)化。
集成的工具支持同時發(fā)掘數(shù)據(jù)和程序,用更少的時間實踐更多的想法。
文檔面向工程師和科學(xué)家編寫,不是針對計算機(jī)科學(xué)家的。
“使用 MATLAB,我能夠以遠(yuǎn)超其他語言的速度編寫新功能的代碼并調(diào)試代碼錯誤,將開發(fā)時間縮短一半,這對于滿足較短的交付周期很有幫助。當(dāng)客戶看到結(jié)果后,他們會認(rèn)為我每周工作 70 小時。”
——Bancroft Henderson,EMSolutions
成熟的 MATLAB 工具箱為工程師和科學(xué)家所用。
無論是對經(jīng)濟(jì)數(shù)據(jù)建模、分析圖像序列,還是操控機(jī)器人,都需要編程語言支持您使用的特定工具。這些工具不僅要正常工作,也需要完美配合。
Python 依靠社區(qū)創(chuàng)作的工具包為科研和工程應(yīng)用提供功能,它們在質(zhì)量和功能上千差萬別。每個都有其獨(dú)立的文檔,工程師需要花費(fèi)大量的時間整合一份解決方案。
與 Python 不同的是,MATLAB 工具箱為科學(xué)和工程應(yīng)用提供經(jīng)過專業(yè)開發(fā)、嚴(yán)格測試、市場驗證和完備文檔描述的功能。各個工具箱相互配合,也可以與并行計算環(huán)境、GPU 和自動 C 代碼生成整合。它們同步更新,完全不必?fù)?dān)心庫版本不兼容的問題。
相比自定義編程,MATLAB 應(yīng)用程序完成任務(wù)更輕松。
Python 不會為科研和工程應(yīng)用提供支持一體化工作流程的應(yīng)用程序,而是需要自定義編程。這會延緩研發(fā)進(jìn)度,尤其是對于那些高度迭代的工作流程來說。
MATLAB應(yīng)用程序可以讓您立即開始工作。這些交互式應(yīng)用程序提供對大量算法集的直接訪問并可以實時提供可視化反饋。您可以嘗試新的曲面擬合算法、濾波器設(shè)計技術(shù)或機(jī)器學(xué)習(xí)分類算法,并且實時獲取數(shù)據(jù)的運(yùn)算結(jié)果。您可以在獲得所需結(jié)果之前反復(fù)迭代,然后自動生成 MATLAB 程序,以便對您的工作進(jìn)行重制或自動處理。
使用分類學(xué)習(xí)器應(yīng)用程序進(jìn)行模型驗證和評估。
使用 MATLAB 輕松實現(xiàn)從研發(fā)到生產(chǎn)的全流程自動化。
重大的工程和科學(xué)挑戰(zhàn)需要團(tuán)隊間的廣泛合作,集思廣益使想法付諸實施。在這過程中的每次交付都會增加錯誤和延遲的風(fēng)險。
與 Python不同,MATLAB 可在整個工作流程中為團(tuán)隊提供幫助:
MATLAB 適用于 130 多個硬件供應(yīng)商提供的 1,000 多個常用硬件設(shè)備
MATLAB 可集成到您的生產(chǎn)分析應(yīng)用程序
通過擴(kuò)展到集群、云和 GPU 更快速地實現(xiàn)算法并處理大數(shù)據(jù)
可接入 Simulink 和 Stateflow 實現(xiàn)仿真和基于模型的設(shè)計
MATLAB 更快,這意味著更多想法的實現(xiàn)以及解決更棘手的問題。
毋庸置疑,MATLAB 在處理統(tǒng)計、工程計算和數(shù)據(jù)可視化的常見科學(xué)計算任務(wù)時比 Python 更快。圖表中列出了基準(zhǔn)測試結(jié)果。
Python 代碼需要使用重疊和沖突的附加功能來獲得性能優(yōu)勢,如即時編譯和顯式并行編程。這些解決方案往往不完整,或者僅適用于高級編程人員。
MATLAB 承擔(dān)了加速代碼運(yùn)行速度的艱巨任務(wù)。數(shù)學(xué)運(yùn)算分布在計算機(jī)的各個內(nèi)核中、庫調(diào)用得到了高度優(yōu)化,所有代碼實時編譯。只需要添加3 個字符“par”到“for”,您就可以將 for 循環(huán)更改為并行 for 循環(huán)或?qū)?biāo)準(zhǔn)數(shù)組更改為 GPU 或分布式數(shù)組來以并行方式運(yùn)行算法。無需更改代碼,即可在可無限擴(kuò)展的公共云或私有云上運(yùn)行并行算法。
對比 MATLAB 和 Python 在統(tǒng)計、工程計算和數(shù)據(jù)可視化等領(lǐng)域的科學(xué)計算任務(wù)中的執(zhí)行時間。每個點(diǎn)代表每種語言中單次測試運(yùn)行的時間。
MATLAB 提供可信賴的運(yùn)算結(jié)果。
工程師和科學(xué)家信賴 MATLAB 幫他們將宇宙飛船送往冥王星、使接受器官移植的患者與器官捐獻(xiàn)者匹配,或者只是為管理層編制一份報告。這份信任建立在無差錯的數(shù)值計算上,來自于 MATLAB 在數(shù)值分析研究領(lǐng)域的強(qiáng)大根基和完美表現(xiàn)。
MathWorks 的工程師團(tuán)隊每天會對 MATLAB 代碼庫運(yùn)行數(shù)百萬次測試,持續(xù)不斷驗證代碼的質(zhì)量。
-
機(jī)器人
+關(guān)注
關(guān)注
213文章
29498瀏覽量
211565 -
大數(shù)據(jù)
+關(guān)注
關(guān)注
64文章
8952瀏覽量
139483
發(fā)布評論請先 登錄
MATLAB在工程中的應(yīng)用
如何用FOC電機(jī)控制MATLAB仿真!
如何使用MATLAB實現(xiàn)一維時間卷積網(wǎng)絡(luò)

求LabVIEW程序代做,關(guān)于噪聲測量方面,需要matlab與labview混合編程,涉及優(yōu)化算法、PID控制等,可帶價聯(lián)系
MATLAB中的矩陣索引

評論