0

这是我的代码,我取数组的平均值。

for m=1:Q
    for n=1:W
        k=k+arr(m,n);
    end      
    k=k/W
    fprintf(fid,'%d\n',k);
    k=0;
end 

它在命令窗口中打印正确但在文本中不正确的值。

命令窗口输出:

k =   52.4665

k =    3.9971

k =   -3.5033

......

文本输出:

     5.246647e+01

    3.997084e+00

    -3.503343e+00

    -1.862232e+00 

...
4

1 回答 1

2

这是格式问题。如果您将fprintf线路更改为

fprintf(fid,'%1.4f\n',k);

您应该得到与 MATLAB 中相同的结果。

查看 formatSpec 部分

http://www.mathworks.com/help/matlab/ref/fprintf.html

于 2013-06-04T15:57:23.497 回答