MATLAB 比較好入門書籍有哪些推薦?
a concise introduction to MATLAB ---william J. Palm III
給同有需求的童鞋晒晒, 這是我的教材 感覺比中文教材好 只是有些命令看不大懂所以需要拿中文的對照下~
官方的手冊即可,一個pdf,一章一章全講清楚了,原理和例子都有,還免費的,實乃好書。待我用電腦之後補上鏈接。
排版精良,由簡入深,從最基本的矩陣操作開始,一步步教你什麼是矩陣?矩陣基本運算; 如何操作Matlab軟體;常用數學運算,常用線性代數運算;如何畫圖,可視化數據;以及,非常重要的——如何編Matlab Script程序。
鏈接在此: http://www.mathworks.co.uk/help/pdf_doc/matlab/getstart.pdf(Get Started with MATLAB - MathWork官方出品的)
排版精良,除了用實例帶你快速上手之外,也絕少不了原理性的闡述,而且更難得的是這214頁的PDF基本沒有廢話,不冗餘。實乃這麼多年看過各種語言、工具的tutorial之後最贊的一本。
PDF截圖:
以及,給一個小技巧,在google找英文的入門材料,一般後面加關鍵字tutorial或者get started即可找出很多很棒的資料。
Matlab的教程琳琅滿目,一不小心就選的眼花繚亂。
選擇Matlab參考書最關鍵的一點,就是參考書和自己目前能力要相匹配。選的參考書過於簡單或過於困難,既浪費錢,又浪費時間和心情。
在這裡推薦幾款實用的參考書,按照從一無所知的入門小白到進階,再到笑傲江湖的武林高手分為10個級別。(以下圖片取自網路,圖片版權歸原作者所有)
讓我們一起打怪升級吧。
第1級:Matlab超強經典教程
《Matlab超強經典教程》其實是這本書在網上流傳的藝名,它真實的書名叫做《Matlab5手冊》,由ChinaPub出版。
這本教程比較適合真正一點也不懂的初學者,它有這樣三個優點:
(1) 概念講的很清楚。
(2) 命令歸納的全面。
(3) 對照命令講解參數,且有例子。
比如:求數組的最大值和最小值,它會先列出所有相關命令及對參數的描述:
然後給出一個具體的例子:
以及運算結果:
有時還會用示意圖來幫助讀者了解:
這是這本教程的目錄:
缺點是它有一點點老,和它對應的軟體版本是Matlab5,但對於初學者來說,幾乎沒有太大影響。
第2級:Matlab demystified
這本書是一本在歐美流行的教材,作者是美國Sandia國家實驗室的物理學家David McMahon,中文翻譯版由鄭碧波女士義務翻譯,中文名叫做Matlab揭秘。特色是教讀者如何把Matlab實際運用到高數裡面。
例如:
這本書還介紹了統計、畫圖、微積分、微分方程、變換、擬合等許多高數方面的應用,含有幾百個例子及其詳細解說過程。目錄:
另外,每章末有習題及答案,適合加強練習。有了這本書,媽媽再也不懂擔心我的高數了。
第3級:Matlab官方手冊
在Matlab官網上可以下載各種學習文檔:
在MATLAB中執行doc命令也可查看官方文檔。
官方文檔內容全面而詳細,含有每個命令的詳細說明及例子。
不過對讀者而言,仔細通讀這個文檔可能存在以下問題:
(1)是英文版的,可能有一些初學者會覺得讀英文有些吃力。
(2)因為太全面,反而許多命令並不會經常用到。
所以,這個文檔其實更適合當做手冊來查詢,需要的時候針對所需的命令進行查看。
瀏覽完上面這幾本教程就算入門了,下一步需要做的是提高編程的實戰技巧。就像如果你想成為一名優秀的特戰部隊成員,上面的部分其實只是教練給你用幻燈片講解和比划動作,下面的內容才是開始去靶場打靶訓練。
第4級:Matlab從零到進階
這本書的特色是配有光碟,內容包括每一個案例的源程序,以及用於教學和自學的PPT課件。
內容包括以下目錄:
另外,這本書裡面還有講解如何用Matlab解決一些實際生活中的問題,比如求解等額還款模型、垃圾場選址問題。
第5級:高等應用數學問題的MATLAB求解
這本書除了介紹應用數學的問題(比如微積分問題、線性代數、積分變換、複變函數、非線性方程、最優化問題等)如何求解之外,還介紹了最近流行的方法,像模糊邏輯與模糊推理、神經網路、遺傳演算法、小波分析、粗糙集以及分數階微積分等。
例如,神經網路:
遺傳演算法:
第6級: Experiments with MATLAB
不好意思,這本書是英文版的,但仍然要強烈推薦。它的作者是Cleve Moler,就是造出Matlab的大牛,美國工程院院士。
在這本書里,介紹了一些有意思的問題,如何通過Matlab編程實現,涉及到曆法,谷歌網頁排名,音樂,天體運行,分形圖,生命進化,數獨等等。
比如,
兔子繁殖問題:
Google搜索是如何進行網頁排名的:
生命進化:
如何模擬海浪:
第7級: MATLAB高效編程技巧與應用
這本書主要介紹一些特有的編程思想、高效的編程方法,以及採用案例介紹Matlab在科學計算中的實際應用。有些案例是如何實現最新流行的熱門技術了。
比如,人臉識別:
手寫體數字識別:
GNP的灰色數據融合分析:
第8級:Numerical Computing with Matlab
這本書其實是《Experiments with MATLAB》的加強版與加深版,它的作者仍舊是Matlab之父Cleve Moler。
好消息是這本書有對應的中文翻譯版,叫做《MATLAB數值計算》。它配備大量MATLAB例子源代碼及習題,其中涉及密碼學、Google網頁分級、大氣科學和圖像處理等前沿問題。
例如,如何擬合手掌:
洛倫子混沌:
鍵盤電話撥號原理:
預測太陽黑子強度:
學習完上面這幾本教程就達到中級水平了,下一步需要做的是靈活運用這些知識用以解決具體的專業問題。就像如果你想成為一名優秀的特戰部隊成員,現在已經從魔鬼訓練營畢業了,下一步是選擇自己的特長方向(想當偵察兵還是狙擊手?),然後真刀真槍的上戰場磨鍊。
第9級:專業領域書籍
繼續學Matlab取決於你學習的方向了,此時應仔細學習自己所關心的應用領域的書籍,下面列舉了幾個熱門方向供參考。
(1)圖像處理
(2)計算物理
(3)金融分析
(4)信號與系統
第10級:項目
到了這一步,參考書已經不是最重要的了,最重要就是多做項目,在項目中多感悟、多向隊友學習、多交流。
ps, 如果對科學計算(尤其是Matlab使用中)的經驗、教訓或者好玩的東西感興趣,可以關注公號「科研充電寶(kexuebc)」哦。
還有其它一些:
最常用的10個Matlab快捷鍵,助你編程更高效
如何把別人論文中的曲線圖,自動轉化為數據點?
你一定要知道的十款主流畫圖軟體
寫論文和報告容易犯的低級錯誤
MATLAB的入門很簡單,簡單到寫一本書都太薄,至少表面上的入門是如此。
所以很多所謂MATLAB入門書籍只是官方文檔的不完整版,與其看這些不如直接看文檔,在MATLAB中執行doc命令即可查看。官方文檔內容完整詳細,文檔中的各種鏈接(See Also, Example等)可以直接訪問,並且不用擔心和自己使用的版本是否匹配。而且官方實際上有自己的精簡版,就是已經有人提到的MATLAB Primer,其他PDF文檔可以用下面的方法獲取:
訪問文檔頁面:MATLAB Documentation
點擊需要的組件,例如MATLAB,或者其他方式直接獲取其地址:
MATLAB Documentation
將地址改為如下形式並進入可看到該組件的PDF文檔:
http://cn.mathworks.com/help/pdf_doc/matlab/index.html
可以看到第一份就是上邊說的MATLAB Primer
鑒別一本書是否屬於「官方文檔的不完整版」可以看目錄,如果該書包羅萬象,從MATLAB的安裝到數值計算和繪圖,再到IO和GUI建立以及面向對象編程,再到並行計算大數據處理,更有甚者可能把Simulink也全都寫進去了,那麼這本書大致屬於此類。
如果覺得官方文檔英文讀起來吃力(大約需要CET4水平),也可以買一本「官方文檔的不完整版」的中文手冊。
不過話說回來文檔其主要功能是查詢,對於包括初學者在內的任何人都必不可少,但是不太適合獨立作為入門書籍。就好像不會有多少人推薦使用牛津英語詞典作為英語入門教材。如果沒有應用來聯繫各個用法,手冊讀起來未免枯燥,而且會有「這種用法在什麼情況下用?」的感覺。所以入門不應該是把文檔看一遍。
而實質的MATLAB入門,個人認為,應該是掌握MATLAB風格的編程(向量化及數組操作等),入門後達到的效果應該是寫出來的程序應該不會太像C程序,並能用數組運算簡化程序及改善性能。
相關的中文書比較少,目前見到的只有這本:
MATLAB高效編程技巧與應用 (豆瓣),這也是答主初學MATLAB使用的,由 @吳鵬編寫。該書雖然是2010年的,不過其中內容大都在當前版本適用。
英文資料:
MATLAB array manipulation tips and tricks
Writing Fast MATLAB Code
這兩份資料都比較簡單,不過信息量還是很大的。而且由於涉及的主要是最基礎部分,所以幾十年代較久遠其技巧在目前版本也大都適用。
其餘的相關英文書籍要麼我沒看過要麼不太適合入門就不提了。
有了上邊的基礎之後就可以直接接觸自己所關心的應用領域書籍了,此時閱讀符合MATLAB風格的程序應該不會感覺吃力,碰上水平不高的作者你還可以把他的程序批判一番改進一下。
另外,MATLAB每年更新兩次,每次都會修正不少BUG並且會改進添加刪除一些功能,有一些東西在老版本上沒有,或者實現起來非常麻煩或低效的,老版本的書自然也不會介紹,所以總體上選擇MATLAB及其資料的原則是在有的選的情況下越新越好。
前段時間在看matlab~
工具是拿來用的,怎麼上手快怎麼來~
試過些材料,最後按MIT的這套 Lecture Notes把練習都做了一下,覺得算是有點感覺了,這是基礎
做過這些之後,繼續學matlab就取決於你學習的方向了
如果是神經科學的話 《matlab for neuroscientists》是必看的吧 Matlab for Neuroscientists.pdf_
看過matlab基礎,看過專業方向的書,剩下的就是做自己的項目,多用help doc,多問師兄老師了,matlab還是比較好上手的~~
我一般會在手邊放一本函數速查手冊,總覺得看中文還是會快一點(我知道這很低端啦 ……)。先給出答案:只是入門的話,隨便找一本薄一點的就可以了,關鍵是你一定要快點翻完它。否則多好的入門書都很難讓你入門。
詳細:
剛進大學,高代老師就跟我們說了,數學系的一定要掌握至少一個數學類軟體,他當時就推薦了matlab。同時也說了學習方法:平時沒事就翻翻,沒必要特意去學。
當時我以為他只是在吹水,減輕我們的壓力。而且我也很懶,一直拖到最近才學。這還是由於前段時間有一個金融建模的比賽,同時也是為了今年的美賽做準備。現在也算入門了吧,基本上我自己需要用matlab編程實現的,或者是同學問我的問題,即使我不能當時解決,也能在網上看懂一段代碼然後給他們解答——也就是說,重要的是掌握解決matlab相關問題的方法。
按我的經驗,學習matlab關鍵的是你要弄清你要做什麼。比如我,我當時就想完成金融建模比賽,所以關鍵是matlab在金融領域的應用,或者是相關的機器學習(金融方面這裡我同樣推薦@石誠說的那本《金融量化分析——基於matlab編程》,以及張樹德的書;而神經網路和向量機一類的我推薦《神經網路43個案例分析》)而matlab基本的操作,比如畫圖,比如「:」在矩陣中代表的是相關行列的全選,或者是一些簡單的for語句,最多花一個早上就能看完。在後面看相關深入一點的matlab應用時(比如上面提到的書)忘記了,翻一翻那本入門的書就可以了。據我對身邊的觀察,如果學習一個「學了之後覺得入門如此簡單」的課程,卻拖了很長的時間,那麼這個人在花了這麼長的時間之後基本還沒有入門——甚至可以連matlab裡面的矩陣思想都沒有理解,明明能用矩陣解決的問題還在用C++的做法去完成。
所以我認為,最好的做法是:找一本薄一點的快速入門,然後看你喜歡的方面——金融或者統計,遇到忘記的(就是那些自己有印象,記得自己看過的但是記不起詳細的情況)就翻翻入門書。如果真的看到了一個之前沒看到過的,那麼就去論壇。基本上我們遇到的問題,都已經有人幫我們問了。如果還是沒找到答案,那麼再去google吧,這時候就需要一定的英語水平了。
這樣大抵能做到實用和效率上的兼顧吧。
P.S.:我常去的論壇是matlabsky和ilovematlab。
我一直覺得比較好的入門書就是google,然後結合你專業領域,你需要使用matlab做什麼事情,找一本具有具體案例的書,就足夠你入門並甩開一般人了了,比如我推薦金融數量分析:基於MATLAB編程(第2版)/鄭志勇 這本書就是量化領域內的佳品,比那個問道量化投資:用MATLAB來敲門/金斯伯格 要好的多,雖然後者名稱更霸氣。如果不是搞量化的,是對硬科學有著執著的追求,那麼推薦關注「yaksa王小川」(此人是同濟大學的博士,新浪微博王小川_Matlab的微博),以我對他的了解,他出品的內容質量均有保證。相比之下,真正的那些所謂的matlab編程xxx天入門書籍,實屬雞肋,還不如google來的方便。
以我學習過的經驗給樓主個建議:
先看 MATLAB揭秘,具有國外經典教材具有的共同特色,上手超快。有中文翻譯版,鄭碧波女士 義務翻譯的,我很敬佩、感激她!
接下來可以看 北航出版的 精通matlab2011a ,這本在國內算經典的了,可以再次系統的學習一下
接下來就看你的研究領域了,看一些專業的
今天元宵節,一個人在寢室無聊中。。。。。。
我從大二開始學習matlab,簡單了說一下自己的學習方法以及自己覺得比較好的書籍
首先是學習方法,matlab這種語言上手很簡單,但是涉及範圍廣,通常只是需要學習自己要用的那一部分即可。
主要的學習方法有下面幾種:
1.通過中文書籍來學習。中文書籍的優點就是書籍比較多,價格相對比較便宜(和英文書籍相比),通常涉及的東西較多, 厚一點的書籍基本什麼東西都有涉及,中文較為容易理解。不足就是中文講解較為粗淺,而且書籍質量不好,程序有時候會有問題,同時程序的風格不好。這類書籍比較適合新手快速學習,我自己也是這樣學習的,當時不懂,買的那本書籍不好,就不推薦了。
2.通過英文書籍學習。英文書籍通常為PDF,列印出來學習,或者通過電子版學習,原版太貴了,一般買不起的。網上可以搜索,這裡推薦一個網址http://gen.lib.rus.ec/Library Genesis,可以搜索很多英文書籍。英文書籍特點就是排版通常較好,便於閱讀,而且講解通常特別詳細,程序風格較好,習題也較多,比較適合有一定基礎學習,而且學習時間通常比較長。
3.官方的資料或者視頻。matlab自帶的資料特別詳細,對matlab的很多問題特別清楚,其特點在於其權威性和全面性,可以把一些東西講透,能夠弄清楚其機理。缺點就是,資料太多,太長了,有時候看官方資料,目錄和標題就佔了太多的內容。很多回答建議新手學習官方的,對此,我並不認可,通常學習一段時間,有一定基礎,就可以通過看matlab自帶的help和百度來解決大多數問題
4.視頻學習教程。國內和國外都有一些視頻學習教程,我都看過一點,不過,我自己不習慣看視頻教程。印象中MIT有,國內很多書籍後面帶的光碟都有視頻教程。
5.利用matlab解決專業相關的問題。這個其實是最難學習的,matlab可以用的地方太多了,可以去matlab官網上看不同專業的書籍,我記得是可以下載一些資料的。
我自己比較推薦的學習方法,找本中文書籍,大致的過一遍,這個其實很快的,代碼敲敲,熟悉一下基本的操作以及一下基本的語法;然後找本翻譯的英文學習書籍,認真的學習一下,matlab的創始人的翻譯書籍也有,國內這些書籍很多;如果有精力的話,找一些英文書籍學習一下,做做後面的習題,自己解決的問題多了,慢慢就有感覺了;最後可以嘗試官方說明書,有精力可以翻譯一下,那怕是一個函數的用法,放到網上也是對大家都有益的。
前面都是自己的一些看法,下面推薦一下入門書籍(鏈接太長了,不知到怎麼弄)
1.《MATLAB揭秘》David McMahon著 鄭碧波譯 (網上很好搜的,還是給鏈接了,畢竟平時我也特別特別懶)
2. 《MATLAB編程(第二版)》高清晰PDF版 Stephen J. Chapman著 邢樹軍 鄭碧波譯
這本書講解matlab的編程,讓你如何去用matlab編程,有一個良好的習慣以及良好的程序風格。 ((網上很好搜的,)
程序風格:
3.《Learning to Programm with matlab》一本英文書籍,入門級的,講解詳細,書的風格好,對matlab中的GUI使用講的特別詳細,做得很漂亮,程序風格很好,很整潔。
以前我上傳到小木蟲論壇上,後面再傳到網盤http://115.29.101.103/file/a/oss____201406___15___30c1bd1f6f46aa4cc630461de00ba556____9085672________1486825473____4e0a140b52b559b0f0d21b5e612b9242____3160413____183___157___160___40____115___29___101___103/Learning_to_Program_with_MATLAB.pdf
更新於 2017年5月23日
4.工程與科學數值方法的MATLAB實現(第2版)
這本書比較相對比較簡單,書籍比較厚,適合慢慢學習。英文版的有電子版,還有課件,唯一的遺憾就是沒有習題答案,英文官網只給教師提供。
5.Engineering Computations and Modeling in MATLAB Simulink 2011
這邊書比較厚,大概850頁左右,涉及的東西也比較多,風格也比較好,對一些具體的問題講解很細緻。(知乎不知道怎麼上傳附件,比較鬱悶)
6.Simulink模擬及代碼生成技術入門到精通
國內關於Simulink寫的比較詳細的一本書,書中的源文件也有,網上也有作者本人的講解視頻,比較適合學習。不足可能就是這本書習題,缺乏練習。國內比較早的是薛定宇的《基於MATLAB/Simulink的系統模擬技術與應用(第2版)》,這本書練習多一些,但是書比較早。
上面的書籍,我自己大致都學過一些,所以推薦出來。基本電子版都可以在網上找到的。下面寫一些自己還未學習的書籍。
看過一些mathlab書,只推薦這2本.
Experiments with MATLAB (英文版) (豆瓣) (比較入門)
Numerical Computing with Matlab (豆瓣) (比較深入)
也都有對於的中文版本
推薦這2本, matlab之父寫的, 內容都是循序漸進的,而且每章節後面有大量的好玩的題目.
Cleve Moler 撰寫的教科書 官方也有免費下載,有完整的可運行代碼.
同推薦的還有他的blog Cleve』s Corner: Cleve Moler on Mathematics and Computing
對,這是個中文資料,翻譯過來的。看著省事,講的清晰,有例子,沒廢話。入門,入門,好資料你們看不到,真替你們捉急!外文資料好,但理解總有偏差,我是說我自己,所以這是我認為最好的入門資料。謝謝。
-------
如果說入門,如果你是學生,不急著做什麼項目,那麼沒有比這個更適合入門的了~一開始就要踏實一點。
http://pan.baidu.com/share/link?shareid=2364684050uk=1109836551
最高票的回答挺好的 不過他的版本是2015
MATLAB更新很麻煩。。。安裝包很大- -
我再補充一下MATLAB 2014 的官方手冊MATLAB 最新版本R2014a 官方使用手冊.pdf
2013的版本 MATLAB 最新版本R2013b 官方使用手冊.pdf
說個視頻,優酷搜索賬號:飛天小苗苗
講的MATLAB基礎很好。
地址:優酷網-中國第一視頻網,提供視頻播放,視頻發布,視頻搜索
自帶的Help文檔中有個教程。
編程語言類的書籍,個人覺得航空航天大學出版社的書不能再贊(≧▽≦)/,我初學matlab用過張志涌的《精通matlab2012b》,感覺內容繁雜,邏輯條例不是很清晰,就像幫助文檔的翻譯版。後來偶然翻了另一本書《matlab從零到進階》(也是航空航天大學出版社),對於剛剛接觸matlab的讀者真是良心,通俗易懂,內容比較全面。
通過一個個大項目,一次次系統的編程,不會的去help,然後才能熟練掌握,MATLAB這種東西只看教程零碎學習是紙上談兵,學習效率極低
MATLAB要掌握的基本知識有矩陣處理,數據類型,繪圖操作,編程和c++最主要的區別就是不需要定義變數,這些基本知識哪一本中文教材上都有。
所以關鍵是你想用MATLAB做什麼,一般來說不同的任務對應不同的工具包,比如你要圖像處理,那麼最好的書是岡薩雷斯的《數字圖像處理MATLAB版》,你要想混合編程,你就找《MATLAB高級編程》等等。
關於MATLAB編程,推薦一門Coursera的課:Introduction to Programming with MATLAB
https://www.coursera.org/course/matlab
from Vanderbilt University
對於matlab如何學習的使用, 首先還是要明確使用matlab的目的. matlab在某種程度上說是一種草稿語言, 特點是上手容易, 向量計算方便, 自帶以及他人開發的工具包狂多, 可以與眾多設計工具協同使用, 如ti的dsp開發工具, hdl硬體設計語言等. matlab更多用於驗證想法, 系統模擬, 如通信系統, 醫學成像系統等. 基本沒見過使用matlab作為產品開發語言的.
根據自己的經驗, 看那麼多matlab xxx的書, 效果可能不會特別明顯, 因為很多書中所舉的例子不是我們自身的專業, 不理解例子, 對語言功能便捷性的理解就打折扣了.
建議結合自己的領域有針對性的學習matlab, 如果是學術研究, 常用的語句工具箱就那麼多, 很容易就掌握了, 如果是搭個系統, 對於系統自身功能的理解更重要.如遇到不知道的語法, 就百度一下. 總而言之, 不能為了學matlab而學.
為什麼那麼對人推薦MATLAB Primer?也就是很多人說的MATLAB help。
完全不推薦!
分門別類糟糕,例子也很少,感覺像是為了寫而寫的東西。而且,我們數學上很多的術語和國外的有一定的差別,看起這個來很吃力的啊。
我還是覺得鄭碧波老師翻譯的《MATLAB解密》不錯,看完以後,就可以直接上手了,有什麼不明白的地方,查一下函數手冊或者Google一下就可以了。
以上。
推薦閱讀: