How can I create multiple figures in a loop?
64 次查看(过去 30 天)
显示 更早的评论
I'm trying to plot graphs of the same variables from multiple files. The code below just gives me the same graph five times. How do I get the loop to plot a new figure for each different file?
files=dir('s*.mat');
for i=1:length(files)
load (files(i).name)
end
for i=1:length(files)
figure(i)
plot(data.time,data.s)
hold on
end
0 个评论
采纳的回答
Image Analyst
2013-11-8
That's because if all your mat files have variables of the same name in them - data - then they keep overwriting each other and only the last data survives. You'd have to combine the for loops so that you load and then plot at each iteration so you plot the data for the mat file you just loaded.
for k = 1 : length(files)
load (files(k).name)
figure(k)
plot(data.time,data.s)
hold on
end
0 个评论
更多回答(1 个)
Walter Roberson
2013-11-8
Each time you are load()'ing a file, you are overwriting the previous "data" variable.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!