zanjero
2009-01-05, 13:14
%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的,有知道的请不吝赐教~
% 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的,有知道的请不吝赐教~