Matlab讀寫.txt文件內容

工作和學習中,經常需要我們讀取大量的txt等文本文件,這裏面可能有數據和字符[1],本文通過一個代碼示例(測試用.txt文件和matlab代碼文件下載網站:http://download.csdn.net/download/zhouxianen1987/10012733)介紹如何使用matlab讀取txt文件內容。

一、讀取.txt文件

本文測試用.txt文件名爲circleCenter_ERS.txt,文件中內容如下:

713 439 334 16339 1 12.bmp

709 473 336 15042 2 2.bmp

666 462 333 14951 3 20.bmp

703 472 333 15024 4 22.bmp

696 487 334 14994 5 24.bmp

656 496 333 14968 6 26.bmp

705 476 331 14955 7 4.bmp

696 482 341 14899 8 5.bmp

703 471 332 14894 9 9.bmp

675 441 331 15109 10 good_10.bmp

 

Matlab測試示例的代碼如下:

 

clear all;close all;clc;
ffid_ERS =fopen('circleCenter_ERS.txt','r');
%輸入數據:ffid
ffid = ffid_ERS ;
%輸出數據:XYRtO, imgName
%讀入.txt文件數據到cell對象中
i = 0;
tline1 = cell(100,1);%定義cell對象
while feof(ffid) == 0
    i= i+1;
   tline1{i,1} = fgetl(ffid);
   %      tline = fgetl(ffid);
end
numImg=i;
imgName = cell(numImg,1);
XYRtO  = zeros(numImg,5) ;
%從cell對象讀入數據到特定的數據變量
for i=1:numImg
   tline=tline1{i,1} ;
   [XYRtO(i,1) XYRtO(i,2) XYRtO(i,3) XYRtO(i,4) XYRtO(i,5) imgName{i,1}]...
       = strread(tline,'%d %d %d %d %d %s');
end
%輸出數據
imgName_ERS = imgName;
XYRtO_ERS  = XYRtO;
二、寫.txt文件[2]

matalb中打開文件:

fid = fopen(文件名,‘打開方式’);
  • 1

說明:fid用於存儲文件句柄值,如果fid>0,這說明文件打開成功。打開方式有如下選擇: 
‘r’:只讀方式打開文件(默認的方式),該文件必須已存在。 
‘r+’:讀寫方式打開文件,打開後先讀後寫。該文件必須已存在。 
‘w’:打開後寫入數據。該文件已存在則更新;不存在則創建。 
‘w+’:讀寫方式打開文件。先讀後寫。該文件已存在則更新;不存在則創建。 
‘a’:在打開的文件末端添加數據。文件不存在則創建。 
‘a+’:打開文件後,先讀入數據再添加數據。文件不存在則創建。 
另外,在這些字符串後添加一個“t”,如‘rt’或‘wt+’,則將該文件以文本方式打開;如果添加的是“b”,則以二進制格式打開,這也是fopen函數默認的打開方式。

最基本的寫入txt文件方法:

%(matlab 與 C++ 類型指代相同)  %d-->int  %f-->float  %lf-->double  %s-->string
a = 4; b = 4.3; c = 'name';
fid = fopen(path,'w');
fprintf(fid,'%d %f %s\n',a,b,c);
fclose(fid);

參考資料:

[1] https://jingyan.baidu.com/article/b87fe19e6b478852183568e1.html

[2]https://blog.csdn.net/kunyxu/article/details/53563154

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章