如何停止在Matlab中给零赋予非常小的值?

如何停止在Matlab中给零赋予非常小的值?,matlab,matrix,rounding,precision,Matlab,Matrix,Rounding,Precision,假设我有一个矩阵M(3x3) 如果我输出M(1,1:2),它是 但是,如果我做M(1,1:3),前两列为零 不知道如何阻止这种情况发生。非常感谢你的帮助 您需要使用*G版本,该版本允许显示格式自适应,并使用最适合每个元素的格式。有两种变体 format shortG % 1.1574e-17 1.1574e-18 0.01 % 1.1574e-17 1.1574e-18 1 % 1.1574e-17 1.1574e-18

假设我有一个矩阵M(3x3)

如果我输出M(1,1:2),它是

但是,如果我做M(1,1:3),前两列为零


不知道如何阻止这种情况发生。非常感谢你的帮助

您需要使用
*G
版本,该版本允许显示格式自适应,并使用最适合每个元素的格式。有两种变体

format shortG

%   1.1574e-17   1.1574e-18         0.01
%   1.1574e-17   1.1574e-18            1
%   1.1574e-17   1.1574e-18          0.1


您需要使用
*G
版本,该版本允许显示格式是自适应的,并对每个元素使用最合适的格式。有两种变体

format shortG

%   1.1574e-17   1.1574e-18         0.01
%   1.1574e-17   1.1574e-18            1
%   1.1574e-17   1.1574e-18          0.1


格式长g
非常感谢!成功了!任何科学符号格式都可以。您也可以使用
format shortE
format long g
非常感谢!成功了!任何科学符号格式都可以。您也可以使用
格式缩写
ans =
   0.000000000000000   0.000000000000000   0.010000000000000
format shortG

%   1.1574e-17   1.1574e-18         0.01
%   1.1574e-17   1.1574e-18            1
%   1.1574e-17   1.1574e-18          0.1
format longG

%      1.15740740740741e-17      1.15740740740741e-18                      0.01
%      1.15740740740741e-17      1.15740740740741e-18                         1
%      1.15740740740741e-17      1.15740740740741e-18                       0.1