Use a loop to load .dat files (with matrices) and manipulate them

3 次查看(过去 30 天)
Hi, I have some .dat files which include measurements in a matrix form. I want to load them in matlab and in each of them to remove some of the columns.
I am trying something like this but it doesn't work:
nof=10; % number of files
for i=1:nof
D=dir('*.dat)
load (D(i)....) %????
% remove column
end
Any help?

采纳的回答

Walter Roberson
Walter Roberson 2011-11-16
D = dir('*.dat');
nof = min(10, length(D));
for K = 1:nof
thisname = D(K).name;
Indata = load(thisname);
Indata(:,17) = []; %delete column 17
%then what?? Guess I'll save the data
newname = ['new_' thisname];
save(newname,'InData')
end

更多回答(1 个)

Honglei Chen
Honglei Chen 2011-11-16
If you use dir, it returns a struct. In your case, you should do
load(D(i).name)
instead.
HTH

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by