Google+ 機動學論壇(TALKING MECHANISMS): 我寫機動學作業的技巧

2007年5月31日 星期四

我寫機動學作業的技巧


張哲輔

雖然只剩下幾次作業要交了,不過我想還是po出來給大家參考一下。

常常聽到有同學講說機動學網路講義上的程式看不懂、不會用。其實擺在上面的每個程式,我一開始也都看不太懂、不太會用。不過寫作業就是要用啊!怎麼辦?
這時候最好的方法就是去修改程式碼!但是連看都看不懂了怎麼修?
很幸運地,Matlab不像C++,C++會把整個程式碼都compile完了沒有問題才讓你執行;但是Matlab不會,就算Matlab已經檢查出你的程式碼有問題,它還是會讓你執行。怎麼執行?執行到它開始出錯的地方為止!
所以我剛說的修改程式碼,意思就是把程式碼的每一行前面都加%讓它變成註解,然後從頭開始把%刪掉,一次刪一個然後執行。這樣有什麼好處?你第一次把第一行的%刪掉然後執行,看到的結果就是跑完第一行的結果;再下次把第二行的%刪掉然後執行,看到的結果就是跑完前兩行的結果,以此類推……所以你可以看這個程式在每一行到底做了些什麼!

其實這個技巧不只是寫機動學作業會用到,寫任何程式都一樣。當你花了大把功夫,好不容易把程式寫完了,卻發現compile出現error,最媼的方法就是每做完一行就cout一遍,把這個程式每一行做了什麼通通show在螢幕上,就很容易發現程式到底寫錯在哪裡。

也許有人要說這樣好麻煩,不過這可是比你眼睛盯著程式碼一直看一直看來的有用的多喔!

P.S. 在刪%的同時,可以把該行後面的分號也刪掉,這樣該行的變數都會跑出來讓你看,讓你了解程式在幹麼會更方便!