如何更有效的調試運行MATLAB程序(閱讀)
MATLAB程序的運行調試涉及到算法的基本原理(程序往往是來求解某個數學模型的參數)、matlab編程、程序設計這三大塊內容,缺一不可。
數學模型(本質是處理數據的模型)往往是程序算法的核心,一定要理解透徹。要弄清楚數學模型是如何工作的,求解其參數的流程與數學原理一定要搞明白。
matlab編程是建立在數學模型的基礎之上,根據數學模型的結構來搭建的。當然,matlab編程也有自己的特點,如函數的定義、輸入變量、輸出變量、函數功能(對應與算法中的哪些因變量、自變量、求解方法),另外還有程序的註釋,程序的模塊化。
程序設計不同的程序員有不同的設計風格,如程序的註釋、程序結構的佈局、數據結構的選擇、程序性能的優先全排序等等。如果在閱讀程序之前,瞭解程序員設計程序的風格,那閱讀程序的效率很高很多。
一、數學模型
先問三個主要問題(聯繫實際問題,也就是實際問題轉化爲數學模型的過程):
(1)這是什麼類型的數學模型(優化模型)
(2)該數學模型解決啥問題(求最優值)
(3)數學模型是怎樣解決問題的(梯度下降)
後三個問題:
(1)數學模型的數學表達式
(2)求解的方法
(3)求解方法的步驟
二、matlab
閱讀程序的步驟:
基本思路是結合算法的基本原理,求解方法、求解步驟,閱讀程序。看程序中的那塊對應算法中的那一步。
技巧是:
(1)這步我稱爲‘重點定位’,定位算法輸出量在程序的位置,這往往是最終的數學表達式。也就是說,好多變量已經解好了。我們可以藉此反追蹤量的求解過程。這是所謂的過程--->結果--->過程
(2)瞭解程序的輸入量、輸出量所代表的含義
(3)確定輸入量、輸出量、程序中變量、常量跟數學模型量的對應關係
(4)追蹤輸入量、輸出量和程序中量的變化,藉此來理解數學模型的求解過程;反之,借求解數學模型的過程來理解程序中量的含義(有時,量的含義沒有註釋或者註釋看不懂)
三、程序設計