How can I create multiple figures in a loop?

조회 수: 89 (최근 30일)
B C
B C 2013년 11월 8일
답변: Image Analyst 2013년 11월 8일
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

채택된 답변

Image Analyst
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

추가 답변 (1개)

Walter Roberson
Walter Roberson 2013년 11월 8일
Each time you are load()'ing a file, you are overwriting the previous "data" variable.

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by