![]() |
[求助]请问eps(x)这个函数的源代码或计算过程
%EPS Spacing of floating point numbers.
% D = EPS(X), is the positive distance from ABS(X) to the next larger in % magnitude floating point number of the same precision as X. % X may be either double precision or single precision. % For all X, EPS(X) = EPS(-X) = EPS(ABS(X)). % % EPS, with no arguments, is the distance from 1.0 to the next larger double % precision number, that is EPS = 2^(-52). % % EPS('double') is the same as EPS, or EPS(1.0). % EPS('single') is the same as EPS(single(1.0)), or single(2^-23). % % Except for denormals, if 2^E <= ABS(X) < 2^(E+1), then % EPS(X) = 2^(E-23) if ISA(X,'single') % EPS(X) = 2^(E-52) if ISA(X,'double') % % Replace expressions of the form % if Y < EPS * ABS(X) % with % if Y < EPS(X) % % Examples: % double precision % eps(1/2) = 2^(-53) % eps(1) = 2^(-52) % eps(2) = 2^(-51) % eps(realmax) = 2^971 % eps(0) = 2^(-1074) % if(abs(x)) <= realmin, eps(x) = 2^(-1074) % eps(Inf) = NaN % eps(NaN) = NaN % single precision % eps(single(1/2)) = 2^(-24) % eps(single(1)) = 2^(-23) % eps(single(2)) = 2^(-22) % eps(realmax('single')) = 2^104 % eps(single(0)) = 2^(-149) % if(abs(x)) <= realmin('single'), eps(x) = 2^(-149) % eps(single(Inf)) = single(NaN) % eps(single(NaN)) = single(NaN) % % See also REALMAX, REALMIN. % Copyright 1984-2005 The MathWorks, Inc. % $Revision: 5.9.4.7 $ $Date: 2005/06/21 19:28:22 $ % Built-in function. 这是个内置函数,我想把Matlab里的某个函数改成vb的,这个函数又调用了eps(x),所以想知道eps(x)的值是怎么计算出来的,好改成vb的,有知道的请不吝赐教~ |
回复: [求助]请问eps(x)这个函数的源代码或计算过程
顶起来啊 别沉了
|
回复: [求助]请问eps(x)这个函数的源代码或计算过程
在matalb里面有修改零阈值的方法吗?在计算矩阵秩的时候这个带来的误差还是不可忽略的,
B = 6.1111 -2.0000 -5.0000 -4.0000 0 7.4565 -3.6364 -1.3091 0 0 5.6259 -0.8147 0 0 0 0.0000 ,上面的0.0000实际是0.0000...17...在计算rank(B)时,会是4,综合所有的误差应该是零的。求助啊! |
所有时间均为北京时间。现在的时间是 11:03。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.