Matlab 教材:從工作環境中輸出

Matlab 的 diary 內建指令將 Matlab 工作環境內的過程, 包括您下的指令和 Matlab 的所有回應,一五一十地記錄在一個純文字檔內, 就像寫一份流水帳的日記一樣。這是最方便的一種輸出方式。

我們用以下這個例子來說明 diary 的用法。 假設您在 Matlab 工作環境中執行了以下步驟:

>> diary foo.txt
>> 1+1
ans =
     2
>> diary off
>> 2+2
ans =
     4
>> diary on
>> 3+3
ans =
     6
>> diary off
>> 4+4
ans =
     8
則 Matlab 在目前的檔案夾 (詢問 pwd 得知) 內儲存一個 foo.txt 檔案,它的內容是
>> 1+1
ans =
     2
>> diary off
>> 3+3
ans =
     6
>> diary off

根據以上實驗,應該已經可以看出來 diary 的用法了。 我們綜合說明於下:

diary filename
指定 diary 的輸出檔案是 filename, 並同時啟動日記功能。也就是 Matlab 將工作記錄輸出到 filename 中。 filename 可以指明一個絕對或相對的路徑, 如果沒有指明,就假設儲存在目前工作的檔案夾。 但是 filename 不可以是 onoff 兩個字。 如果 filename 已經存在,新的記錄會續接在舊記錄的後面。 Matlab 不會自動添加副檔名。 如果沒有指定檔案名,則內定名字就是 diary
diary on
啟動日記功能。持續先前規定的日記檔案名。
diary off
停止輸出,但是這句指令會被紀錄在日記檔案內。
diary
以 toggle 意義處理:如果日記功能此刻是 on,則關閉; 如果此刻是 off,則開啟,而且持續先前規定的日記檔案名。

日記檔案是一個純文字檔案,存檔之後可以使用編輯器或其他工具軟體, 將它做任意規格的處理。這樣固然簡便,但是有時候也許缺乏效率。 下一節就要介紹其他的輸出方式。

Matlab 也提供非常一般性的格式化文字型態檔案輸出功能, 例如它有類似 C 語言的 fopen(), fclose()fprintf() 函式, 這些函式的用法與 C 語言的同名函式如出一轍, 讀者如果能使用 C 語言,就能使用這些函式, 因此我們就不在此介紹了。

習題

  1. 利用 Matlab 列出當 x 為 pi/2, pi/4, pi/8, ..., pi/1024 時 sin(x)/x 的數值,小數點下需有 14 位,存檔在 sinc.txt 裡面。
  2. 利用 Matlab 列出 8 乘 8 的魔方陣,存檔在 magic8.txt 裡面。
[BCC16-B]
單維彰 (2000/01/09) --- 2003/12/28
[Prev] [Next] [Up]