Matlab 大数字与小数字之间的细微差别
我有一个小数字的数据,它们之间的差异很小。当matlab从前4位数字中删除数字时,所有数字似乎都相等。你能告诉我如何更灵敏地计算吗? 例如:Matlab 大数字与小数字之间的细微差别,matlab,Matlab,我有一个小数字的数据,它们之间的差异很小。当matlab从前4位数字中删除数字时,所有数字似乎都相等。你能告诉我如何更灵敏地计算吗? 例如: 10000000000 ans = 1.0000e+10 >> 10000000001 ans = 1.0000e+10 Matlab正在使用您提供的所有有效数字(最多16位)进行计算。它只显示最重要的数字。它默认为格式短(对于太大而无法用格式短显示的数字,则默认为格式短),显示5位有效数字。正如@Eitan T所指出的
10000000000
ans =
1.0000e+10
>> 10000000001
ans =
1.0000e+10
Matlab正在使用您提供的所有有效数字(最多16位)进行计算。它只显示最重要的数字。它默认为
格式短
(对于太大而无法用格式短
显示的数字,则默认为格式短
),显示5位有效数字。正如@Eitan T所指出的,格式长
或格式长e
将显示15位数字。这些数字一点也不小。。。你熟悉这本书吗?在这种表示法中,MATLAB只显示最重要的数字,它不会以任何方式影响计算,数字保持不变。用于更改显示格式(请参阅)。感谢您的回复。如何让Matlab计算16位以上的数字?可以计算50位数吗?当然可以。您可以从符号数学工具箱中使用。您可以使用sprintf获得非科学符号。例如:10000000001.0001;sprintf('.4f',ans)