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

1 vue (au cours des 30 derniers jours)
Dimitris
Dimitris le 16 Nov 2011
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?

Réponse acceptée

Walter Roberson
Walter Roberson le 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

Plus de réponses (1)

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

Catégories

En savoir plus sur File Operations dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by