科学记数法,或为什么你没有丢失任何小数
你没有丢失任何小数,这只是MATLAB显示大数字的方式. MATLAB使用科学计数法将命令窗口和变量编辑器中数字的显示四舍五入到点之前的一位数和之后的四位数.科学记数法是Xe y表示法,其中X是某个数字,y是整数.这意味着X乘以y的幂乘以10,这可以被视为“将点向右移动y个位置”(或者如果y为负则向左移动).
强制MATLAB显示所有小数
既然我们知道MATLAB的作用,我们可以强迫它向我们展示我们的数字吗?当然,有几种选择,最简单的是设置更长的format.最常用于显示长数字的格式是长格式和格式longG,当我们使用它们时它们的区别很明显:
format long
A
A =
8.1472368639e+04
format longG
A
A =
81472.368639
format long使用科学记数法显示所有小数(最多16个),格式longG尝试显示没有科学记数法但最多可用小数的数字:再次:在点之前和之后有多达16位数,总共.
如果您想在点之前,点之后或两者之间使用精确的小数位数,则使用disp(sprintf())或fprintf这是一个更奇特的解决方案:
fprintf('A = %5.3f\n',A) % \n is just to force a line break
A = 81472.369
disp(sprintf('A = %5.2f\n',A))
A = 81472.37
最后,还记得变量编辑器吗?我们如何才能完全显示变量?简单:单击包含数字的单元格:
<