//檔案輸入輸出
matlab 系統具有直接對磁碟檔案進行訪問的功能,使用者不僅可進行高層的程式設計, 必要時還可進行低層次磁碟檔案的讀寫操作,增強了 matlab 程式設計的靈活性。 matlab 內建有很多有關檔案輸入和輸出的函式,使用者可以很方便地對二進位制檔案或 ascii 檔案進行開啟、關閉和儲存等操作。這些函式是基於 c 語言的檔案 i/o 函式的,簡單 易學
在 matlab 中,使用 c 語言中的同名函式 fopen 來完成這一功能,其語法為: fid=fopen(』filename』,』permission』)
如 果要知道 fopen 操作失敗的原因,可以使用下列方式呼叫:
[fid,message]=fopen(』filename』,』r』)
如果是開啟乙個存在的檔案,示例**設定如下:
[fid,message]=fopen(』sum2.m』,』r』);
if fid==-1
disp(message);
end關閉檔案
在進行完讀寫操作後,必須關閉檔案,以免開啟檔案過多,造成系統資源浪費,命令為:
>> status=fclose(fid)
開啟和關閉檔案的操作都比較費時,盡量不要將它們置於迴圈中,以提高程式執行的效率
讀取二進位制檔案
matlab 中函式 fread 可以從檔案中讀取二進位制資料,將每乙個位元組看成乙個整數,將 結果寫入乙個矩陣返回。最基本的呼叫形式為:
a=fread(fid)
寫入二進位制檔案
函式 fwrite 的作用是將乙個矩陣的元素按所定的二進位制格式寫入某個開啟的檔案,並返 回成功寫入的資料個數。格式為:
count=fwrite(fid,a,precision)
讀取文字檔案
tline=fgetl(fid)
tline=fgets(fid)
若已知 ascii 檔案的格式,要進行更精確的讀取,可用 fscanf 函式從檔案中讀取格式化 的資料,其使用語法如下:
[a,count]=fscanf(fid,format,size)
fscanf 在讀取檔案時,是逐行進行的,在返回矩陣時,是將資料逐列寫入的。(2)本 節所介紹的命令不能對二進位制檔案進行操作。(3)sscanf 函式和 fscanf 函式的功能類似, 不同的是 sscanf 是從字串中讀取資料,而不是對檔案的操作。
count=fprintf(fid,format,y)
控制檔案內位置指標的函式 函式 功能 feof 測試指標是否在檔案結束位置 fseek 設定檔案指標位置 ftell 獲取檔案指標位置 frewind 重設指標至檔案起始位置
• feof feof 用於測試指標是否在檔案結束位置,其語法格式為:
feof(fid)
• fseek fseek 用於設定指標位置,其語法格式為:
status=fseek(fid,offset,origin)
• ftell ftell 用於返回現在的位置指標,其語法格式為:
position=ftell(fid)
• frewind frewind 用於將指標返回到檔案開始,語法格式為:
frewind(fid)
例項:下面通過乙個例子來介紹這幾個命令的使用方法,示例**如下:
a=[1:6];
fid=fopen(』six.bin』,』w』);
fwrite(fid,a,』short』);
status=fclose(fid);
fid=fopen(』six.bin』,』r』);
six=fread(fid,』short』);
eof=feof(fid);
frewind(fid);
status=fseek(fid,2,0);
position=ftell(fid);
matlab檔案操作
matlab檔案操作 檔案操作是一種重要的輸入輸出方式,即從資料檔案讀取資料或將結果寫入資料檔案。matlab提供了一系列低層輸入 輸出函式,專門用於檔案操作。1 檔案的開啟與關閉 1 開啟檔案 在讀寫檔案之前,必須先用fopen函式開啟或建立檔案,並指定 對該檔案進行的操作方式。fopen函式的呼...
Matlab檔案操作
1 matlab檔案操作主要有三個步驟 首先開啟檔案,然後對檔案進行讀寫操作,最後要關閉檔案。2 fid fopen 檔名,開啟方式 r 唯讀,檔案必須存在 預設的開啟方式 w 寫檔案,若檔案已存在則原內容將被覆蓋 若檔案不存在則新建乙個 a 在檔案末尾新增,檔案若不存在則新建乙個 r 可讀可寫,檔...
matlab 檔案路徑操作
1 fullfile 用於將若干個字串連線成乙個完整的路徑,例如 filepath fullfile d matlab example.txt 效果是 filepath d matlab example.txt 2 dir 用於列出乙個目錄的內容,返回值為乙個結構體型別,其中 name 檔案或者目錄...