這一節要用到前一節的程式,如果有必要,請回去仔細讀過。
前一節說要把程式寫得「整齊」一點,如下:
但是,如果是在 Matlab 的操作介面上面寫程式,萬一按了 Enter 之後才發現寫錯了, 很難回去修改。而且,萬一執行之後想要修改參數,例如想把 err = 5e-15; 改成 err = 1e-10; 都很麻煩。 一旦像這樣有一大批指令要輸入給 Matlab 執行, 就相當於在「寫程式」了。 既然要寫程式,那麼最好另外開啟一個檔案,把程式的「原始碼」寫在裡面。 這樣,一來方便修改 (不管是因為錯誤而修改,還是改變參數), 二來也不會因為 Matlab 結束了而失去原始碼: 只要把原始碼檔案儲存起來,將來還可以重複使用。N = 100; err = 5e-15; x = 0; for k=0:N, x = x + 1/2^k; if (abs(x-2) <= err), break; end end k
Matlab 腳本程式的寫作很簡單,凡是你可以寫在 Matlab 操作介面中的指令, 都可以寫在腳本內。只有兩個規定:
既然 Matlab 腳本就像所有程式語言的原始碼一樣,必須是純文字文件, 那麼當然要用一個「編輯器」來撰寫。 Matlab 套裝軟體提供一個編輯器,但是讀者可能不是只會寫 Matlab 腳本的人, 既然您將會撰寫許多種不同程式語言的原始碼, 不如花一點時間學習一種上手的編輯器:不論為哪一種語言編寫原始碼, 都可以用同一個您最順手的編輯器。 這是 第6講 的主要技能項目,在此不再多寫。
使用編輯器製造純文字文件,然後以 m 作為副檔名存檔, 就是一個 M-file。例如現在以 foo.m 為名, 將上述 Matlab 指令寫到 foo.m 裡面,存檔,就是一個 M-file, 它的內容是一個 Matlab 腳本程式。
有些作業系統,例如微軟 Windows,會「隱藏副檔名」。 因此,有可能發生這樣的情況:您設定檔案名為 foo.m, 在螢幕上看到的檔案名也是 foo.m,但是其實 Windows 給它的檔案名是 foo.m.txt 或者甚至是 foo.m.doc, 只是 .txt 或者 .doc 被隱藏了沒看到。 這樣的話,那就不是一個 M-file,而 Matlab 可能無法讀取這個檔案作為腳本程式。 專業的電腦使用者應該不要「隱藏副檔名」。 這是 第4講 的課題,有必要的話,回去再學習。 請先做好下列習題 (之一),再進入下一節。
習題