MathCAD與MATLAB、Mathematica的優(yōu)缺點(diǎn)比較

在科技和工程界上著名也比較流行的數(shù)學(xué)軟件主要有四個(gè), 它們分別為 MATLAB、MathCAD、Maple 和 Mathematica。

四款軟件在不同的領(lǐng)域或者目標(biāo)方向, 可謂各有特色。今天帶來(lái)MathCAD與MATLAB、Maple 、Mathematica的優(yōu)缺點(diǎn)比較文章源自四五設(shè)計(jì)網(wǎng)-http://m.wasochina.com/48763.html

MathCAD是美國(guó)PTC公司旗下MathSoft子公司推出的一個(gè)交互式的數(shù)學(xué)軟件。MathCAD是集科學(xué)編輯、數(shù)學(xué)計(jì)算、和仿真于一體的軟件,主要特點(diǎn)是輸入界面比較友好,所見(jiàn)即所得。MathCAD可視作一個(gè)功能強(qiáng)大的計(jì)算器,沒(méi)有復(fù)雜的使用規(guī)則;同時(shí)它和Word、Wps等文字處理軟件配合使用良好。文章源自四五設(shè)計(jì)網(wǎng)-http://m.wasochina.com/48763.html

優(yōu)點(diǎn):文章源自四五設(shè)計(jì)網(wǎng)-http://m.wasochina.com/48763.html

符號(hào)計(jì)算非常強(qiáng)大,可解的方程類(lèi)型最廣泛文章源自四五設(shè)計(jì)網(wǎng)-http://m.wasochina.com/48763.html

非常強(qiáng)大和靈活的語(yǔ)言,完成相同的工作,和同類(lèi)語(yǔ)言相比代碼量往往最少文章源自四五設(shè)計(jì)網(wǎng)-http://m.wasochina.com/48763.html

語(yǔ)言高度統(tǒng)一,支持相當(dāng)多的編程范式,過(guò)程式、函數(shù)式、元編程,邏輯編程、基于規(guī)則..循環(huán)比較慢,可以用Compile加速,或使用Map、Table、Nest等代替循環(huán)。許多內(nèi)置函數(shù)具備AAS機(jī)制(AutomaticAlgorithmSelection)文章源自四五設(shè)計(jì)網(wǎng)-http://m.wasochina.com/48763.html

擅長(zhǎng)高精度和大數(shù)計(jì)算,圖形方面的函數(shù)很豐富,默認(rèn)畫(huà)圖比Matlab和Maple更好看文章源自四五設(shè)計(jì)網(wǎng)-http://m.wasochina.com/48763.html

界面美觀,輸入公式很方便文章源自四五設(shè)計(jì)網(wǎng)-http://m.wasochina.com/48763.html

幫助文檔很友好文章源自四五設(shè)計(jì)網(wǎng)-http://m.wasochina.com/48763.html

缺點(diǎn):文章源自四五設(shè)計(jì)網(wǎng)-http://m.wasochina.com/48763.html

價(jià)格較高,比matlab更貴(Matlab的價(jià)格取決于你要哪些工具箱)

向量化的操作比Matlab稍慢,有時(shí)比Matlab更耗內(nèi)存

代碼調(diào)試不是很方便,但可以用Wolfram Workbench (基于Eclipse的IDE) 改善

程序語(yǔ)言學(xué)習(xí)曲線(xiàn)陡峭,排除熟悉Scheme、Haskel等函數(shù)式語(yǔ)言或者作為高級(jí)計(jì)算器使用的人
(Mathematica的語(yǔ)法和常見(jiàn)的過(guò)程式程序語(yǔ)言有較大不同,雖然也可以作為過(guò)程式語(yǔ)言來(lái)用,但代碼的和速度和優(yōu)雅程度就大打折扣了)

MATLAB?

MATLAB 原是矩陣實(shí)驗(yàn)室 (Matrix Laboratory), 在 70 年代用來(lái)提供 Linpack 和 Eispack 軟件包的接口程序, 采用 C 語(yǔ)言編寫(xiě)。從 80 年代出現(xiàn) 3.0 的 DOS 版本, 逐漸成為科技計(jì)算、視圖交互系統(tǒng)和程序語(yǔ)言。

MATLAB 程序主要由主程序和各種工具包組成, 其中主程序包含數(shù)百個(gè)內(nèi)部核心函數(shù), 工具包則包括復(fù)雜系統(tǒng)仿真、信號(hào)處理工具包、系統(tǒng)識(shí)別工具包、優(yōu)化工具包、神經(jīng)網(wǎng)絡(luò)工具包、控制系統(tǒng)工具包、μ分析和綜合工具包、樣條工具包、符號(hào)數(shù)學(xué)工具包、圖像處理工具包、統(tǒng)計(jì)工具包等。

