Math

支持浮点小数计算的模块。

模块方法

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)。

acos() 和 asin() 遇到超出范围的参数,会抛出 Errno::EDOM 异常。

Math.atan2(y, x)

返回 [-π, π] 范围内的 y/x 反正切函数。

Math.acosh(x)
Math.asinh(x)
Math.atanh(x)

返回 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 必须 >= 1(通常会抛出 Errno::EDOM 异常)。

在 atanh(x),x 必须在 -1.0 < x < 1 的范围内(通常会抛出 Errno::EDOM 异常)。

Math.cos(x)
Math.sin(x)
Math.tan(x)

以弧度返回 x 的三角函数 [-1, 1] 的范围内的计算值。

Math.cosh(x)
Math.sinh(x)
Math.tanh(x)

返回 x 的双曲函数计算值。

cosh(x) = (exp(x) + exp(-x)) / 2
sinh(x) = (exp(x) - exp(-x)) / 2
tanh(x) = sinh(x) / cosh(x)
Math.erf(x)
Math.erfc(x)

返回 x 的误差函数(erf)、补余误差函数(erfc)的计算值。

Math.exp(x)

返回 x 的指数函数计算值。

Math.frexp(x)

返回实数 x 的浮点数字表示法(exponent and mantissa 指数与假数)。

Math.hypot(x, y)

返回 sqrt(x*x + y*y)。

Math.ldexp(x, exp)

返回实数 x 乘以 2 的 exp 次方。

Math.log(x)

返回 x 的自然对数。

x 必须是正值(通常负值会返回 NaN,0 会返回负无穷)。

超出范围的参数,负数会抛出 Errno::EDOM 异常,而 0 会抛出 Errno::ERANGE 异常。

Math.log10(x)

返回 x 的常用对数。

x 必须是正值(通常负值会返回 NaN,0 会返回负无穷)。

超出范围的参数,负数会抛出 Errno::EDOM 异常,而 0 会抛出 Errno::ERANGE 异常。

Math.sqrt(x)

返回 x 的平方根。若 x 为负数,抛出 ArgumentError 异常。

通常负数会抛出 Errno::EDOM 异常。

定数

E

自然对数的底数。

p Math::E
# => 2.718281828
PI

圆周率。

p Math::PI
# => 3.141592654