matlab教程:Matlab入門教程

  一、適當瞭解一些數值計算、數值分析以及最優化的理論算法

  用Matlab的無非是作數值計算或者最優化,這也是Matlab的強項,Matlab有足夠多的工具箱解決這些問題。可是在使用這些工具箱以前,應該首先了解一些數值計算以及最優化的理論。這一點在程序碰到問題或者計算結果不理想的時候尤其重要。不少時候結果不理想並非本身的理論出了問題,而是盲目或者錯誤使用Matlab的工具箱而致使的。好比我曾經作過一個單純形法的優化程序,可是結果老是不理想,這個時候就要返回到單純形法具體是一種什麼樣的算法來考慮這個問題,最後發現是因爲目標函數的某一部分十分平緩致使的。 固然更重要的是若是你不理解理論,不少問題根本不知道如何處理。有個學化學同窗就曾問我一個程序怎麼寫,說matlab確定能夠完成的。瞭解清楚以後才明白原來他想作的就是一個受限最小二乘。可是他不懂得什麼是最小二乘(由於沒怎麼學過數學),固然面對這個問題無從下手。編程

  二、理解Matlab中時間空間的轉化編輯器

  這個問題沒有人強調,但我覺着蠻重要。這裏的關鍵點其實很簡單,就是儘可能減小重複計算,哪怕是多項式複雜度之內的計算。重複計算的內容應該適時保存到內存中,之後直接調用。一個程序可能會重複運行幾千次幾萬次,一點點的浪費時間均可能被放大不少。空間(內存)咱們是能夠擴充的,可是時間不是,因此絕大多數時候咱們須要放棄空間,得到時間上的迅捷。模塊化

  三、造成良好的編程規範函數

  我想幾乎全部學過編程的人都被這樣告誡過。比較好的是Matlab自帶的編輯器自己就能夠自動縮進之類的,程序十分易讀。可是還有一些東西是有些人未曾注意過的。好比變量名,一個好的變量名必定要有清晰的含義,讓人一看就能明白,不然往後的修改維護必然要花費更多的時間去識別這些變量名的含義工具

  四、若是拿到一個任務而又沒有思路,試着把問題分解或者轉化。優化

  之因此叫作程序,是由於咱們所作的工做就是告訴計算機要作什麼,該怎麼作。因此若是你的腦子裏根本不知道這個問題該怎麼解決的時候,你就更加沒法寫出程序。找思路的通常方法是分解問題,而後逐個擊破。或者在特殊狀況下,須要把問題轉化。spa

  分解與轉化的第一步是把實際問題轉化爲數學問題。這一步可能已經作好,可能沒有。若是沒有,那麼這一步就叫作數學建模。絕大多數問題均可以轉化爲兩類問題,一類是最優化問題,一類是求解問題。若是你能知道你在最優化什麼東西或者求解什麼東西,問題就簡單不少debug

  五、若是程序出錯了,而又查不到語法的錯誤,使用斷點內存

  編程中最可怕的錯誤不是語法,而是邏輯錯誤,由於邏輯錯誤是最難debug的。一個頗有用的工具就是斷點。

  六、若是試了不少辦法仍是不能找到錯誤,那就嘗試一下終極debug方法,適用於各類語言 真的有這麼強大的debug方法麼?有的!這個方法很簡單,離開你的電腦,找一我的,隨便什麼人,說一遍你的程序的思路,說的越具體越好。多數狀況下,你在闡述的過程當中,程序的錯誤就會忽然從你的大腦裏冒出來了。

  七、理解通用與專用之間的權衡

  你能夠寫一個通用的程序,也能夠寫一個專用的程序,這須要你的權衡。通常狀況下,專用的程序你能夠研究清楚其結構,從而找到最快的算法,而通用的程序則不能達到這點,由於要考慮到不少不少特殊的狀況。

  八、儘可能使你的程序更通用

  也就是說,儘可能使你的代碼能被重複利用。這樣能夠節省不少寫程序的時間,而你發現這些東西都是你寫過不少遍的。

  九、儘可能使你的程序模塊化

  把須要重複進行的程序儘可能寫成函數,便於修改和維護。寫成函數的好處是使你在同一時間只關注一個問題,可是若是你把全部的東西都放在一個程序裏,你可能須要考慮的問題就不止一個了。

鄭州看不孕不育哪家醫院好http://byby.zztjyiyuan.com/ 

鄭州不孕不育專業醫院http://byby.zzchfk.com/ 

鄭州不孕不育醫院http://byby.zztj120.com/ 

相關文章
相關標籤/搜索