理工人的程式設計
Programming for Scientists and Engineers

本課程主要介紹三套數學工具的使用及簡單的程式設計。

Gnuplot 是一套歷史悠久, 持續進步的資料/函數繪圖軟體; Octave 是一套類似 matlab 的矩陣運算軟體; Maxima 是一套類似 mathematica 或 maple 的符號運算軟體。 三者搭配起來, 是理工研究人員的強大助手。 修課同學不需具備程式設計基礎; 但需要有基本的微積分及線性代數基礎。 課程當中若談到較進階的數學觀念, 會以上述兩項為基礎來加以解釋。 事實上, 這些工具對於理解較抽象的數學定理也很有幫助。

課程尾聲介紹互動幾何軟體 Dr. Geo。 它不只很適合拿來幫小朋友認識幾何定理, 也可以用來解說 (相對論中的) 羅倫茲轉換式及 (量子理學中的) Hermitian Matrix。 同時也可以是學習 smalltalk 語言的環境。

  1. Octave: 向量與矩陣運算
  2. Octave: 讀檔與存檔
  3. Octave: 實作 QR factorization (邏輯/迴圈/函數練習)
  4. Octave: 更多實用範例
  5. Gnuplot: 簡單函數繪圖
  6. Gnuplot: 讀檔與存檔
  7. Gnuplot: 圖解 「非線性聯立方程組牛頓法求解」 (邏輯/迴圈/函數練習)
  8. Gnuplot: 更多實用範例
  9. Maxima: 簡單符號運算
  10. Maxima: 讀檔與存檔
  11. Maxima: 當矩陣運算遇到符號運算 (邏輯/迴圈/函數練習)
  12. Maxima: 更多實用範例
  13. DrGeo: 互動幾何範例
  14. DrGeo 實例: 重力加速度, 幾何繪圖版
  15. DrGeo 實例: 重力加速度, smalltalk 程式版
  16. Graphviz: 寫程式產生流程圖/關係圖
  17. 綜合應用 (1)
  18. 綜合應用 (2)