Ruby 1.9.3 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Mathモジュール

module Math

クラスの継承リスト: Math

要約

浮動小数点演算をサポートするモジュールです。

Math モジュールにはさまざま数学関数がモジュール関数として定義されています。 モジュール関数は以下のように,モジュールの特異メソッドとして呼び出す使い方と、 モジュールをインクルードしてレシーバーを省略した形で呼び出す使い方の両方ができます。

pi = Math.atan2(1, 1)*4;
include Math
pi2 = atan2(1, 1)*4

目次

モジュール関数
acos acosh asin asinh atan atan2 atanh cbrt cos cosh erf erfc exp frexp gamma hypot ldexp lgamma log log10 log2 rsqrt sin sinh sqrt sqrt tan tanh
定数
E PI

モジュール関数

acos(x) -> Float[permalink][rdoc]

x の逆余弦関数の値をラジアンで返します。

[PARAM] x:
-1.0 <= x <= 1 の範囲内の実数
[RETURN]
返される値の範囲は [0, +π] です。
[EXCEPTION] TypeError:
x に数値以外を指定した場合に発生します。
[EXCEPTION] Math::DomainError:
x に範囲外の実数を指定した場合に発生します。
[EXCEPTION] RangeError:
x に実数以外の数値を指定した場合に発生します。
acosh(x) -> Float[permalink][rdoc]

x の逆双曲線余弦関数の値を返します。

定義

acosh(x) = log(x + sqrt(x * x - 1)) [x >= 1]
[PARAM] x:
x >= 1 の範囲の実数
[EXCEPTION] TypeError:
x に数値以外を指定した場合に発生します。
[EXCEPTION] Math::DomainError:
x に範囲外の実数を指定した場合に発生します。
[EXCEPTION] RangeError:
x に実数以外の数値を指定した場合に発生します。
asin(x) -> Float[permalink][rdoc]

x の逆正弦関数の値をラジアンで返します。

[PARAM] x:
-1.0 <= x <= 1 の範囲内の実数
[RETURN]
返される値の範囲は[-π/2, +π/2] です。
[EXCEPTION] TypeError:
x に数値以外を指定した場合に発生します。
[EXCEPTION] Math::DomainError:
x に範囲外の実数を指定した場合に発生します。
[EXCEPTION] RangeError:
x に実数以外の数値を指定した場合に発生します。
asinh(x) -> Float[permalink][rdoc]

x の逆双曲線正弦関数の値を返します。

定義

asinh(x) = log(x + sqrt(x * x + 1))
[PARAM] x:
実数
[EXCEPTION] TypeError:
x に数値以外を指定した場合に発生します。
[EXCEPTION] RangeError:
x に実数以外の数値を指定した場合に発生します。
atan(x) -> Float[permalink][rdoc]

x の逆正接関数の値をラジアンで返します。

[PARAM] x:
実数
[RETURN]
返される値の範囲は [-π/2, +π/2] です。
[EXCEPTION] TypeError:
x に数値以外を指定した場合に発生します。
[EXCEPTION] RangeError:
x に実数以外の数値を指定した場合に発生します。
atan2(y, x) -> Float[permalink][rdoc]

y / x の逆正接関数の値を返します。

[PARAM] y:
実数
[PARAM] x:
実数
[RETURN]
返される値の範囲は [-π, π] です。
Math.atan2(1,0)   #=>  1.5707963267949
Math.atan2(-1,0)  #=> -1.5707963267949
[EXCEPTION] TypeError:
y, x に数値以外を指定した場合に発生します。
[EXCEPTION] RangeError:
y, x に実数以外の数値を指定した場合に発生します。
[EXCEPTION] DomainError:
引数 y, x の両方に Float::INFINITY を指定した 場合に発生します。
atanh(x) -> Float[permalink][rdoc]

x の逆双曲線正接関数の値を返します。

定義

atanh(x) = log((1+x)/(1-x)) / 2     [-1 < x < 1]
[PARAM] x:
-1 < x < 1 の実数
[RETURN]
実数
[EXCEPTION] TypeError:
x に数値以外を指定した場合に発生します。
[EXCEPTION] Math::DomainError:
x に範囲外の実数を指定した場合に発生します。
[EXCEPTION] RangeError:
x に実数以外の数値を指定した場合に発生します。
cbrt(x) -> Float[permalink][rdoc]

