Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 大数字与小数字之间的细微差别_Matlab - Fatal编程技术网

Matlab 大数字与小数字之间的细微差别

Matlab 大数字与小数字之间的细微差别,matlab,Matlab,我有一个小数字的数据,它们之间的差异很小。当matlab从前4位数字中删除数字时,所有数字似乎都相等。你能告诉我如何更灵敏地计算吗? 例如: 10000000000 ans = 1.0000e+10 >> 10000000001 ans = 1.0000e+10 Matlab正在使用您提供的所有有效数字(最多16位)进行计算。它只显示最重要的数字。它默认为格式短(对于太大而无法用格式短显示的数字,则默认为格式短),显示5位有效数字。正如@Eitan T所指出的

我有一个小数字的数据,它们之间的差异很小。当matlab从前4位数字中删除数字时,所有数字似乎都相等。你能告诉我如何更灵敏地计算吗? 例如:

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)