理工人的程式設計
Programming for Scientists and Engineers
本課程主要介紹三套數學工具的使用及簡單的程式設計。
Gnuplot 是一套歷史悠久, 持續進步的資料/函數繪圖軟體; Octave 是一套類似 matlab 的矩陣運算軟體; Maxima 是一套類似 mathematica 或 maple 的符號運算軟體。 三者搭配起來, 是理工研究人員的強大助手。 修課同學不需具備程式設計基礎; 但需要有基本的微積分及線性代數基礎。 課程當中若談到較進階的數學觀念, 會以上述兩項為基礎來加以解釋。 事實上, 這些工具對於理解較抽象的數學定理也很有幫助。
課程尾聲介紹互動幾何軟體 Dr. Geo。 它不只很適合拿來幫小朋友認識幾何定理, 也可以用來解說 (相對論中的) 羅倫茲轉換式及 (量子理學中的) Hermitian Matrix。 同時也可以是學習 smalltalk 語言的環境。
- Octave: 向量與矩陣運算
- Octave: 讀檔與存檔
- Octave: 實作 QR factorization (邏輯/迴圈/函數練習)
- Octave: 更多實用範例
- Gnuplot: 簡單函數繪圖
- Gnuplot: 讀檔與存檔
- Gnuplot: 圖解 「非線性聯立方程組牛頓法求解」 (邏輯/迴圈/函數練習)
- Gnuplot: 更多實用範例
- Maxima: 簡單符號運算
- Maxima: 讀檔與存檔
- Maxima: 當矩陣運算遇到符號運算 (邏輯/迴圈/函數練習)
- Maxima: 更多實用範例
- DrGeo: 互動幾何範例
- DrGeo 實例: 重力加速度, 幾何繪圖版
- DrGeo 實例: 重力加速度, smalltalk 程式版
- Graphviz: 寫程式產生流程圖/關係圖
- 綜合應用 (1)
- 綜合應用 (2)