x の立方根を返します。

[PARAM] x:
実数
[EXCEPTION] TypeError:
xに数値以外を指定した場合に発生します。
[EXCEPTION] RangeError:
xに実数以外の数値を指定した場合に発生します。
cos(x) -> Float[permalink][rdoc]

x の余弦関数の値をラジアンで返します。

[PARAM] x:
実数
[RETURN]
[-1, 1] の実数
[EXCEPTION] TypeError:
x に数値以外を指定した場合に発生します。
[EXCEPTION] RangeError:
x に実数以外の数値を指定した場合に発生します。
cosh(x) -> Float[permalink][rdoc]

x の双曲線余弦関数の値を返します。

定義

cosh(x) = (exp(x) + exp(-x)) / 2
[PARAM] x:
実数
[EXCEPTION] TypeError:
x に数値以外を指定した場合に発生します。
[EXCEPTION] RangeError:
x に実数以外の数値を指定した場合に発生します。
erf(x) -> Float[permalink][rdoc]

x の誤差関数の値を返します。

[PARAM] x:
実数
[EXCEPTION] TypeError:
x に数値以外を指定した場合に発生します。
[EXCEPTION] RangeError:
x に実数以外の数値を指定した場合に発生します。
erfc(x) -> Float[permalink][rdoc]

x の相補誤差関数の値を返します。

[PARAM] x:
実数
[EXCEPTION] TypeError:
x に数値以外を指定した場合に発生します。
[EXCEPTION] RangeError:
x に実数以外の数値を指定した場合に発生します。
exp(x) -> Float[permalink][rdoc]

x の指数関数の値を返します。

すなわち e の x 乗の値を返します( e は自然対数の底)。

[PARAM] x:
実数
[EXCEPTION] TypeError:
x に数値以外を指定した場合に発生します。
[EXCEPTION] RangeError:
x に実数以外の数値を指定した場合に発生します。

[SEE_ALSO] exp(3)

frexp(x) -> [Float, Fixnum][permalink][rdoc]

実数 x の仮数部と指数部の配列を返します。

[PARAM] x:
実数
[EXCEPTION] TypeError:
x に数値以外を指定した場合に発生します。
[EXCEPTION] RangeError:
x に実数以外の数値を指定した場合に発生します。
gamma(x) -> Float[permalink][rdoc]

x のガンマ関数の値を返します。

[PARAM] x:
実数
[EXCEPTION] TypeError:
xに数値以外を指定した場合に発生します。
[EXCEPTION] Math::DomainError:
x に負の整数、もしくは -∞ を渡した場合に発生します。
[EXCEPTION] RangeError:
xに実数以外の数値を指定した場合に発生します。
hypot(x, y) -> Float[permalink][rdoc]

sqrt(x*x + y*y) を返します。

この値は x, y を直交する 2 辺とする直角三角形の斜辺(hypotenuse)の長さです。

[PARAM] x:
実数
[PARAM] y:
実数
[EXCEPTION] TypeError:
引数のどちらかに数値以外を指定した場合に発生します。
[EXCEPTION] RangeError:
引数のどちらかに実数以外の数値を指定した場合に発生します。
Math.hypot(3, 4) #=> 5.0
ldexp(x, exp) -> Float[permalink][rdoc]

実数 x に 2 の exp 乗をかけた数を返します。

[PARAM] x:
実数
[PARAM] exp:
整数。小数点以下切捨て。
[EXCEPTION] TypeError:
引数のどちらかに数値以外を指定した場合に発生します。
[EXCEPTION] RangeError:
引数のどちらかに実数以外の数値を指定した場合に発生します。
lgamma(x) -> [Float, Integer][permalink][rdoc]

log(|gamma(x)|) と、gamma(x) の符号を返します。

符号は +1 もしくは -1 で返されます。

[PARAM] x:
実数
[EXCEPTION] TypeError:
xに数値以外を指定した場合に発生します。
[EXCEPTION] Math::DomainError:
x に -∞ を渡した場合に発生します。
[EXCEPTION] RangeError:
xに実数以外の数値を指定した場合に発生します。

