登录论坛

查看完整版本 : [MATLAB基础] fprintf语句使用时出错(急!急!急!)


imhiter
2009-11-09, 17:56
在使用如下程序:
%----------------------------------------写入Ellipse_Tri.MAC---------------
filename='Ellipse_Tri.MAC';
fid =fopen(filename,'r+'); %相当于重新建立文件,文件为空白文件,原有信息被清除
numrow=size(Ellipse_Tri);
for i=1:numrow
fprintf(fid,'%s\n',Ellipse_Tri{i}) ;
end
fclose(fid);
%------------------------------------------------------------------------
将元胞数组Ellipse_Tri中的内容写入Ellipse_Tri.MAC文件时,实际写入的内容要比理论应该写入的内容多出几百行,这是什么原因啊,请大家指教。急!急!急!

cooleggyh
2009-12-01, 00:35
因为对那个ellipse_tri不太了解,所以不是很明白。
不过有一点注意到,就是一般做cell array的时候都是
numrow=length(x);
而不是size(x);
因为如果用你的算法numrow会是一个2-1 matrix,所以那个会多出很多行,因为for i=1:numrow会从全是1的矩阵运行到numrow