9/22/2006

1.8 檔案的型式

前面已經介紹一些M-file的概念,現在可以將這種檔案的型式特別延伸說明。Matlab使用多種類型的檔案儲存資料、程式及指令執行時之對話。

MAT檔案

以儲存資料為主者,其檔案之副檔名為.mat,可以用來儲存工作間所建立之變數名稱及對應值。這種檔案較為特別,因為是屬於二進位檔案型式,故其內容僅能透過軟體辨識,無法使用文字處理器開啟觀看。唯在機器或程式處理過程,這種二進位檔所需之時間較短,也較為簡潔。就前文介紹的,這種檔案可用save及 load兩指令來進行儲存與下載。

M檔案

第二種檔案的型式雖與.mat不同,但也可以同樣儲存資料。不過資料檔案為根據ASCII的格式。這種檔案可能為試算表、文字處理器或程式產生的資料,可以經由編輯器進行編輯。其副檔名為.m,所以與一般文字檔案相同。要儲存這種檔案可以使用編輯器,也可以使用save及 load指令進行儲存與下載,但指令後面應加 –ASCII之參數。

程式檔案

第三種檔案為程式檔案。即為指令的集合檔,或稱為程式。這種檔案之副檔名仍為.m,故稱為M-file。基本上程式檔有兩種型式,分為敘述檔(Script file及函數檔(Function file)。敘述檔為一系列指令之組合,等於在指令窗下所打入之指令之群集,當然需要經過一番篩選才能免於垃圾檔。這種檔的好處是,下次要再執行相同的工作時,只要以該指令檔的名稱為指令呼叫即行。這種檔案的名稱無限制,但由於它是一群指令的重覆,故原先工作空間若有其他變數存在時,其內容也會影響執行的結果。例如:

%A script file named chord.m
% find the chord length of a right triangle.
a=3; b=4;
c=sqrt(a^2+b^2)


執行後,其結果為:

>>chord
c =
5


函數檔則是以函數的格式建立,其開頭第一行為函數之名稱及輸出與輸入參數之格式,而檔案名稱也必須與函數名稱相同。例如:

function [c]=chord(a,b)
% find a chord length c as sides of a & b are known
c=sqrt(a^2+b^2);

執行後,其結果為:

>>c=chord(3,4)
c =
5

這兩種檔案均可在編輯器中進行編輯、執行並偵錯。