如何系統的學習Mathematica?

RT, 以及什麼書籍推薦,THX~


零基礎的可以看看 Wolfram Language Tutorial: A Fast Introduction for Programmers ,官方的快速入門,對浩繁的功能選擇了最核心的一部份做的極簡風格的入門教程,一個小時就入門。2015 年新出了一本 An Elementary Introduction to the Wolfram Language by Stephen Wolfram,稍微長一點,系統性一點。

然後讀 Shifrin 的 《Mathematica programming ﹣ An Advanced Introduction》,英文能力夠的讀英文原作。不夠的,可以讀志願者翻譯的中文版(不完整)http://www.mathcraft.org/wiki/index.php?title=Mathematica_%E7%BC%96%E7%A8%8B%EF%BC%9A%E9%AB%98%E7%BA%A7%E5%AF%BC%E8%AE%BA 。通讀一遍裨益良多。

在有了一定基礎後,如果要達到精通,需要長期持續學習,主要是在解決實際問題的過程中學,原因是 Mathematica / Wolfram 語言的內容和功能「 包羅萬象」,用了 n 年後你還會有不斷髮現「驚喜」,而且一個新版本發佈出來經常會增加很多新功能(參見:Mathematica 最新版本和舊版本歷史)。在解決問題的過程中參考 Wolfram Language System Documentation Center (官方幫助文檔),反復看裡面的語法說明、專項說明、例子,自己常用的功能就會越來越熟。官方文檔里有一部份寫成專題的稱為「tutorial」,可以挑自己感興趣的專門拿出來深入學習。

還可以看 Mathematica Stack Exchange 上的學習資料表、初學者常見錯誤,MathCraft.org 整理的參考資料表。這時候只怕學習時間不夠用了。還可以經常逛逛 Mathematica Stack Exchange,Wolfram Community,關注Wolfram 官方微博 @WolframChina,有最新的和 Mathematica / Wolfram 語言相關的信息發佈。


打開 Mathematica,按下 F1。系統自帶的幫助文檔就是很好的教程了,可以從 Core Language Structure 開始看起,幫助里提供了很多 Tutorial,挨個看下來基本上就入門了。特別是還可以直接在幫助文檔里運行 Mathematica 的代碼,邊看邊練,學起來很快。


看這本書:

http://www.mathprogramming-intro.org/download/MathProgrammingIntro.pdf


補充。加入QQ群"mathematica智囊團",裡面的人會幫你答疑,不過提問要謙虛耐心,他們不欠你什麼。


Mathematica: A Problem-Centered Approach (Springer Undergraduate Mathematics Series)(短小的入門書)

Wolfram Mathematica Tutorial Collection (官方教程,可以免費下載pdf,Mathematica中也有)

Mathematica Stack Exchange(疑難提問)

然後就是專業相關的,比如:學物理有什麼比較好的書學習 Mathematica 和 MATLAB ?


分享維基教科書里的《Mathematica 編程:高級導論》,而且是中文版的,以下鏈接不僅僅包括這本導論,而且含有Mathematica虛擬全書以及Mathematica資料中心等,均可以在Mathematica 學習資源中查看,請看《Mathematica 編程:高級導論》,這本書可以從編程的角度重點觀察和學習Mathematica,比那種把Mathematica當成超級計算機使用的教材有更好的認識Mathematica的角度。

另外,有一本《Mathematica基礎及其在數學建模中的應用》講了很多常用的Mathematica函數,個人覺得如果系統的學習之後,用這本書整理一下函數還是挺好的。

至於最好的系統地學習Mathematica的其他書,還是像大多數人推薦的,那就是Mathematica自己帶的幫助裡面的The Mathematica Book,內容全面,循序漸進,非常容易學習使用,這裡是進入Wolfram語言與系統的鏈接Wolfram Language for Knowledge-Based Programming,在這裡可以查到相關的知識。最後面那個圖裡顯示的就是在使用Mathematica時,按F1快捷鍵打開的系統幫助文檔。


An Elementary Introduction to the Wolfram Language這本書不錯,很有研讀的價值!是許多同學學習的的指導書!


同 @董可人 的答案。另外如果要更加細緻地知道mathematica的設計的想法,可以看mathematica老闆Wolfram寫的書。遇到問題一些不是很平凡的問題也可以到stack exchange上問。


關鍵在於理解這門語言的邏輯,其他的需要了就查看F1.


國內的書主要看:首推丁大正老師的《mathematica基礎與應用》,其次是一本老一點的書,還是丁老師寫的《mathematica5在大學數學課程中的應用》,其他的中文書就不要用了,非要用的話,搞點PDF版的或者在百度文庫中看一些資料就夠了。還有在實踐的時候認真看mathematica的幫助文檔。可以去mathematica百度貼吧、mathematica豆瓣小組、mathematica果殼小組之類的地方看看,裡面有可核心語言的PDF鏈接,中文版的,可下載。既然是初學者,我想看外文書對你可能效果不大。


入門的有Wolfram語言入門 (豆瓣),是Wolfram自己寫的,大約是我見過最好的Mathematica入門書籍,內容不難但卻很豐富,很新,至少是基於Mathematica10以後的版本,甚至有一些神經網路的東西,最近被翻譯成中文了,這本書在官網上有在線版本An Elementary Introduction to the Wolfram Language by Stephen Wolfram。還有配套的視頻Practicalities of Using the Wolfram Language。

稍深入一點的有Wolfram本人寫的特別版MATHEMATICA全書 (豆瓣)。比較老,基於早期的mathematica。但是你能學到一些基本原理,其實mathematica的更新更多是加了幾個新函數,基本的編程模式幾乎沒變。

更加深入一點的大概是 Leonid Shifrin 寫的這本《Mathematica programming an advanced introduction》。裡面對某些核心的函數有非常詳細的介紹。


感覺本身的幫助文檔就很全啦


學習


推薦閱讀:

mathematica軟體是如何盈利的?
用什麼軟體能畫出這樣的圖?
為什麼Mathematica的DSolve函數會解不出顯式解??
為什麼Mathematica里矩陣索引這麼慢,有沒有什麼辦法迴避或者改進?

TAG:編程語言 | WolframMathematica |