问题描述:
您好,关于matlab的eps
您好,我是一位matlab初学者,今天看了您对eps的解答,对于您遗留下来两个自己思考问题,我实在是想不明白为什么1-(1+eps*3/5)= -2.2204e-016
matlb自己运算:
1-(1+eps*2/5)=0
1-(1+eps*3/5)= -2.2204e-016 →这又是为什么呢
按我的理解,eps乘以任何(0,1)内的数的绝对值都是小于eps,那么eps*3/5的绝对值应该是小于eps的,则 1-(1+eps*3/5)应该也等于1.
即使,把(1+eps*3/5)当做一个量,1+eps*3/5=1+1.3323e-016=2.3323e-016,
2.3323e-016的大于eps,则(1+eps*3/5)不能记为零.
所以有 1-(1+eps*3/5)=1-2.3323e-016=-1.3323e-016
因为|-1.3323e-016|小于esp,所以1-(1+eps*3/5)应该为零.
思考了很久,还希望从发问者这里得到一个详细的解答,
有个地方写错了:1-(1+eps*3/5)应该也等于0.
您好,我是一位matlab初学者,今天看了您对eps的解答,对于您遗留下来两个自己思考问题,我实在是想不明白为什么1-(1+eps*3/5)= -2.2204e-016
matlb自己运算:
1-(1+eps*2/5)=0
1-(1+eps*3/5)= -2.2204e-016 →这又是为什么呢
按我的理解,eps乘以任何(0,1)内的数的绝对值都是小于eps,那么eps*3/5的绝对值应该是小于eps的,则 1-(1+eps*3/5)应该也等于1.
即使,把(1+eps*3/5)当做一个量,1+eps*3/5=1+1.3323e-016=2.3323e-016,
2.3323e-016的大于eps,则(1+eps*3/5)不能记为零.
所以有 1-(1+eps*3/5)=1-2.3323e-016=-1.3323e-016
因为|-1.3323e-016|小于esp,所以1-(1+eps*3/5)应该为零.
思考了很久,还希望从发问者这里得到一个详细的解答,
有个地方写错了:1-(1+eps*3/5)应该也等于0.
问题解答:
我来补答展开全文阅读