Why doesn't my loop code loop?
Info
Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.
Ältere Kommentare anzeigen
Here is the code I'm trying to use to generate multiple .jpg images by looping.
for a=11:12:143
data1=data1(:,date1(a:a+11,:));
data2=data2(:,date2(a:a+11,:));
R = corr2(data1,data2);
R_squared = R^2;
figure
scatter(data1,data2)
ylabel('CF (unitless)')
xlabel('AOD')
title('Cloud Fraction Vs Aerosol Optical Depth (Ocean only, -10 <= lat <= 7, 1 deg. Monthly Resolution)')
text(4.5,1, ['R^2 = ' num2str(R_squared)])
axis([0 5 0 1])
grid on
year = a+1990;
print('-djpeg','-r300',sprintf('CF vs. AOD-%d.jpg',year))
end
But instead of 11 images like I'm supposed to get (if you divide distance/step size = (154-11)/11) I only get one, the loop isn't looping. Can anyone help me out here, tell me why??
Thanks!
5 Kommentare
per isakson
am 9 Mai 2013
Bearbeitet: per isakson
am 9 Mai 2013
Any warning or error message?
Walter Roberson
am 9 Mai 2013
Please display "a" inside the loop, so that we can see whether it thinks it is looping.
What is the one output file name?
lisa
am 9 Mai 2013
lisa
am 9 Mai 2013
Jordan Monthei
am 9 Mai 2013
are you sure that you are holding your plots each time they are outputting and its not just replacing the last plot with a different image every time it goes through the loop?
Antworten (1)
Image Analyst
am 9 Mai 2013
0 Stimmen
Worked fine for me, so check this out: http://blogs.mathworks.com/videos/2012/07/03/debugging-in-matlab/
2 Kommentare
lisa
am 9 Mai 2013
Image Analyst
am 9 Mai 2013
It's difficult for us to debug without values for date1 and date2. However now that you know how to debug, you will quickly discover what a and a+11 are, and why one of them is not in the valid index range of date1.
Diese Frage ist geschlossen.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!