矩阵值的Matlab命令窗口输出与文件中的输出不匹配

时间:2015-04-23 03:37:07

标签: matlab matrix

我有一个非常大的矩阵,想要在继续​​使用它之前在屏幕上检查它。现在,在显示它时,值完全错误(关闭100倍),但是当我将它们打印到文件时,一切都很好。 (在这里我会喜欢发布这张照片,但我没有足够的声誉......)这是代码:

disp(bigMatrix) %does not work the way I expected

for i = 1:size(bigMatrix, 1)                     %from here to
    for j = 1:size(bigMatrix, 2)                 %
        fprintf(fileOne, '%f', bigMatrix(i,j));  %
        fprintf(fileOne, '\t');                  %
    end                                          %
    fprintf(fileOne, '\r\n');                    %
end                                              %here everything is perfect

所以,在我的文件中,我在每列的末尾有一个1,其中disp()函数(或只是输入我的矩阵的名称)给我一个0.0010。所有其他值也都是错误的,因此可能是格式化问题。关于发生了什么的任何想法?

1 个答案:

答案 0 :(得分:2)

这是一个格式问题:由于矩阵太大,我无法向上滚动到Matlab标准格式的开头

format short

声明我的结果是

bigMatrix =

             1.0e+03 *

              [...bigMatrix...]

所以尽管价值不高,但价格在底部看起来是错误的。将格式更改为

format short g

诀窍。