看板 MATLAB 關於我們 聯絡資訊
※ 引述《sintyy ( )》之銘言: : 請問各位,我現在有個檔案內容的一部分如下 : 12 : 34 : 56 : 78 : 9a : bc : de : f0 : 每個數值是一個16進位的數 : 我現在想要把這一堆數據分割成以下四堆 : a1 = [1 3 5 7]; : a2 = [2 4 6 8]; : a3 = [9 b d f]; : a4 = [a c e 0]; : 目前我只會用textread('data.txt', '%s') 把檔案以string讀進來 : 但碰到兩問題 : 一是我不會分割左右兩數字 : (我知道可以在text檔中用空白鍵隔開兩數據來分割,但數據實在太多這樣做沒效率) : 二是我不會利用中間的空行判斷斷點 : 請問各位可以賜教嗎?? 試試看這樣子呢? clear clc f=fopen('data.txt'); frewind(f); i=1; a1=[]; a2=[]; while ~feof(f) d=fgetl(f); if isempty(d) i=i+1; eval(['a',num2str(2*i-1),'=[];']); eval(['a',num2str(2*i),'=[];']); else eval(['a',num2str(2*i-1),'=[a',num2str(2*i-1),',d(1)];']); eval(['a',num2str(2*i),'=[a',num2str(2*i),',d(2)];']); end end f=fclose(f); -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.22.154 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1504079909.A.E27.html