Matlab從指定行讀取文本文件(textscan)


在幫助別人的同時提高自己,有人提到這個問題,給了我去探究的機會,將最終代碼做一下記錄。

問題描述:

現有一大矩陣存儲於某一txt文件末端,需要用導入matlab進行進一步的處理。這就需要略過前面很多無效行,如果采用傳統的fscanf未免有些麻煩,於是問題提出:matlab如何快速從文本文件指定行進行讀取?

function [out]=readData(path)

%從指定行開始讀取數據

%實際上主要是textscan的使用,查閱matlab對應的幫助文檔就清楚了
clear all;
fid=fopen(path,'r');
if fid<0
    warndlg('打開文件失敗!');
    return;
else
   FormatString=repmat('%f ',1,18);
   out =cell2mat(textscan(fid,FormatString,7373,'HeaderLines',174)); %從174行開始讀取7373*18的矩陣數據
end
msgbox('文件讀取成功!');
if fclose(fid)==0
    msgbox('文件關閉成功!');
else
    warndlg('關閉文件失敗!');
end
end


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM