我有一个非常大的矩阵,想要在继续使用它之前在屏幕上检查它。现在,在显示它时,值完全错误(关闭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。所有其他值也都是错误的,因此可能是格式化问题。关于发生了什么的任何想法?
答案 0 :(得分:2)
这是一个格式问题:由于矩阵太大,我无法向上滚动到Matlab标准格式的开头
format short
声明我的结果是
bigMatrix =
1.0e+03 *
[...bigMatrix...]
所以尽管价值不高,但价格在底部看起来是错误的。将格式更改为
format short g
诀窍。