Why is my loop not working?
Show older comments
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
Ankit
on 12 Sep 2022
It will only plot the last file. You need to store the thisfile as array.
Firas Guechchati
on 12 Sep 2022
Answers (1)
Image Analyst
on 12 Sep 2022
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
Firas Guechchati
on 12 Sep 2022
Then use
figure(K)
plot (scrList.DDA.amp)
within the loop.
Or read about "subplot":
Categories
Find more on Multirate Signal Processing 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!