10/25/2006

6.3 函數之編輯

前面所設之函數名稱如freebody、two_vectors等在存檔時,必須直接以函數名稱為其檔案名。以後呼叫時才能找到這個檔案來執行。存檔時,必須以這兩檔的名稱加上”.m”的字尾,即如freebody.m、two_vectors.m。撰寫這些函數檔可用MATLAB的編輯器(editor),只要從檔案指令下開檔即可找到。或直接在指令窗下這樣的指令:

>>edit two_vectors.m


編輯器可同時開啟許多檔,但僅能執行其中一個檔。編輯窗具有行號,可以進行偵錯及修改,相當方便。作為註解的部份則會以不同的顏色顯示,只有真正程式內容部份用黑色(預設值),但其行號仍然由第一行算起。在偵錯期間,此行號成為指向錯誤點的定位方法。編修完後的檔案即可存成.m檔。

進行偵錯時,可以採用單步法或全程執行模式,但可設中斷點。只要用滑鼠到行號右側一點,該會顯示一紅點。將來程式執行時,抵達中斷點會暫時停止。此時可以利用鍵盤下各種指令以確定執行過程中各項變數的變化。中斷點可以設好幾點,執行時會依序暫停。要解除中斷點,只要重複用滑鼠再選一次即可,或指向該行然後在指令行上按打叉的指令即可。單步法選下圖第三項,每按一次僅執行一行,如此可以偵錯全部。第四項與第三項相同,但可進行呼叫的函數內部逐步執行。第六項為往前執行,直接終了,或遇到紅點的行為止。其餘讀者可以自行試驗其功能。

MATLAB的新功能中,有一項是可以檢驗所選寫程式的執行效率。這個功能置於編輯器的工具項中的一個選項,稱為M-LINT檢驗程式碼(Check code with M-Lint)。這個選項可以在程式完成偵錯後,再進一步檢查程式的執行效率。由此可以得到一個建議的報告(M-Lint Code Checker Report),其內容有相關修正事項,並如何使程式執行時更有效率,且節省處理時間等等。對於大程式而言,這項功能相當有用。