EDA365电子论坛网
标题:
matlab eps
[打印本页]
作者:
ulppknot
时间:
2020-8-20 14:34
标题:
matlab eps
eps是一个函数。当没有参数时默认参数是1.返回的是该参数的精度。
( K X- z4 n+ [
也就是说单个的eps实际上是eps(1),表示的是1的精度。
) M2 v+ M H8 o$ x+ U
这里要说一下精度的概念。浮点数所能表示的数值范围是很大的,但是浮点数不是无限
! b9 h! [2 J: ~: H& y5 D
的,连续的和稠密的;而是有限的,离散的和稀疏的,而且每个数的精度都不一样。越
, {2 ^ Y3 j9 V" D f
是靠近0,精度越高,反之则越低。eps返回的是1的精度。指的是1和离他最近的浮点数
: T' K4 I+ r2 ^, u- ?5 K& v) t
之间的距离。
+ V# ]- ^5 t4 |- n* M
我们输入eps可以看到1的精度。
. E2 F% S, t+ K; M. e$ |
: T. W) [ N# j- K8 z" H: p* P
也就是说离他最近的浮点数和他相差eps(1)。我们可以计算1+eps,他就是离1最近的浮
' J* V! O" h* K% [8 M. Q) ^& q
点数。
: {& a- K7 }* ?6 x1 q
- k% E- e: N( N" I2 g" y& ?
如果我们计算出的数介于这两者之间,系统就会自动把它舍入到离他最近的数。
- x6 i I+ b" Y" l9 _7 [# D
5 Z6 T& N7 o2 }0 V
9 I" [$ z) c* s. {- p }$ T' I
1+eps*3/5离1+eps近,所以1+eps*3/5≈1+eps;1+eps*2/5离1近,所以1+eps*2/5≈1,
! U$ t9 y8 q5 b" m3 `7 q- s
; q7 @- ^2 @" M: j3 R2 ^( \+ R2 w R
* X8 i* D' J- x" c: A" E# c
而1+eps/2在正当中,系统自动把它舍入到1,即1+eps/2≈1
|8 T0 F) L5 b$ B9 p0 s/ [
1 x$ G# _3 n R" g# z6 w [- @* M
6 @& ~( m8 S7 Q3 Z4 j* ^0 [
如果我们输入eps(2)可以看到2的精度,它只有1的精度的一半。即eps(2)=eps*2
7 y& w3 l' f2 u' B
# A& u2 F; o8 y# ^4 d9 v, `
因此系统会认为2+eps≈2,而2+eps*6/5≈2+eps*2=2+eps(2)
0 c# @) g$ S' c! I Q0 v, d# [
作者:
xiaogegepcb
时间:
2020-8-20 14:47
matlab eps
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2