Why doesn't my loop code loop?

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

per isakson
per isakson 2013년 5월 9일
편집: per isakson 2013년 5월 9일
Any warning or error message?
Walter Roberson
Walter Roberson 2013년 5월 9일
Please display "a" inside the loop, so that we can see whether it thinks it is looping.
What is the one output file name?
Here is the error message I get:
Index exceeds matrix dimensions.
Error in Regress_AODloop (line 16)
data1=data1(:,date1(a:a+11,:));
'a' is in the loop, 2nd and 3rd lines:
data1=data1(:,date1(a:a+11,:));
data2=data2(:,date2(a:a+11,:));
Output file name (hopefully) = 'CF vs. AOD-%d.jpg',year
Thanks so much guys!!!
Jordan Monthei
Jordan Monthei 2013년 5월 9일
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?

답변 (1개)

Image Analyst
Image Analyst 2013년 5월 9일

0 개 추천

댓글 수: 2

so basically I use dbstop if error and conditional breakpoint right? But I don't know why I get the error, not like his error which is pretty straightforward...Here is the error msg I get:
Index exceeds matrix dimensions.
Error in Regress_AODloop (line 16)
data1=data1(:,date1(a:a+11,:));
Image Analyst
Image Analyst 2013년 5월 9일
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.

이 질문은 마감되었습니다.

태그

질문:

2013년 5월 9일

마감:

2021년 8월 20일

Community Treasure Hunt

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

Start Hunting!

Translated by