Matlab 教材:冒號指令--製作等差序列

Matlab 的冒號指令可以從「頭」到「尾」產生一序列的數。例如

1:5
製造了以下序列
        1  2  3  4  5
一般而言,n:m 產生從 n 開始,到「不超過」m 的數,以 1 為間隔。例如
3.5:10
製造了以下序列
        3.5000  4.5000  5.5000  6.5000  7.5000  8.5000  9.5000

如果不要以 1 為間隔,而希望以 s 為間隔,可以說 n:s:m。例如

1:2:10
製造了以下序列
        1  3  5  7  9
如果想要將 [a,b] 區間等分成 n 段,而寫出 n+1 個分隔點、或稱節點 (包括首尾兩點),可以說
h = (b-a)/n;
x = a:h:b;
則 x(1) 就是 a、x(2) 是 a+h、依此類推,x(n+1) = b。 其實,有一個更簡單的函式,可以完成上述步驟:
x = linspace(a, b, n+1);
linspace(a,b,n+1) 產生一個等差序列,序列共有 n+1 項, 兩兩之差為 (b-a)/n,而首項是 a,尾項是 b。

習題

  1. 請列出所有 <= 100 的偶數。
  2. 請列出所有 <= 100 的 7 的倍數。
  3. 請列出將 [-1, 1] 等分成 16 段的節點。
  4. 請列出將 [-pi, pi] 等分成 16 段的節點。
[BCC16-B]
單維彰 (2001/10/03) --- 01/10/10 (單)
[Prev] [Next] [Up]