1. 程式人生 > >MATLAB中將資料寫入TXT文字文件中

MATLAB中將資料寫入TXT文字文件中

matalb中開啟檔案:

fid = fopen(檔名,‘開啟方式’);

說明:fid用於儲存檔案控制代碼值,如果fid>0,這說明檔案開啟成功。開啟方式有如下選擇: 
‘r’:只讀方式開啟檔案(預設的方式),該檔案必須已存在。 
‘r+’:讀寫方式開啟檔案,開啟後先讀後寫。該檔案必須已存在。 
‘w’:開啟後寫入資料。該檔案已存在則更新;不存在則建立。 
‘w+’:讀寫方式開啟檔案。先讀後寫。該檔案已存在則更新;不存在則建立。 
‘a’:在開啟的檔案末端新增資料。檔案不存在則建立。 
‘a+’:開啟檔案後,先讀入資料再新增資料。檔案不存在則建立。 
另外,在這些字串後新增一個“t”,如‘rt’或‘wt+’,則將該檔案以文字方式開啟;如果新增的是“b”,則以二進位制格式開啟,這也是fopen函式預設的開啟方式。

(注:當用‘a’時,如果文字中已經存在資料,不會清空資料,而是在資料之後寫入,而‘w’會清空原本的資料,重新寫入)

一,如果要儲存單行、單列資料

fid=fopen(['d:\','A.txt'],'w');%寫入檔案路徑
for jj=1:length(A)
fprintf(fid,'%.4f\r\n',A(jj));   %按列輸出,若要按行輸出:fprintf(fid,'%.4\t',A(jj)); 
end
fclose(fid);

二,如果要儲存一個矩陣

fid=fopen(['d:\','B.txt'],'w');%寫入檔案路徑
[r,c]=size(B);            % 得到矩陣的行數和列數
 for i=1:r
  for j=1:c
  fprintf(fid,'%f\t',B(i,j));
  end
  fprintf(fid,'\r\n');
 end
fclose(fid);

三,如果要手動儲存到指定位置,指定檔名

[FileName,PathName]=uiputfile({'*.txt','Txt Files(*.txt)';'*.xls','Excel(*.xls)';'*.*','All Files(*.*)'},'choose a File');  %% pathname獲取儲存資料路徑, filename獲取儲存資料名稱
if ~FileName
return;
else
str= [PathName,FileName];
end
fid = fopen(char(str), 'w');   % 要想存的檔名是自己輸入的,這個地方就得這樣寫
[r,c]=size(C);               % 得到矩陣的行數和列數,C為要保持的矩陣
 for i=1:r
  for j=1:c
  fprintf(fid,'%f\t',C(i,j));
  end
  fprintf(fid,'\r\n');
 end
fclose(fid);