eps=eps(1),是1的精度。
matlab无法表示介于1和1+eps之间的数,这些数将被四舍五入到1或1+eps。比如1+0.2*eps被舍入到1,而1+0.6*eps被舍入到1+eps。
例:
1+0.2*eps==1%true
1+0.6*eps==1%false
1+0.6*eps==1+eps%true
对浮点数而言,越靠近0,精度就越高。因此2的精度就比1的精度要低。
事实上,matlab无法区分介于2和2+2*eps之间的数。也就是说eps(2)=2*eps。
验证:
2+eps==2%true,说明matlab无法区分2和2+eps
1+eps==1%false,说明matlab可以区分1和1+eps,因此1的精度比2高
0的精度是最高的,也就是说eps(0)是matlab所能表示的最小的正数。