MATLAB Answers

lisa
0

Why doesn't my loop code loop?

Asked by lisa
on 9 May 2013

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 Comments

lisa
on 9 May 2013

Here is the error message I get:

Index exceeds matrix dimensions.
Error in Regress_AODloop (line 16)
    data1=data1(:,date1(a:a+11,:));
lisa
on 9 May 2013

'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!!!

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?

Tags

Products

No products are associated with this question.

1 Answer

Answer by Image Analyst
on 9 May 2013

  2 Comments

lisa
on 9 May 2013

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,:));

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.


Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!