2017年9月21日 星期四

數學軟體四大家 比較與分析(下)

                上次和大家分享了數學軟體四大家的前兩項MapleMATLAB,相信大家有更清楚數學軟體之間的差別,這次要再繼續跟大家分享MathCAD Mathematica,希望可以更完整的清楚比較四個數學軟體的差別。

3. MathCad Series



    MathCAD是美國Mathsoft公司推出的一個互動式的數學系統軟體。從早期的DOS下的1.0Windows下的4.0版本,到今日的8.0版本,功能也從簡單的數值計算,直至引用Maple強大的符號計算能力,使得它發生了一個質的飛躍。

    MathCAD是集文本編輯、數學計算、程式編輯和模擬于一體的軟體。MathCAD7.0 Professional(專業版)運行在Win9X/NT下,它的主要特點是輸入格式與人們習慣的數學書寫格式很近似,採用WYSWYG(所見所得)介面,特別適合一般無須進行複雜程式設計或要求比較特殊的計算。MathCAD 7.0 Professional 還帶有一個程式編輯器,對於一般比較短小,或者要求計算速度比較低時,採用它也是可以的。這個程式編輯器的優點是語法特別簡單。

    MathCAD可以看作是一個功能強大的計算器,沒有很複雜的規則;同時它也可以和WordLotusWPS2000等文字處理軟體很好地配合使用,可以把它當作一個出色的全螢幕數學公式編輯器。

4. Mathematica Series



    Mathematica是由美國物理學家Stephen Wolfram領導的Wolfram Research開發的數學系統軟體。它擁有強大的數值計算和符號計算能力,在這一方面與Maple類似,但它的符號計算不是基於Maple上的,而是自己開發的。

    Mathematica的基本系統主要是用C語言開發的,因而可以比較容易地移植到各種平臺上,Mathematica是一個互動式的計算系統,計算是在使用者和Mathematica互相交換、傳遞資訊資料的過程中完成的。Mathematica系統所接受的命令都被稱作運算式,系統在接受了一個運算式之後就對它進行處理,然後再把計算結果返回。Mathematica對於輸入形式有比較嚴格的規定,使用者必須按照系統規定的數學格式輸入,系統才能正確地處理,不過由於3.0版本引入輸入面板,並且可以修改、重組輸入面板,因此以前版本輸入指令時需要不斷切換大小寫字元的繁瑣方式得到很好的改善。5.1版本可以用各種格式保存檔和剪貼內容,包括RTFHTMLBMP等格式。

    Mathematica的符號功能是最強的。且它的運行構架是最優的。符號運算效力與解析能力是最好的(數值運算當然是Matlab最好)。它的構架由核心系統與前端系統構成。兩個系統既合作又獨立。這個比Matlab的構架都要優秀。它是專為研究人員開發的。至於Maple的符號能力根本就比Mathematica弱很多的。它基本上是為中學生與大學生之學習研發的。不足以進行物理學與技術科學的運演。而Mathematica是最好的物理學科研的工具。Matlab是最好的技術科學數值求解的工具。朋友們應該知了。數值類的數學軟體是Matlab最好最全。符號分析類的數學軟體是Mathematica最好。

優勢:
Ÿ   符號計算非常強大,可解的方程類型最廣泛
Ÿ   非常強大和靈活的語言,完成相同的工作,和同類語言相比代碼量往往最少
Ÿ   語言高度統一,支持相當多的編程範式,過程式、函數式、元編程,邏輯編程、基於規則…
Ÿ   循環比較慢,可以用Compile加速,或使用MapTableNest等代替循環
Ÿ   許多內置函數具備AAS機制(AutomaticAlgorithmSelection)
Ÿ   擅長高精度和大數計算,圖形方面的函數很豐富,默認畫圖比MatlabMaple更好看
Ÿ   介面美觀,輸入公式很方便
Ÿ   幫助文檔很友好

缺點:
Ÿ   價格較高,比matlab更貴(Matlab的價格取決於你要哪些工具箱)
Ÿ   向量化的操作比Matlab稍慢,有時比Matlab更耗內存
Ÿ   代碼調試不是很方便,但可以用Wolfram Workbench(基於EclipseIDE)改善
Ÿ   程序語言學習曲線陡峭,排除熟悉SchemeHaskell等函數式語言或者作為高級計算器使用的人
Ÿ   Mathematica的語法和常見的過程式程序語言有較大不同,雖然也可以作為過程式語言來用,但代碼的和速度和優雅程度就大打折扣了)

本文參考自大聖眾包
經本人編修 版權所屬為大聖眾包

四大軟體總比較

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

    如果要求計算精度、符號計算和程式設計方面的話,最好同時使用MapleMathematica,它們在符號處理方面各具特色,有些Maple不能處理的,Mathematica卻能處理,諸如某些積分、求極限等方面,這些都是比較特殊的。

    如果要求進行矩陣方面或圖形方面的處理,則選擇MATLAB,它的矩陣計算和圖形處理方面則是它的強項,同時利用MATLABNoteBook功能,結合Word6.0/7.0的編輯功能,可以很方便地處理科技文章。

    經過這兩次對於數學軟體的比較與分析,大家是不是更清楚數學軟體之間的差別了呢?應該更了解哪一個才是最適合自己的吧!希望可以幫助到大家,謝謝大家,下次見囉~

沒有留言:

張貼留言

防護、掃描新革命!卡巴斯基2018隆重出場!!

        哈囉各位 ~ 還記得先前向你們分享的「 2017 前三大防毒軟體介紹」嗎?(還沒看過的點這邊: https://iquratorwws.blogspot.tw/2017/08/2017-rank-winner-2nd-place-3rd-place.html )...