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 件のコメント

Ankit
Ankit 2022 年 9 月 12 日
It will only plot the last file. You need to store the thisfile as array.
Firas Guechchati
Firas Guechchati 2022 年 9 月 12 日
@Ankit could you tell me how, i am a newbie :D

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

回答 (1 件)

Image Analyst
Image Analyst 2022 年 9 月 12 日

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 件のコメント

Firas Guechchati
Firas Guechchati 2022 年 9 月 12 日
my goal is to showcase the plot of every file and not in one image
Torsten
Torsten 2022 年 9 月 12 日
編集済み: Torsten 2022 年 9 月 12 日
Then use
figure(K)
plot (scrList.DDA.amp)
within the loop.
Or read about "subplot":

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

カテゴリ

製品

リリース

R2019b

質問済み:

2022 年 9 月 12 日

編集済み:

2022 年 9 月 12 日

Community Treasure Hunt

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

Start Hunting!

Translated by