title: MATLAB index out of bounds error
body: <p>I have wrote the following snippet of code however, I am receiving an index out of bounds error. I am unsure how to fix this. Does anyone know how I can resolve it. Thanks in advance!</p>
  
  <pre><code>image = imread('image_3.jpg');
  
  %parameters
  N = 100; 
  smth = rgb2gray(image);
  
  % Calculating size of image
  [row col] = size(image);
  
  eline = smth; %eline is simply the image intensities
  
  [grady,gradx] = gradient(double(smth));
  
  eedge = -1 * sqrt ((gradx .* gradx + grady .* grady)); %eedge is measured by gradient in the image
  
  m1 = [-1 1];
  m2 = [-1;1];
  m3 = [1 -2 1];
  m4 = [1;-2;1];
  m5 = [1 -1;-1 1];
  
  cx = conv2(smth,m1,'same');
  cy = conv2(smth,m2,'same');
  cxx = conv2(smth,m3,'same');
  cyy = conv2(smth,m4,'same');
  cxy = conv2(smth,m5,'same');
  
  for i = 1:row
  for j= 1:col-1
  
      eterm(i,j) = (cyy(i,j)*cx(i,j)*cx(i,j) -2 *cxy(i,j)*cx(i,j)*cy(i,j) + cxx(i,j)*cy(i,j)*cy(i,j))/((1+cx(i,j)*cx(i,j) + cy(i,j)*cy(i,j))^1.5);
  end
  end
  
  ??? Attempted to access cyy(1,901); index out of bounds because
  size(cyy)=[700,900].
  
  Error in ==&gt; snake at 31
      eterm(i,j) = (cyy(i,(j-1)+1)*cx(i,j)*cx(i,j) -2
      *cxy(i,j)*cx(i,j)*cy(i,j) +
      cxx(i,j)*cy(i,j)*cy(i,j))/((1+cx(i,j)*cx(i,j) +
      cy(i,j)*cy(i,j))^1.5);
  </code></pre>