[SEE_ALSO] Math.#gamma

log(x) -> Float[permalink][rdoc]
log(x, b) -> Float

x の対数を返します。

引数 x, b の両方に 0 を指定した場合は -Float::INFINITY を返します。

[PARAM] x:
正の実数を指定します。
[PARAM] b:
底を指定します。省略した場合は自然対数を計算します。
[EXCEPTION] TypeError:
引数のどちらかに数値以外を指定した場合に発生します。
[EXCEPTION] RangeError:
引数のどちらかに実数以外の数値を指定した場合に発生します。
[EXCEPTION] DomainError:
引数 x に負の数を指定した場合に発生します。
log10(x) -> Float[permalink][rdoc]

x の常用対数を返します。

[PARAM] x:
正の実数
[EXCEPTION] TypeError:
xに数値以外を指定した場合に発生します。
[EXCEPTION] Math::DomainError:
x に範囲外の実数を指定した場合に発生します。
[EXCEPTION] RangeError:
xに実数以外の数値を指定した場合に発生します。
log2(x) -> Float[permalink][rdoc]

2 を底とする x の対数 (binary logarithm) を返します。

[PARAM] x:
正の実数
[EXCEPTION] TypeError:
xに数値以外を指定した場合に発生します。
[EXCEPTION] Math::DomainError:
x に範囲外の実数を指定した場合に発生します。
[EXCEPTION] RangeError:
xに実数以外の数値を指定した場合に発生します。
rsqrt(a) -> Numeric[permalink][rdoc] [redefined by mathn]

[TODO]

複素数を考慮しないので、負の数や Complex をあたえないでください。

a が Float の時は、Float を返します。 それ以外の時、平方根が有理数であれば、Rational または Integer を返します。 無理数であれば、Float を返します。

sin(x) -> Float[permalink][rdoc]

x の正弦関数の値をラジアンで返します。

[PARAM] x:
実数
[RETURN]
[-1, 1] の実数
[EXCEPTION] TypeError:
x に数値以外を指定した場合に発生します。
[EXCEPTION] RangeError:
x に実数以外の数値を指定した場合に発生します。
sinh(x) -> Float[permalink][rdoc]

x の双曲線正弦関数の値を返します。

定義

sinh(x) = (exp(x) - exp(-x)) / 2
[PARAM] x:
実数
[EXCEPTION] TypeError:
x に数値以外を指定した場合に発生します。
[EXCEPTION] RangeError:
x に実数以外の数値を指定した場合に発生します。
sqrt(a) -> Numeric[permalink][rdoc] [redefined by mathn]

[TODO]

a の正の平方根を返します。 a が Complex の時は、Complex を返します。 a が負の時は、a を正にして、その平方根を Complex の虚数部に入れて返します。 それ以外は、Math.rsqrt の結果を返します。

sqrt(x) -> Float[permalink][rdoc]

x の平方根を返します。

[PARAM] x:
正の実数
[EXCEPTION] TypeError:
xに数値以外を指定した場合に発生します。
[EXCEPTION] Math::DomainError:
x に範囲外の実数を指定した場合に発生します。
[EXCEPTION] RangeError:
xに実数以外の数値を指定した場合に発生します。
tan(x) -> Float[permalink][rdoc]

x の正接関数の値をラジアンで返します。

[PARAM] x:
実数
[RETURN]
実数
[EXCEPTION] TypeError:
x に数値以外を指定した場合に発生します。
[EXCEPTION] RangeError:
x に実数以外の数値を指定した場合に発生します。
tanh(x) -> Float[permalink][rdoc]

x の双曲線正接関数の値を返します。

定義

tanh(x) = sinh(x) / cosh(x)
[PARAM] x:
実数
[RETURN]
[-1, 1] の範囲の実数
[EXCEPTION] TypeError:
x に数値以外を指定した場合に発生します。
[EXCEPTION] RangeError:
x に実数以外の数値を指定した場合に発生します。

定数

E -> Float[permalink][rdoc]

自然対数の底

p Math::E
# => 2.718281828
PI -> Float[permalink][rdoc]

円周率

p Math::PI
# => 3.141592654