登录论坛

查看完整版本 : [MATLAB基础] 求助各位大虾:怎么精简for循环


wangleiwlwlwwll
2009-06-11, 17:33
源程序如下:

datafiles=dir('*.bmp');


for m=1:1743
a1=imread(datafiles(m).name);
a2=im2bw(a1);
b2=double(a2);

l=1;
for i=1:1200
for j=1:1600
if b2(i,j)==1&&i>1&&j>1&&i<1200&&j<1600
if b2(i-1,j)==0&&b2(i+1,j)==0&&b2(i,j-1)==0&&b2(i,j+1)==0&&b2(i+1,j+1)==0&&b2(i-1,j-1)==0
d(l)=b2(i,j);
l=l+1;
end
end
end
end

c(m)=d(l)-d(l-1);
f(m)=c(m)/d(l-1);
end


由于for循环次数太多,导致计算机算得过慢。请问各位大虾能不能指点下,怎么精简下,让它运行快点啊!~~~谢谢了····