標籤:

Matlab編程實踐(一)

MATLAB是著名的科學數值分析軟體,功能強大,適用範圍廣泛,是工科專業學生必須掌握的軟體之一。嗣生也是在項目學習中,愈發認識到其重要性。近期也在學習中.然而MATLAB功能實在強大,其各式各樣工具箱(從2013b版本以後稱作為APP,其界面也有很大改版)也在不斷擴展中。學習MATLAB很多同學第一個問題是安裝軟體,第二個問題就是選一本參考書了。前面說到,matlab適用範圍很廣,參考教程也是各式各樣。這裡我想說的是matlab軟體自帶的help文件是很好的學習資料,在編程中遇到的問題或bug都可以直接在help中直接查詢。這也是我前期在做項目計算中一直採取的方式,但劣勢有兩點:1、help文檔為全英文,尤其是專業數學術語時,需要邊看變查詞典,稍微有些吃力。2、help裡面的解釋非常詳細,每個函數的每個用法、每個參數的設置都會舉個例子,全部看下來會花費不少精力,只看一部分又會擔心有所遺漏。所以,在業餘時間我也在學習一本輔導資料---matlab編程實踐,感覺比大多數教程要好,便在這裡與大家分享。

matlab編程實踐,原名為Experiments with Matlab,是由matlab軟體創始人 Cleve Moler所著。寫matlab的人寫的書自然包含著一腔熱愛,我目前學習的是英文原版,誠如大多數英文教材,語言詼諧樸實,具有一般的英文閱讀能力即可讀懂,當然對於數學術語還是需要藉助詞典。從本期開始,我在埃鈦科推出matlab編程實踐系列分享筆記,一周一更,此為即為第一系列。

一、工具箱的安裝

剛開始使用matlab中,我們總是嘗試自己在腳本或函數中寫出自己的程序,當然一開始總不是那麼順利,不過經過一番倒騰之後,運行成功,非常開心。這種過程在編程實踐中是需要的,而且是獲益很多的。然而,並不是每一個函數都需要我們自己來寫,換句計算機科學的話,就是「不要重複造輪子」。在matlab社區中有很多工具箱可用,它們是由全世界的matlab愛好者編寫,並無私的奉獻出來,我們應當對他們的工作表示感謝。Experiments with Matlab中所使用的所有函數都已經封裝在exm工具箱中,Moler在preface中有提到。下面我來說一下如何安裝工具箱。

首先打開matlab官方社區:MathWorks - Makers of MATLAB and Simulink - MATLAB & Simulink,搜索exmtoolbox,如下圖所示,如果你使用的是2013b以上的話,可以直接點擊導航欄中APPS-get more app進入math work社區,搜索exm,帶有「文件交換」字樣即為可下載的文件,可以點擊圖2的紅框直接下載mltbx文件,也可下載zip安裝文件。以mltbx為例,打開matlab並在路徑中找到下載的mltbx文件,雙擊進行安裝,然後再點擊HOME-RESOURSE-ADD-ONES中manage custom toolboxes,安裝成功。

二、迭代(Iteration)和斐波那契(Fibonacci)

1、在matlab程序 語句中,帶有分號(semicolons)的語句不輸出到屏幕上

2、Format long 定義數據類型為長整形,format rat 分數型表示

3、變數 的命名由區分大小寫的字母、阿拉伯數字、下劃線組成

4、matlab是以複數運算為基礎的,對於指數運算符^,要求底為正數,如果是複數則會得到一個複數,

比如(-27)^(1/3)在matlab中計算結果並不是-3,而是

詳細的解答可參考:

mathworks.com/support/s

對於負數的指數次方,我們往往不用^運算符,而是nthroot()函數,想知道更多,可以直接在命令窗上輸入 help nthroot.

5、roots函數求解多項式的根,fsolve函數求解非線性方程的跟

6、ctrl +c 終止死循環

7、round函數,四捨五入函數,得到最接近該值的整數

推薦閱讀:

如何看待有人在知乎上問具體如何編程的問題?
關於在matlab層級編程中參數包的傳遞問題
matlab中z=(x+y).^2和v=x.^2+y.^2+2*x*y畫出的圖差距好大?
[MATLAB]圖視篇(4)極致畫圖工具箱鼎力推薦

TAG:MATLAB |