0
我正在嘗試將以.a.dat,a02.dat ... a51.dat形式命名的「.dat」的編號序列加載到MATLAB中。我用下面的代碼使用了eval()函數。如何將編號爲.dat文件的序列讀取到MATLAB中
%% To load each ".dat" file for the 51 attributes to an array.
a = dir('*.dat');
for i = 1:length(a)
eval(['load ' a(i).name ' -ascii']);
end
attributes = length(a);
我遇到了問題,因爲我無法輕鬆操縱使用eval函數加載的數據。我發現社區強烈反對使用eval。我用下面的代碼使用了csvread()。
% Scan folder for number of ".dat" files
datfiles = dir('*.dat');
% Count Number of ".dat" files
numfiles = length(datfiles);
% Read files in to MATLAB
for i = 1:1:numfiles
A{i} = csvread(datfiles(i).name);
end
csvread()適用於我,但它讀取文件但在讀取文件時會擾亂順序。它首先讀取a01.dat,然後讀取a10.dat和a11.dat等,而不是a01.dat,a02.dat ...每個文件的內容都是帶符號的數字。有些是逗號分隔和單列,這是一個分裂。所以a01.dat的內容是用逗號分隔的,而a02.dat的內容在一個列中。
請問我該如何處理?
感謝Dedek馬茲。這工作得很好。 – Ade 2013-03-17 19:27:09