How to use a batch mode to import files?

5 ビュー (過去 30 日間)
Chaitanya Bade
Chaitanya Bade 2017 年 4 月 6 日
コメント済み: Chaitanya Bade 2017 年 4 月 6 日
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 件のコメント
Chaitanya Bade
Chaitanya Bade 2017 年 4 月 6 日
編集済み: Chaitanya Bade 2017 年 4 月 6 日
As in? There are 3 files in the folder with the names 1.xlsx, 2.xlsx, 3.xlsx
Chaitanya Bade
Chaitanya Bade 2017 年 4 月 6 日
Mate, i got you. I found the solution. Thanks!

サインインしてコメントする。

採用された回答

JohnGalt
JohnGalt 2017 年 4 月 6 日
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 件のコメント
JohnGalt
JohnGalt 2017 年 4 月 6 日
you got the separate graphs sorted?
Chaitanya Bade
Chaitanya Bade 2017 年 4 月 6 日
Yes. I used the following code saveas(gcf,sprintf('chaitu%d.fig',k));

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeVariables についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by