How to use a batch mode to import files?

Hi, I have 3 files named 1.xlsx, 2.xlsx, 3.xlsx in a folder. Now, I want to run all the three files at a time using a batch mode. I have written a for loop code but I does not work. It brings out the first result, but it is failing to process all the three files. However, it does not show any error.It just shows the results of the first file and stops.
files = dir('C:\Users\Deakin Uni\Documents\MATLAB\a\*1*');
fNames = {files.name};
%for each file
for k= 1: length(fNames)
% extract file name
fName = ['C:\Users\Deakin Uni\Documents\MATLAB\a\', fNames{k}];
[XDATA, TIMESTEPS] = importfile(fName);
a1 = XDATA - mean (XDATA);
plot(TIMESTEPS, a1);
[peakvals,peaklocs] = findpeaks(a1, 'minpeakdistance',50, 'minpeakheight', 0.00001);
peaktime = TIMESTEPS(peaklocs);
createfigure4(TIMESTEPS, a1, peaktime, peakvals)
saveas(gcf, 'chaitu.fig')
end
Thanks in advance!!

3 Comments

Have you checked length(fNames) ?
As in? There are 3 files in the folder with the names 1.xlsx, 2.xlsx, 3.xlsx
Mate, i got you. I found the solution. Thanks!

Sign in to comment.

 Accepted Answer

From this: files = dir('C:\Users\Deakin Uni\Documents\MATLAB\a\*1*');
it looks like you're only loading the first one... shouldn't it be:
files = dir('C:\Users\Deakin Uni\Documents\MATLAB\a\*.xlsx');

4 Comments

GREAT!! that works. However, i want all the 3 graphs to be saved under different names. Any help?
I got that one as well. Thanks heaps!!!
you got the separate graphs sorted?
Yes. I used the following code saveas(gcf,sprintf('chaitu%d.fig',k));

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!