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

2 views (last 30 days)
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?

Accepted Answer

Walter Roberson
Walter Roberson on 16 Nov 2011
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

More Answers (1)

Honglei Chen
Honglei Chen on 16 Nov 2011
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!