MATLAB 是數(shù)值計(jì)算的先鋒, 它以矩陣作為基本數(shù)據(jù)單位, 在應(yīng)用線(xiàn)性代數(shù)、數(shù)理統(tǒng)計(jì)、自動(dòng)控制、數(shù)字信號(hào)處理、動(dòng)態(tài)系統(tǒng)仿真方面已經(jīng)成為首選工具, 同時(shí)也是科研工作人員和大學(xué)生、研究生進(jìn)行科學(xué)研究的得力工具。MATLAB 在輸入方面也很方便, 可以使用內(nèi)部的 Editor 或者其他任何字符處理器, 同時(shí)它還可以與 Word6.0/7.0 結(jié)合在一起, 在 Word 的頁(yè)面里直接調(diào)用 MATLAB 的大部分功能, 使 Word 具有特殊的計(jì)算能力。

優(yōu)勢(shì):

線(xiàn)性代數(shù)和數(shù)值計(jì)算方面優(yōu)勢(shì)顯著,
向量化運(yùn)算往往比同類(lèi)軟件更快,
擁有超多工具箱, 仿真, 圖像處理, 信號(hào)處理, 金融, 統(tǒng)計(jì), 優(yōu)化。…
程序語(yǔ)言比較易學(xué), 編輯和調(diào)試環(huán)境不錯(cuò)
方便構(gòu)建 GUI

缺點(diǎn):

不是原生支持符號(hào)計(jì)算(符號(hào)計(jì)算遠(yuǎn)不止是推導(dǎo)公式), 新版的 mupad 內(nèi)核還不錯(cuò), 但是和 Mathematica、Maple 比有明顯差距, 不論是深度、廣度和速度
遞歸特別慢, 比 Mathematica 和 Maple 以及常見(jiàn)的腳本語(yǔ)言都慢
在一些數(shù)學(xué)領(lǐng)域相對(duì)薄弱, 如數(shù)論, 圖論, 離散數(shù)學(xué)等
高精度和大數(shù)計(jì)算比較慢(如精確計(jì)算 100 萬(wàn)的階乘或π的前 500 萬(wàn)位)
工具箱之間的協(xié)作能力不是很好
界面不太好看(新版 R2013a 的 Ribbon 界面不錯(cuò))
缺省畫(huà)圖不美觀, 鋸齒, 系統(tǒng)函數(shù)命名不夠規(guī)范

Mathematica

Mathematica 是由美國(guó)物理學(xué)家 Stephen Wolfram 領(lǐng)導(dǎo)的 Wolfram Research 開(kāi)發(fā)的數(shù)學(xué)系統(tǒng)軟件。它擁有強(qiáng)大的數(shù)值計(jì)算和符號(hào)計(jì)算能力, 在這一方面與 Maple 類(lèi)似, 但它的符號(hào)計(jì)算不是基于 Maple 上的, 而是自己開(kāi)發(fā)的。

Mathematica 的基本系統(tǒng)主要是用 C 語(yǔ)言開(kāi)發(fā)的, 因而可以比較容易地移植到各種平臺(tái)上, Mathematica 是一個(gè)交互式的計(jì)算系統(tǒng), 計(jì)算是在用戶(hù)和 Mathematica 互相交換、傳遞信息數(shù)據(jù)的過(guò)程中完成的。Mathematica 系統(tǒng)所接受的命令都被稱(chēng)作表達(dá)式, 系統(tǒng)在接受了一個(gè)表達(dá)式之后就對(duì)它進(jìn)行處理, 然后再把計(jì)算結(jié)果返回。Mathematica 對(duì)于輸入形式有比較嚴(yán)格的規(guī)定, 用戶(hù)必須按照系統(tǒng)規(guī)定的數(shù)學(xué)格式輸入, 系統(tǒng)才能正確地處理, 不過(guò)由于 3.0 版本引入輸入面板, 并且可以修改、重組輸入面板, 因此以前版本輸入指令時(shí)需要不斷切換大小寫(xiě)字符的繁瑣方式得到很好的改善。3.0 版本可以用各種格式保存文件和剪貼內(nèi)容, 包括 RTF、HTML、BMP 等格式。

Mathematica 的符號(hào)功能是最強(qiáng)的, 其運(yùn)行構(gòu)架也是最優(yōu)的。它的構(gòu)架由核心系統(tǒng)與前端系統(tǒng)構(gòu)成。兩個(gè)系統(tǒng)既合作又獨(dú)立, 這比 Matlab 的構(gòu)架要合理。Mathematica 是專(zhuān)為研究人員開(kāi)發(fā)的。橫向比較的話(huà), Mathematica 的符號(hào)能力比 Maple 強(qiáng)很多, Maple 基本上是為中學(xué)生與大學(xué)生之學(xué)習(xí)研發(fā)的, 不適合進(jìn)行物理學(xué)與技術(shù)科學(xué)的運(yùn)演; 而 Mathematica 是最好的物理學(xué)科研的工具, Matlab 是最好的技術(shù)科學(xué)數(shù)值求解的工具。

