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

1 view (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

Categories

Find more on File Operations in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!