推崇Mathematica的那些人,理由是什麼?

符號計算不如Maple

數值計算不如Matlab

統計和畫圖不如R

編程不如Python

難道不是雞肋般的存在嗎


雞肋這兩個字讓我感覺到來自題主深深的嘲諷。。正好以前寫過一篇《我為什麼喜歡Mathematica!》,直接轉來吧。。

===========================

算了。。。試了一下,到知乎這裡太那個了。。直接貼地址吧。。。我為什麼喜歡Mathematica!

============================

直接複製過來圖也丟了。。。算了。。。

============================

再看一下題主說的,前兩個MMA肯定不服,第三個R沒用過不清楚。。。第四個。。。雖然我覺得Python很好用,但是什麼叫做「編程不如」??

===========================

再次,我很討厭雞肋這個詞!!


關於Mathematica和R的畫圖能力的比較,讓我想起之前看到別人在Mathematica.StackExchange上的一個相關的comment,如果題主覺得是他的R水平太次的話不妨親自上手試試:

graphics - How to generate a random snowflake

另外,我個人覺得這個問答特別能體現Mathematica的符號計算能力在畫圖這項工作上的優勢:

plotting - How can I draw a 3D cross-section of a 3-torus embedded in 4D Euclidean space?

ps.關於別的問題,MATLAB我不會,所以不評價(但是我至少可以說一句主觀的話:MATLAB從各種意義上來講都真丑啊……)

Python也不熟(正在學),不知道meta-programming有沒有Mathematica這麼方便……


我恰好對你提到的軟體都略知一二,你有可能是我同行。

mathematica的編程能力很強大,支持多種編程範式,而且程序通常比其他語言簡潔的多。而Python主要是命令式的,函數式的相比mma弱的多。為什麼說不如Python,請舉例。

關於符號運算,和maple各有所長,你可以搜索一下第三方的評價。

數值運算方面,和MATLAB比,功能少一些,但同樣功能的比較上並不遜色。

統計方面,r語言是專業做這個的,mma確實比不上,但畫圖上,在默認設置上,mma更好看一些。換句話來說,R要畫的漂亮,必須很仔細的設置圖形上的元素。

最後,我不知道你發這個帖子的動機是什麼,你認為mma這麼雞肋,乾脆別用就是了,何必來得罪mma的用戶。如果是真心想知道答案的,提問時應該謙虛禮貌一些。


用過Mathematica的老本行,符號計算功能,沒用過Maple, 不太好比較, 但是用過一點Sage和Maxima這類的開源軟體, 至少說Mathematica在我的科研過程中給我很大的幫助, 節省了很多公式推導的時間, 同時在我的博士課題研究中起到了關鍵作用。

但是我覺得崇拜一個東西並不意味著貶低其他東西, 論符號計算的資歷還是Maxima更古老, 其他軟體各有所長, 我現在是Mathematica,Matlab, Fortran, Gnuplot, Python混著用, 什麼好用用什麼, 都是不錯的工具, 各有所長, 為什麼要抬高一個貶低另一個呢?


題主問的問題不是很明確, 什麼叫"畫圖不如"? 什麼叫"編程不如"? 我懷疑題主是否是來黑 mma 的.

##符號計算(手動 markdown)

===

關於符號計算, 請看看這篇網頁: 計算機代數系統比較. 雖然不知道題主說的"mma 符號計算不如 maple"是否屬實(沒有比較過), 但至少在功能方面, mma 是唯一全綠的軟體.

Wolfram 本人說過"Everything in Mathematica is a symbol"(現場聽到的), mma 最看重的也是 symbolic 化(這是題外話).

##畫圖

===

再看畫圖, 個人覺得 mma 默認的畫圖 style 不知道比 MATLAB 默認的畫圖 style 高到哪裡去了, 而且"跟 R 不能比"這種話說得也太絕對, 只要你會設定, mma 沒有滿足不了你的圖. 比如下面這張圖, 短短兩句話, 能畫的如此漂亮, 反正我第一次看到時被驚艷了. mma 這樣的例子數不勝數.

這也是 mma 畫的, 有名的 xkcd style (plotting - xkcd-style graphs):

