www.gusucode.com > 关于海航matlab和lingo的训练题 > bianjie.m

    %5. 找区域边界
function [left, right, up, down] = bianjie(A)
[m n] = size(A);
left = -1;
right = -1;
up = -1;
down = -1;
for j=1:n,
   for i=1:m,
     if (A(i,j) ~= 0)
      left = j;
      break;
     end;
   end;
   if (left ~= -1) break; 
   end;
end;
for j=n:-1:1,
for i=1:m,
if (A(i,j) ~= 0)
   right = j;
   break;
end;
end;
if (right ~= -1) break; 
end;
end;
for i=1:m,
for j=1:n,
    if (A(i,j) ~= 0)
    up = i;
    break;
    end;
end;
    if (up ~= -1)
      break;
    end;
end;
for i=m:-1:1,
   for j=1:n,
     if (A(i,j) ~= 0)
      down = i;
      break;
     end;
   end;
    if (down ~= -1) 
     break; 
    end;
end;