在科技和工程界上著名也比較流行的數學軟件主要有四個, 它們分別為 MATLAB、MathCAD、Maple 和 Mathematica。
四款軟件在不同的領域或者目標方向, 可謂各有特色。今天帶來MathCAD與MATLAB、Maple 、Mathematica的優缺點比較文章源自四五設計網-http://www.133122.cn/48763.html
MathCAD是美國PTC公司旗下MathSoft子公司推出的一個交互式的數學軟件。MathCAD是集科學編輯、數學計算、和仿真于一體的軟件,主要特點是輸入界面比較友好,所見即所得。MathCAD可視作一個功能強大的計算器,沒有復雜的使用規則;同時它和Word、Wps等文字處理軟件配合使用良好。文章源自四五設計網-http://www.133122.cn/48763.html
優點:文章源自四五設計網-http://www.133122.cn/48763.html
符號計算非常強大,可解的方程類型最廣泛文章源自四五設計網-http://www.133122.cn/48763.html
非常強大和靈活的語言,完成相同的工作,和同類語言相比代碼量往往最少文章源自四五設計網-http://www.133122.cn/48763.html
語言高度統一,支持相當多的編程范式,過程式、函數式、元編程,邏輯編程、基于規則..循環比較慢,可以用Compile加速,或使用Map、Table、Nest等代替循環。許多內置函數具備AAS機制(AutomaticAlgorithmSelection)文章源自四五設計網-http://www.133122.cn/48763.html
擅長高精度和大數計算,圖形方面的函數很豐富,默認畫圖比Matlab和Maple更好看文章源自四五設計網-http://www.133122.cn/48763.html
界面美觀,輸入公式很方便文章源自四五設計網-http://www.133122.cn/48763.html
幫助文檔很友好文章源自四五設計網-http://www.133122.cn/48763.html
缺點:文章源自四五設計網-http://www.133122.cn/48763.html
價格較高,比matlab更貴(Matlab的價格取決于你要哪些工具箱)
向量化的操作比Matlab稍慢,有時比Matlab更耗內存
代碼調試不是很方便,但可以用Wolfram Workbench (基于Eclipse的IDE) 改善
程序語言學習曲線陡峭,排除熟悉Scheme、Haskel等函數式語言或者作為高級計算器使用的人
(Mathematica的語法和常見的過程式程序語言有較大不同,雖然也可以作為過程式語言來用,但代碼的和速度和優雅程度就大打折扣了)
MATLAB?
MATLAB 原是矩陣實驗室 (Matrix Laboratory), 在 70 年代用來提供 Linpack 和 Eispack 軟件包的接口程序, 采用 C 語言編寫。從 80 年代出現 3.0 的 DOS 版本, 逐漸成為科技計算、視圖交互系統和程序語言。
MATLAB 程序主要由主程序和各種工具包組成, 其中主程序包含數百個內部核心函數, 工具包則包括復雜系統仿真、信號處理工具包、系統識別工具包、優化工具包、神經網絡工具包、控制系統工具包、μ分析和綜合工具包、樣條工具包、符號數學工具包、圖像處理工具包、統計工具包等。
MATLAB 是數值計算的先鋒, 它以矩陣作為基本數據單位, 在應用線性代數、數理統計、自動控制、數字信號處理、動態系統仿真方面已經成為首選工具, 同時也是科研工作人員和大學生、研究生進行科學研究的得力工具。MATLAB 在輸入方面也很方便, 可以使用內部的 Editor 或者其他任何字符處理器, 同時它還可以與 Word6.0/7.0 結合在一起, 在 Word 的頁面里直接調用 MATLAB 的大部分功能, 使 Word 具有特殊的計算能力。
優勢:
線性代數和數值計算方面優勢顯著,
向量化運算往往比同類軟件更快,
擁有超多工具箱, 仿真, 圖像處理, 信號處理, 金融, 統計, 優化。…
程序語言比較易學, 編輯和調試環境不錯
方便構建 GUI
缺點:
不是原生支持符號計算(符號計算遠不止是推導公式), 新版的 mupad 內核還不錯, 但是和 Mathematica、Maple 比有明顯差距, 不論是深度、廣度和速度
遞歸特別慢, 比 Mathematica 和 Maple 以及常見的腳本語言都慢
在一些數學領域相對薄弱, 如數論, 圖論, 離散數學等
高精度和大數計算比較慢(如精確計算 100 萬的階乘或π的前 500 萬位)
工具箱之間的協作能力不是很好
界面不太好看(新版 R2013a 的 Ribbon 界面不錯)
缺省畫圖不美觀, 鋸齒, 系統函數命名不夠規范
Mathematica
Mathematica 是由美國物理學家 Stephen Wolfram 領導的 Wolfram Research 開發的數學系統軟件。它擁有強大的數值計算和符號計算能力, 在這一方面與 Maple 類似, 但它的符號計算不是基于 Maple 上的, 而是自己開發的。
Mathematica 的基本系統主要是用 C 語言開發的, 因而可以比較容易地移植到各種平臺上, Mathematica 是一個交互式的計算系統, 計算是在用戶和 Mathematica 互相交換、傳遞信息數據的過程中完成的。Mathematica 系統所接受的命令都被稱作表達式, 系統在接受了一個表達式之后就對它進行處理, 然后再把計算結果返回。Mathematica 對于輸入形式有比較嚴格的規定, 用戶必須按照系統規定的數學格式輸入, 系統才能正確地處理, 不過由于 3.0 版本引入輸入面板, 并且可以修改、重組輸入面板, 因此以前版本輸入指令時需要不斷切換大小寫字符的繁瑣方式得到很好的改善。3.0 版本可以用各種格式保存文件和剪貼內容, 包括 RTF、HTML、BMP 等格式。
Mathematica 的符號功能是最強的, 其運行構架也是最優的。它的構架由核心系統與前端系統構成。兩個系統既合作又獨立, 這比 Matlab 的構架要合理。Mathematica 是專為研究人員開發的。橫向比較的話, Mathematica 的符號能力比 Maple 強很多, Maple 基本上是為中學生與大學生之學習研發的, 不適合進行物理學與技術科學的運演; 而 Mathematica 是最好的物理學科研的工具, Matlab 是最好的技術科學數值求解的工具。
就做數學和應用數學的能力來說 Mathematica 不如 Maple; Mathematica 的內核不如 Maple 穩定(計算速度較 Maple 慢, 我是說純粹的計算時間, 不是輸入命令的時間, 目前的 Maple 的 Java 界面比較失敗, 讓人感覺算 Maple 算得慢, 其實不是這樣的)。Mathematica 的誘人之處是與其它數值軟件相比可以做符號運算, 與 Maple 相比二次開發性好, 工具包比 Maple 做的好。此外, 其自帶的語言是面向對象的, 很厲害, 很靈活。
優勢:
符號計算非常強大, 可解的方程類型最廣泛
非常強大和靈活的語言, 完成相同的工作, 和同類語言相比代碼量往往最少
語言高度統一, 支持相當多的編程范式, 過程式、函數式、元編程, 邏輯編程、基于規則。…
循環比較慢, 可以用 Compile 加速, 或使用 Map、Table、Nest 等代替循環
許多內置函數具備 AAS 機制 (AutomaticAlgorithmSelection)
擅長高精度和大數計算, 圖形方面的函數很豐富, 默認畫圖比 Matlab 和 Maple 更好看
界面美觀, 輸入公式很方便
幫助文檔很友好
缺點:
價格較高, 比 matlab 更貴 (Matlab 的價格取決于你要哪些工具箱)
向量化的操作比 Matlab 稍慢, 有時比 Matlab 更耗內存
代碼調試不是很方便, 但可以用 Wolfram Workbench(基于 Eclipse 的 IDE) 改善
程序語言學習曲線陡峭, 排除熟悉 Scheme、Haskell 等函數式語言或者作為高級計算器使用的人
(Mathematica 的語法和常見的過程式程序語言有較大不同, 雖然也可以作為過程式語言來用, 但代碼的和速度和優雅程度就大打折扣了)
三種軟件的比較
選用何種數學軟件? 如果僅僅是要求一般的計算或者是普通用戶日常使用, 首選的是 MathCAD, 它在高等數學方面所具有的能力, 足夠一般客戶的要求, 而且它的輸入界面也特別友好。
如果要求計算精度、符號計算和編程方面的話, 最好同時使用 Maple 和 Mathematica, 它們在符號處理方面各具特色, 有些 Maple 不能處理的, Mathematica 卻能處理, 諸如某些積分、求極限等方面, 這些都是比較特殊的。如果要求進行矩陣方面或圖形方面的處理, 則選擇 MATLAB, 它的矩陣計算和圖形處理方面則是它的強項, 同時利用 MATLAB 的 NoteBook 功能, 結合 Word6.0/7.0 的編輯功能, 可以很方便地處理科技文章。
如果僅僅是要求一般的計算或者是普通用戶日常使用, 首選的是 MathCAD, 它在高等數學方面所具有的能力, 足夠一般客戶的要求, 而且它的輸入界面也特別友好。如果要求計算精度、符號計算和編程方面的話, 最好同時使用 Maple 和 Mathematica, 它們在符號處理方面各具特色, 有些 Maple 不能處理的, Mathematica 卻能處理, 諸如某些積分、求極限等方面, 這些都是比較特殊的。如果要求進行矩陣方面或圖形方面的處理, 則選擇 MATLAB, 它的矩陣計算和圖形處理方面則是它的強項, 同時利用 MATLAB 的 NoteBook 功能, 結合 Word 的編輯功能, 可以很方便地編輯科技文章。


評論