怎样测试本机Matlab 科学计数法精度值 比如精度值为1.0e-308(当小于这个值时Matlab 显示0)?
展开全部
通常说到比较小的双精度浮点数有这样几个概念:
1、eps(=2.2204e-016),是double数据类型的分辨率,也就是大于1(和1同等精度)的浮点数当中,和1之间最小的的差值。按英语的说法是,the distance from 1.0 to the next larger double precision number。
2、realmin(=2.2251e-308),是最小的规格化(normalized)双精度浮点数(关于什么是规格化,准确的定义请查阅IEEE 754标准)。简单点说,realmin是能够正常运算的最小的双精度浮点数。比realmin更小的浮点数还有,但属于非规格化的(denormal)。
3、比realmin更小的浮点数也有,那么最小的浮点数究竟是多大?可以这样得到:
>> realmin*eps
ans =
4.9407e-324
>> eps(0)
ans =
4.9407e-324
其中,后面的做法需要MATLAB 7.0之后的版本。这样的浮点数不能正常运算,也就是说,运算的结果有可能是错误的,例如
>> realmin*eps*0.6 == realmin*eps
ans =
1
上面说的都是针对double类型而言,对于单精度single类型而言,也有一些概念类似对应的数。
展开全部
每一个机器的最小精度都是由算法统计设定的,与计算机无关
最大只支持双精度,64位浮点
最大只支持双精度,64位浮点
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
eps(n)%n的精度
追问
我问的是本机所能表示的绝对值最小的精度,而不是某个特定的数的精度?
追答
eps(0)
这是matlab所能表达的绝对值最小的数了,再小就是0了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询