Why is my loop not working?

dinfo = dir('M:\xxx\IDXX_xxx_xxx_XXXX.XX.XX_XX.XX.XX\**\**\*scrList.mat');
filenames = fullfile({dinfo.folder}, {dinfo.name});
numfiles = length(filenames);
for K = 1:numfiles
thisfile = filenames{K};
load (thisfile)
plot (scrList.DDA.amp)
end
I have a folder with a lot of subfolders. I managed to read them all but when it comes to plotting it didnt really plot every file but only one file instead. Any suggestion how to fix that?

2 Comments

It will only plot the last file. You need to store the thisfile as array.
@Ankit could you tell me how, i am a newbie :D

Sign in to comment.

Answers (1)

You need to use hold on
dinfo = dir('M:\xxx\IDXX_xxx_xxx_XXXX.XX.XX_XX.XX.XX\**\**\*scrList.mat');
filenames = fullfile({dinfo.folder}, {dinfo.name});
numfiles = length(filenames);
for K = 1:numfiles
thisfile = filenames{K};
load (thisfile)
plot (scrList.DDA.amp)
hold on % Prevent subsequent plots from blowing away prior plots.
end

2 Comments

my goal is to showcase the plot of every file and not in one image
Torsten
Torsten on 12 Sep 2022
Edited: Torsten on 12 Sep 2022
Then use
figure(K)
plot (scrList.DDA.amp)
within the loop.
Or read about "subplot":

Sign in to comment.

Products

Release

R2019b

Asked:

on 12 Sep 2022

Edited:

on 12 Sep 2022

Community Treasure Hunt

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

Start Hunting!