我做了个MATLAB的程序,是一个循环(for...end),每个不同的i都会有个不同的结果X对应,于是我就用fprintf来输出每个不同i时m的值,但是每次下一个m都把前一个m值给代替了,最后得到的不是一组数据而是1个m值,不知道应该怎样做呢?以下是程序:
pix=7.4e-6;
X=1.41;
Y=0.96;
D=[8 10:5:50 60:10:100];
for i=1:length(D)
for j=1
A=imread(['D',num2str(D(i)),'_',num2str(j),'.tif']);
if (j==1)
figure(1),BW = roipoly(A);
end
IM=double(A).*double(BW);
level=graythresh(IM)
BW = im2bw(IM,level);
if (j==1)
figure(2),imagesc(BW),
surf(i)=bwarea(BW)/(640*480) %4.8095e+004 15.61%
m=[i,surf(i)];
end
end
fid = fopen('exp.txt','w');
fprintf(fid,'%6.2f %12.8f\n',m);
fclose(fid);
end
我也试过放在最外面,可是还是只有最后一组数据