就做數(shù)學(xué)和應(yīng)用數(shù)學(xué)的能力來(lái)說(shuō) Mathematica 不如 Maple; Mathematica 的內(nèi)核不如 Maple 穩(wěn)定(計(jì)算速度較 Maple 慢, 我是說(shuō)純粹的計(jì)算時(shí)間, 不是輸入命令的時(shí)間, 目前的 Maple 的 Java 界面比較失敗, 讓人感覺(jué)算 Maple 算得慢, 其實(shí)不是這樣的)。Mathematica 的誘人之處是與其它數(shù)值軟件相比可以做符號(hào)運(yùn)算, 與 Maple 相比二次開(kāi)發(fā)性好, 工具包比 Maple 做的好。此外, 其自帶的語(yǔ)言是面向?qū)ο蟮? 很厲害, 很靈活。

優(yōu)勢(shì):

符號(hào)計(jì)算非常強(qiáng)大, 可解的方程類(lèi)型最廣泛
非常強(qiáng)大和靈活的語(yǔ)言, 完成相同的工作, 和同類(lèi)語(yǔ)言相比代碼量往往最少
語(yǔ)言高度統(tǒng)一, 支持相當(dāng)多的編程范式, 過(guò)程式、函數(shù)式、元編程, 邏輯編程、基于規(guī)則。…
循環(huán)比較慢, 可以用 Compile 加速, 或使用 Map、Table、Nest 等代替循環(huán)
許多內(nèi)置函數(shù)具備 AAS 機(jī)制 (AutomaticAlgorithmSelection)
擅長(zhǎng)高精度和大數(shù)計(jì)算, 圖形方面的函數(shù)很豐富, 默認(rèn)畫(huà)圖比 Matlab 和 Maple 更好看
界面美觀, 輸入公式很方便
幫助文檔很友好

缺點(diǎn):

價(jià)格較高, 比 matlab 更貴 (Matlab 的價(jià)格取決于你要哪些工具箱)
向量化的操作比 Matlab 稍慢, 有時(shí)比 Matlab 更耗內(nèi)存
代碼調(diào)試不是很方便, 但可以用 Wolfram Workbench(基于 Eclipse 的 IDE) 改善
程序語(yǔ)言學(xué)習(xí)曲線(xiàn)陡峭, 排除熟悉 Scheme、Haskell 等函數(shù)式語(yǔ)言或者作為高級(jí)計(jì)算器使用的人
(Mathematica 的語(yǔ)法和常見(jiàn)的過(guò)程式程序語(yǔ)言有較大不同, 雖然也可以作為過(guò)程式語(yǔ)言來(lái)用, 但代碼的和速度和優(yōu)雅程度就大打折扣了)

三種軟件的比較

選用何種數(shù)學(xué)軟件? 如果僅僅是要求一般的計(jì)算或者是普通用戶(hù)日常使用, 首選的是 MathCAD, 它在高等數(shù)學(xué)方面所具有的能力, 足夠一般客戶(hù)的要求, 而且它的輸入界面也特別友好。

如果要求計(jì)算精度、符號(hào)計(jì)算和編程方面的話(huà), 最好同時(shí)使用 Maple 和 Mathematica, 它們?cè)诜?hào)處理方面各具特色, 有些 Maple 不能處理的, Mathematica 卻能處理, 諸如某些積分、求極限等方面, 這些都是比較特殊的。如果要求進(jìn)行矩陣方面或圖形方面的處理, 則選擇 MATLAB, 它的矩陣計(jì)算和圖形處理方面則是它的強(qiáng)項(xiàng), 同時(shí)利用 MATLAB 的 NoteBook 功能, 結(jié)合 Word6.0/7.0 的編輯功能, 可以很方便地處理科技文章。

如果僅僅是要求一般的計(jì)算或者是普通用戶(hù)日常使用, 首選的是 MathCAD, 它在高等數(shù)學(xué)方面所具有的能力, 足夠一般客戶(hù)的要求, 而且它的輸入界面也特別友好。如果要求計(jì)算精度、符號(hào)計(jì)算和編程方面的話(huà), 最好同時(shí)使用 Maple 和 Mathematica, 它們?cè)诜?hào)處理方面各具特色, 有些 Maple 不能處理的, Mathematica 卻能處理, 諸如某些積分、求極限等方面, 這些都是比較特殊的。如果要求進(jìn)行矩陣方面或圖形方面的處理, 則選擇 MATLAB, 它的矩陣計(jì)算和圖形處理方面則是它的強(qiáng)項(xiàng), 同時(shí)利用 MATLAB 的 NoteBook 功能, 結(jié)合 Word 的編輯功能, 可以很方便地編輯科技文章。

繼續(xù)閱讀
我的微信
微信掃一掃
weinxin
我的微信
惠生活福利社
微信掃一掃
weinxin
我的公眾號(hào)
 

發(fā)表評(píng)論

匿名網(wǎng)友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

拖動(dòng)滑塊以完成驗(yàn)證