陳奕安
理工學院
資訊工程學系
這學期修習「數值方法」這門課,對我而言是一段挑戰與成長並存的旅程。與過去的數學課不同,數值方法不只是紙上談兵,更強調實作與程式運算,而這一切的核心工具就是 MATLAB。在正式課堂學習之外,我也參加了課輔課程,在課輔助教的引導與補充下,逐步理解抽象的數值演算法背後的邏輯,並能實際用 MATLAB 將其實作出來。這段學習經驗不只讓我提升了解題能力,也培養了我獨立思考、debug 和程式設計的基本能力。
在課輔課程中,我學會了 MATLAB 的基本操作,包括變數設定、矩陣運算、函數撰寫、繪圖與條件判斷等,這些看似基礎的技巧,卻是後續學習各種數值方法演算法的基石。像是解非線性方程式的牛頓法與二分法、解線性方程組的 Gauss 消去法與 LU 分解、計算積分的梯形法與辛普森法等等,我們都利用 MATLAB 進行程式實作與結果驗證。過去只能用筆算的東西,現在可以靠電腦瞬間算出來,這種「工具驅動學習」的感受讓我印象非常深刻。
其中有幾次課輔讓我特別有收穫。例如在學習數值微分時,助教讓我們用 MATLAB 實作前向差分與中心差分法,再與真實導數值比較誤差,藉由圖像呈現誤差隨步長變化的曲線,讓我真正理解了「誤差分析」的實質意義。過去在課本上只是看公式與推導,感覺抽象又枯燥,但透過 MATLAB 動手操作,視覺化的結果讓我對概念掌握得更具體、更清楚。
另一個挑戰是學習如何 debug。寫程式最挫折的莫過於執行時出錯,特別是像「陣列維度不符」或「變數未定義」這類錯誤,一開始常常讓我卡住不知道怎麼辦。課輔助教在這方面給了我很大的幫助,他不只是幫我們改正錯誤,更教我們如何閱讀錯誤訊息、逐行檢查邏輯,甚至用 disp
或 fprintf
來追蹤變數值的變化。透過這樣的訓練,我慢慢建立了 debug 的習慣與邏輯思維能力,也開始懂得自己解決問題,而不是一遇到錯誤就求救。
本學期的數值方法課是以期末上機考作為主要評量方式。這樣的安排讓我更能體會平時練習與熟練操作的重要性。考試內容不是選擇或填空,而是需要現場撰寫 MATLAB 程式來解題,測驗的不只是公式記憶,更是實作能力與邏輯表達。我在準備上機考的過程中,重新整理了課輔上練習過的各種演算法與常用語法,並針對常見題型進行模擬練習,像是如何用迴圈處理迭代收斂條件、如何正確設定容許誤差、如何判斷資料輸入格式等。最後在上機考時,雖然仍有些緊張,但因為平時的練習充足,整體操作相對順利,也順利完成題目。
這門課和課輔的學習經驗,不只是讓我學會了 MATLAB 更讓我了解程式語言在工程上的實際應用。MATLAB 不只是計算工具,更是一種思考與解決問題的方式,提早熟悉這個工具,對我未來的學術與職涯發展都有極大助益。