怎样测试本机Matlab 科学计数法精度值 比如精度值为1.0e-308(当小于这个值时Matlab 显示0)?

 我来答
tianxiawulang
2014-08-13 · TA获得超过2.7万个赞
知道大有可为答主
回答量:4732
采纳率:89%
帮助的人:2660万
展开全部

通常说到比较小的双精度浮点数有这样几个概念:

 

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类型而言,也有一些概念类似对应的数。

数码答疑

2014-08-12 · 解答日常生活中的数码问题
数码答疑
采纳数:8805 获赞数:18622

向TA提问 私信TA
展开全部
每一个机器的最小精度都是由算法统计设定的,与计算机无关

最大只支持双精度,64位浮点
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
真greatdju
2014-08-11 · TA获得超过3856个赞
知道小有建树答主
回答量:1300
采纳率:91%
帮助的人:756万
展开全部
eps(n)%n的精度
追问
我问的是本机所能表示的绝对值最小的精度,而不是某个特定的数的精度?
追答
eps(0)
这是matlab所能表达的绝对值最小的数了,再小就是0了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式