還望題主明確你的問題, 以防被打臉.

##功能

===

至於 mma 的功能, AA 大大已經將 se 的帖子搬過來並翻譯成中文了, 見 Mathematica 到底有多厲害? - Wolfram Mathematica . 如果你覺得這很雞肋, 我只能說看個人了.

另外, 說下推崇的理由,

  1. 簡單, 學習曲線平緩, 自帶幫助文檔非常給力
  2. 好用
  3. 功能強大無需多言

有時候, 喜歡/推崇就這麼簡單. 即使它不是最強大的, 用起來順手, 不就可以了么?

總覺得問題帶著戾氣, 真反感. 那你怎麼解釋很多人用 word? (哈哈哈, 開玩笑, 別撕逼啊)

利益相關: 曾在學習時用過 mma, 不過不想盜版所以現在主要用 python 和 R.


我個人是因為剛上手MATLAB的時候,完全不知道怎麼讓符號計算的結果用分數線表示。幾十個括弧套來套去眼睛都花了,根本看不清哪個隊那個。後來用了mathematica就沒這個問題了。

  最後附上VCZH大大的一句話:真正牛逼的人從來不通過炫耀自己使用的工具來顯示自己有多牛逼。


誰說符號計算不如Maple了?

第二個服,但是和Intel Fortran比試個?(update:第二個也被不服了)

誰說畫圖不如R了?(用R排版Paper試試)(update:要更有說服力的作圖例子請參考官方手冊)

誰說編程不如Python了?(Python元編程你打算用dis嗎?試試多線程+SIMD?試試模式匹配?)


題主說的前兩條不成立,後兩條嘛……

1. R是專門做統計的

2. mathematica本來就不是作為一門通用語言用的,和python比沒有意義。

mathematica優點在於」簡單」,很多時候不需要太多知識就能用。比如一些數值演算法你根本不用知道,直接就能用,matlab那一組odexx簡直不友好。當然mathematica也有不友好的地方。

maple沒用過,但說mathematica雞肋顯然不客觀,而且就身邊的情況來講,maple幾乎沒人用。


編程不如python?是說數值模擬么,那fortran都沒說話呢

mathematica強大之處是在wolfam支持的各自函數庫,浙大聚變中心用的就是mma做的模擬。

不過說實話,沒有什麼雞肋,是你鶸。


本來想評論下就算了可是沒法匿名評。

樓主你要釣魚好歹也掛點餌。要是你能為自己的每條論(挑)點(釁)都配個把例子的話,我想大伙兒還是能有點鬥志的。

總之已舉報。

另, @Shichao Gao 版本10已經支持多步撤銷。沒錢買WorkBench可以用http://mathematicaplugin.halirutan.de/。此外這種「靜態」的IDE和Mathematica自帶的筆記本其實是各有千秋,沒有誰比誰優越一說。關於筆記本的動態交互的意義,在這裡有所談及:http://zhidao.baidu.com/question/333281440。

--------

大家好像還是燃起來了?那我也補兩個鏈。誰說符號計算不如Maple了?:

http://www.zhihu.com/question/23433616

http://www.zhihu.com/question/23957496

--------

@Sherlock Nick 「還望題主明確你的問題, 以防被打臉. 」 我覺得已經被打了,並且如果樓主如果明確了他的問題臉恐怕還會更腫。

「……學習曲線平緩……」 關於這個,普遍的說法似乎還是認為學習曲線較陡(指核心語言部分?),當然因為我個人只會 Mathematica 所以沒什麼概念。


我之所以用Mathematica是因為我的數學太弱了。


Mathematica能畫時滯微分方程的數值解曲線么?


推薦閱讀:

MATLAB 的符號計算原理是什麼,為什麼不能編譯為 C?
有關matlab循環怎麼改成矩陣運算?
用matlab求矩陣的最大特徵值怎麼求?AHP分析法中,最大特徵值有虛部嗎?是否可以求出所有特徵值找最大的?
matlab矩陣對角元元素修改問題?
幾億的數據讀取作圖怎樣做到速度快呢?

TAG:MATLAB | WolframMathematica | 釣魚廣義的 |