Matlab 線上教材

市面上已經開始有一些中文的 Matlab 書籍, 但是我們的教材特別強調 Matlab 處理陣列資料形態的物件化技巧。 我在準備這批教材的時候,主要的參考資料有

其實,因為我自己有十二年以上的 Matlab 使用經驗, 而且中大數學系的同仁---黃華民教授---又是一位經常發明妙招的 Matlab 高手, 所以,許多材料其實還是在中大數學系的環境中創造出來的。 撰寫以下教材的時候,我自己在 MS-Windows 和 Linux 環境中使用的 Matlab 都是 6.5 版,如果您使用的版本不同,可能有些微的差異,但絕不嚴重。

[ 相逢篇 ]‧[ 認識篇 ]‧ [ 發展篇 ]‧[ 交遊篇 ]

    Matlab---相逢篇

  1. Matlab 的工作環境
  2. Matlab 是一個 Calculator   +   -   *   /   (   )
  3. 數值計算無可避免的誤差
  4. 科學記數法
  5. 其他計算器基本功能   abs( )   sqrt( )   CHS
  6. Matlab 是一個工程型計算器---次方   ^   Inf   NaN
  7. Matlab 認得複數   i
  8. Matlab 是一個工程型計算器---指數與對數   exp( )   log( )
  9. Matlab 是一個工程型計算器---三角與反三角函數   sin( ) ...   asin( ) ...   atan2( )   pi
  10. Matlab 是一個工程型計算器---雙曲與反雙曲函數   sinh( ) ...   asinh( ) ...
  11. Matlab 接受變數   =   ,
  12. 變數之指派與計算   ;
  13. 用 Matlab 熟悉變數置換   x = x+1
  14. Matlab 認得矩陣   [ ]
  15. Matlab 是一個超級計算器---以矩陣為物件   +   -   *   ^
  16. 向量是特殊的矩陣
  17. 複數、矩陣與轉置   '   .'   transpose( )   ctranspose( )
  18. 矩陣除法   \   /
  19. 代表矩陣元素的變數   A(1,1)   A(1,:)   A(:,1)
  20. 基本列運算
  21. 關於矩陣的基本函式   size( )   rank( )   det( )   trace( )
  22. 關於向量的基本函式   norm( )   dot( )   length( )
  23. 將向量視為數據的描述統計   mean( )   median( )   sort( )   std( )   max( )   min( )


  24. Matlab---認識篇

  25. 冒號指令--製作等差序列   n:m   n:s:m   linspace( )
  26. 製造特殊矩陣--0 與 1   zeros( )   ones( )   eye( )
  27. 製造特殊矩陣--亂陣與魔方陣   rand( )   magic( )
  28. 向量的合成
  29. 矩陣的合併
  30. Matlab 函式的拓展設計   sin((1:8)/(4*pi))
  31. 取整數   round( )   fix( )   floor( )   ceil( )
  32. 積與和   sum( )   prod( )
  33. 矩陣的對應元計算   .*   ./   .^
  34. 善用 Matlab 函式
  35. 製圖--折線圖   plot( )   axis( )
  36. 製圖--長條圖   bar( )   barh( )
  37. 多重折線圖   hold
  38. 圖片標示   title( )   xlabel( )   ylabel( )   legend( )
  39. 邏輯算子   ==   ~=   <   <=   >   >=   &   |   ~
  40. 邏輯算子的拓展用法
  41. 邏輯算子的拓展應用範例
  42. 搜尋向量中的數據   find( )
  43. 求救   help   lookfor   doc
  44. 完全手冊   helpwin   helpdesk | helpbrowser
  45. Matlab 的自我介紹   intro
  46. Matlab 展覽   demo
  47. Matlab 操練   bench   version


  48. Matlab---發展篇

  49. 用 Matlab 學習迭代概念   for   disp( )
  50. for 迴圈基本練習
  51. 用 Matlab 學習邏輯分岔   if   else
  52. for 和 if   break
  53. Matlab 的腳本程式   M-file   eigshow( )
  54. Matlab 的搜尋路徑   pwd   cd   path
  55. for-if-break 技術配合牛頓法
  56. for-if-break 技術配合數值積分
  57. for-if-break 技術介紹 3x+1 問題   rem( )   pause( )
  58. while 迴圈   while
  59. Matlab 的高效能內建算子與函式   tic   toc
  60. 保留字、算子和函式   which   clear
  61. Matlab 容許使用者自訂函式   function
  62. 自訂函式的操作
  63. 函式之中斷   return
  64. 函式之註解與線上說明   %
  65. 「腳本」與「函式」之對比   type
  66. 多參數函式   nargin( )   elseif
  67. 多值函式   size( )   sort( )   nargout( )
  68. 遞迴函式
  69. 遞迴範例:Quick Sort
  70. 遞迴範例:Koch 雪花


  71. Matlab---交遊篇

  72. 字串   ischar( )   double( )   char( )   blanks( )
  73. 中文字串
  74. 字串處理   isletter( )   isspace( )   upper( )   lower( )
  75. 數值字串   num2str( )   int2str( )
  76. 指令字串   eval( )
  77. 無號整數的進制轉換   dec2hex( )   dec2bin( )   dec2base( )
  78. 用 Matlab 計算二補數   dec2z( )   z2dec( )
  79. 利用 Matlab 認識 IEEE 浮點數標準   format long   format hex
  80. 矩陣與向量的交換   A(:)
  81. 參差不齊的矩陣   cell
  82. Matlab 的記憶體管理   who   whos
  83. 從工作環境中輸出   diary
  84. 輸出數值   save   MAT-file
  85. 輸入數值   load
  86. 在不同機器間交換 M-file 和 MAT-file
  87. Matlab 的 API
  88. 外部程式產生 MAT-file
  89. 在 Matlab 中呼叫 C (MS-Windows)   MEX-file
  90. 用 C 編譯 MEX   mex -setup
  91. 測試 MEX-file   mex
  92. MEX 範例--迴圈

[ 相逢篇 ]‧[ 認識篇 ]‧ [ 發展篇 ]‧[ 交遊篇 ]


以下是 2001 年春季在課堂上邊講邊寫的入門講義,都是純文字文件。 將來會陸續整理成自修課程。

以下是 2000 年春季準備的教材,尚未完成。 同學們掌握了自修課程的內容之後,可以學習以下的專題。 雖然這些專題可以獨立學習,但是我建議依照以下順序進行。

  1. 變數
  2. 檔案與路徑
  3. 腳本程式
  4. 函式
  5. 圖形介面範例: eigshow.m。 這個互動圖形介面,包含了特徵向量與特徵值的圖象表現。 根據 Ax = mx,特徵向量 x 就是被 A 映射後方向不變 (包括反向) 的向量。如果 x 是一個單位向量, 那麼 Ax 的長度就是特徵值了 (配上方向正負號)。 讀者應將上述 M-file 下載存檔,然後以 Matlab 執行它。

單維彰 (2000/01/08) --- 01/10/03 (單), 02/07/22 (悅明), 03/12/28 (單)