支持浮点运算的类. 在Math模块中, 定义了两套内容相同的方法和特殊方法, 因此,既可以使用模块的特殊方法, 又可以将模块包含到类中之后,使用它的普通方法.
例:
pi = Math.atan2(1, 1)*4; include Math pi2 = atan2(1, 1)*4
Math.acos(x)Math.asin(x)Math.atan(x)以弧度返回x的反三角函数值.
返回值的范围分别是[0, +π]
、[-π/2, +π/2]、
(-π/2, +π/2).
在acos(x), asin(x)中,x的取值范围必为 -1.0 <= x <= 1 .(通常返回NaN)
ruby 1.7 特性: acos(), asin()遇到超出范围的参数时,会引发Errno::EDOM异常.
Math.atan2(y, x)返回
[-π , π]
之间的
y/x的反正切值.
Math.acosh(x) ((<ruby 1.7 特性>))Math.asinh(x) ((<ruby 1.7 特性>))Math.atanh(x) ((<ruby 1.7 特性>))返回x的反双曲线函数值.
asinh(x) = log(x + sqrt(x * x + 1)) acosh(x) = log(x + sqrt(x * x - 1)) [x >= 1] atanh(x) = log((1+x)/(1-x)) / 2 [-1 < x < 1]
在acosh(x)中,x的取值范围是x >= 1 . (通常会引发Errno::EDOM异常)
在atanh(x)中,x的取值范围是 -1.0 < x < 1 .(通常会引发Errno::EDOM异常)
Math.cos(x)Math.sin(x)Math.tan(x)返回[-1, 1]之间的以弧度表示的x的三角函数值.
Math.cosh(x) ((<ruby 1.7 特性>))Math.sinh(x) ((<ruby 1.7 特性>))Math.tanh(x) ((<ruby 1.7 特性>))返回x的双曲线函数的值.
cosh(x) = (exp(x) + exp(-x)) / 2 sinh(x) = (exp(x) - exp(-x)) / 2 tanh(x) = sinh(x) / cosh(x)
Math.erf(x) ((<ruby 1.8 特性>))Math.erfc(x) ((<ruby 1.8 特性>))返回 x 的误差函数(erf)、补余误差函数(erfc)的值.
Math.exp(x)返回x 的指数函数的值.
Math.frexp(x)返回实数x 的指数部分和假数部分.
Math.hypot(x, y) ((<ruby 1.7 特性>))返回sqrt(x*x + y*y).
Math.ldexp(x,exp)先以2为底数进行exp的指数运算, 然后乘以实数x,返回计算结果.
Math.log(x)返回x的自然对数.
x必为正数(通常情况下, 若为负值则返回NaN , 若为0则返回-Infinity)
ruby 1.7 特性: 遇到超出范围的参数时, 若为负数则引发Errno::EDOM异常, 若为0则引发Errno::ERANGE异常.
Math.log10(x)返回x的常用对数.
x必为正数(通常情况下, 若为负值则返回NaN , 若为0则返回-Infinity)
ruby 1.7 特性: 遇到超出范围的参数时, 若为负数则引发Errno::EDOM异常, 若为0则引发Errno::ERANGE异常.
Math.sqrt(x)返回x的平方根. 若x为负值, 则引发ArgumentError异常.
ruby 1.7 特性: 通常情况下, 若x为负值,则引发Errno::EDOM异常.