Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Mathモジュール
module Math
クラスの継承リスト: Math
Abstract
浮動小数点演算をサポートするモジュールです。
Math モジュールにはさまざま数学関数がモジュール関数として定義されています。 モジュール関数は以下のように,モジュールの特異メソッドとして呼び出す使い方と、 モジュールをインクルードしてレシーバーを省略した形で呼び出す使い方の両方ができます。
例
pi = Math.atan2(1, 1)*4; include Math pi2 = atan2(1, 1)*4
モジュール関数
acos(z) -> Complex
[redefined by complex]-
複素関数としてのacos関数(逆cos関数)の結果を返します。
acos関数は以下で定義されます。
acos(z) = -i * log(z + i*sqrt(1-z*z))
- [PARAM] z:
- 複素数
acos(x) -> Float
-
x の逆余弦関数の値をラジアンで返します。
- [PARAM] x:
- -1.0 <= x <= 1 の範囲内の実数
- [RETURN]
- 返される値の範囲は [0, +π] です。
- [EXCEPTION] Errno::EDOM:
- 引数に範囲外の値を指定した場合に発生します
acosh(z) -> Complex
[redefined by complex]-
複素関数としてのacosh関数(双曲逆cos関数)の結果を返します。
acosh関数は以下で定義されます。
acosh(z) = log(z + sqrt(z*z-1))
- [PARAM] z:
- 複素数
acosh(x) -> Float
-
x の逆双曲線余弦関数の値を返します。
定義
acosh(x) = log(x + sqrt(x * x - 1)) [x >= 1]
- [PARAM] x:
- x >= 1 の範囲の実数
- [EXCEPTION] Errno::EDOM:
- 範囲外の値を引数に指定した場合に発生します
asin(z) -> Complex
[redefined by complex]-
複素関数としてのasin関数(逆sin関数)の結果を返します。
asin関数は以下で定義されます。
asin(z) = -i * log(i*z + sqrt(1-z*z))
- [PARAM] z:
- 複素数
asin(x) -> Float
-
x の逆正弦関数の値をラジアンで返します。
- [PARAM] x:
- -1.0 <= x <= 1 の範囲内の実数
- [RETURN]
- 返される値の範囲は[-π/2, +π/2] です。
- [EXCEPTION] Errno::EDOM:
- 引数に範囲外の値を指定した場合に発生します
asinh(x) -> Float
-
x の逆双曲線正弦関数の値を返します。
定義
asinh(x) = log(x + sqrt(x * x + 1))
- [PARAM] x:
- 実数
asinh(z) -> Complex
[redefined by complex]-
複素関数としてのasinh関数(双曲逆sin関数)の結果を返します。
asinh関数は以下で定義されます。
asinh(z) = log(z + sqrt(z*z+1))
- [PARAM] z:
- 複素数
atan(z) -> Complex
[redefined by complex]-
複素関数としてのatan関数(逆tan関数)の結果を返します。
atan関数は以下で定義されます。
atan(z) = i/2 * log((i+z) / (i-z))
- [PARAM] z:
- 複素数
atan(x) -> Float
-
x の逆正接関数の値をラジアンで返します。
- [PARAM] x:
- 実数
- [RETURN]
- 返される値の範囲は [-π/2, +π/2] です。
atan2(x, y) -> Float
-
x / y の逆正接関数の値を返します。
- [PARAM] x:
- 実数
- [PARAM] y:
- 実数
- [RETURN]
- 返される値の範囲は [-π/2, π/2] です。
Math.atan2(1,0) #=> 1.5707963267949 Math.atan2(-1,0) #=> -1.5707963267949
atan2(z) -> Complex
[redefined by complex]-
複素関数としてのatan2関数の結果を返します。
atan2関数は以下で定義されます。
atan2(y, x) = -i * log( (x + i * y) / sqrt( x*x + y*y ) )
- [PARAM] z:
- 複素数
atanh(x) -> Float
-
x の逆双曲線正接関数の値を返します。
定義
atanh(x) = log((1+x)/(1-x)) / 2 [-1 < x < 1]
- [PARAM] x:
- -1 < x < 1 の実数
- [RETURN]
- 実数
- [EXCEPTION] Errno::EDOM:
- 範囲外の値を引数に指定した場合に発生します
atanh(z) -> Complex
[redefined by complex]-
複素関数としてのatanh関数(双曲逆tan関数)の結果を返します。
atanh関数は以下で定義されます。
atanh(z) = 1/2 * log((1+z) / (1-z))
- [PARAM] z:
- 複素数
cos(x) -> Float
-
x の余弦関数の値をラジアンで返します
- [PARAM] x:
- 実数
- [RETURN]
- [-1, 1] の実数
cos(z) -> Complex
[redefined by complex]-
複素関数としてのcos関数の結果を返します。
cos関数は以下で定義されます。
cos(z) = (exp(i * z) + exp(-i * z)) / 2
- [PARAM] z:
- 複素数
cosh(x) -> Float
-
x の双曲線余弦関数の値を返します
定義
cosh(x) = (exp(x) + exp(-x)) / 2
- [PARAM] x:
- 実数
cosh(z) -> Complex
[redefined by complex]-
複素関数としてのcosh関数(双曲線cos関数)の結果を返します。
cosh関数は以下で定義されます。
cosh(z) = (exp(z) + exp(-z)) / 2
- [PARAM] z:
- 複素数
erf(x) -> Float
-
x の誤差関数の値を返します。
- [PARAM] x:
- 実数
erfc(x) -> Float
-
x の相補誤差関数の値を返します。
- [PARAM] x:
- 実数
exp(z) -> Complex
[redefined by complex]-
指数関数(自然対数 e の z 乗)を返します。
複素数 z = a + b *i に対する exp(z) の定義は以下です。
exp(z) = exp(a) * exp(i * b)
- [PARAM] z:
- 複素数
[注意]
虚部が 0 でも [[c:Complex]] クラスのオブジェクトであれば [[c:Complex]] クラスのオブジェクトを返すことに注意してください。 n = 2 z = Complex.new(2, 0) p Math.exp(n) #=> 7.38905609893065 p Math.exp(z) #=> Complex(7.38905609893065, 0.0)
exp(x) -> Float
-
x の指数関数の値を返します。
すなわち e の x 乗の値を返します( e は自然対数の底)。
- [PARAM] x:
- 実数
[SEE_ALSO] exp(3)
frexp(x) -> [Float, Fixnum]
-
実数 x の仮数部と指数部の配列を返します。
- [PARAM] x:
- 実数
hypot(x, y) -> Float
-
sqrt(x*x + y*y) を返します。
- [PARAM] x:
- 実数
- [PARAM] y:
- 実数
ldexp(x, exp) -> Float
-
実数 x に 2 の exp 乗をかけた数を返します。
- [PARAM] x:
- 実数
- [PARAM] exp:
- 整数。小数点以下切捨て。
log(z) -> Complex
[redefined by complex]-
複素数 z の自然対数を返します。
絶対値 r 偏角 theta の複素数 z に対する log(z) は以下で定義されます。
log(z) = log(r) + i * theta
- [PARAM] z:
- 複素数
[注意]
虚部が 0 でも [[c:Complex]] クラスのオブジェクトであれば [[c:Complex]] クラスのオブジェクトを返すことに注意してください。 n = 2 z = Complex.new(2, 0) p Math.log(n) #=> 0.693147180559945 p Math.log(z) #=> Complex(0.693147180559945, 0.0)
log(x) -> Float
-
x の自然対数を返します。
- [PARAM] x:
- 正の実数
- [EXCEPTION] Errno::EDOM:
- 引数が負の値である場合に発生します
- [EXCEPTION] Errno::ERANGE:
- 引数が 0 の場合に発生します
log10(x) -> Float
-
x の常用対数を返します。
- [PARAM] x:
- 正の実数
- [EXCEPTION] Errno::EDOM:
- 引数が負の値である場合に発生します
- [EXCEPTION] Errno::ERANGE:
- 引数が 0 の場合に発生します
log10(z) -> Complex
[redefined by complex]-
複素数 z の常用対数を返します。
複素数 z に対する log10(z) は以下で定義されます。
log10(z) = log(z) / log(10)
- [PARAM] z:
- 複素数
[注意]
虚部が 0 でも [[c:Complex]] クラスのオブジェクトであれば [[c:Complex]] クラスのオブジェクトを返すことに注意してください。 n = 2 z = Complex.new(2, 0) p Math.log10(n) #=> 0.301029995663981 p Math.log10(z) #=> Complex(0.301029995663981, 0.0)
log2(x) -> Float
-
2 を底とする x の対数 (binary logarithm) を返す。
- [PARAM] x:
- 正の実数
- [EXCEPTION] Errno::EDOM:
- 引数が負の値である場合に発生します
- [EXCEPTION] Errno::ERANGE:
- 引数が 0 の場合に発生します
sin(x) -> Float
-
x の正弦関数の値をラジアンで返します
- [PARAM] x:
- 実数
- [RETURN]
- [-1, 1] の実数
sin(z) -> Complex
[redefined by complex]-
複素関数としてのsin関数の結果を返します。
sin関数は以下で定義されます。
sin(z) = (exp(i * z) - exp(-i * z)) / 2
- [PARAM] z:
- 複素数
sinh(z) -> Complex
[redefined by complex]-
複素関数としてのsinh関数(双曲線sin関数)の結果を返します。
sinh関数は以下で定義されます。
sinh(z) = (exp(z) - exp(-z)) / 2
- [PARAM] z:
- 複素数
sinh(x) -> Float
-
x の双曲線正弦関数の値を返します
定義
sinh(x) = (exp(x) - exp(-x)) / 2
- [PARAM] x:
- 実数
sqrt(a)
[redefined by mathn]-
a の正の平方根を返します。 a が Complex の時は、Complex を返します。 a が負の時は、a を正にして、その平方根を Complex の虚数部に入れて返します。 それ以外は、Math.rsqrt の結果を返します。
sqrt(z) -> Complex
[redefined by complex]-
z の平方根を返します。
複素関数としてのsqrt()の定義は以下です。
sqrt(z) = sqrt(r) * exp(i * t/2)
- [PARAM] z:
- 平方根を求める複素数
[注意]
虚部が 0 でも [[c:Complex]] クラスのオブジェクトであれば [[c:Complex]] クラスのオブジェクトを返すことに注意してください。 n = 2 z = Complex.new(2, 0) p Math.sqrt(n) #=> 1.4142135623731 p Math.sqrt(z) #=> Complex(1.4142135623731, 0.0)
sqrt(x) -> Float
-
x の平方根を返します。
- [PARAM] x:
- 正の実数
- [EXCEPTION] Errno::EDOM:
- 引数が負の値である場合に発生します。
tan(z) -> Complex
[redefined by complex]-
複素関数としてのtan関数の結果を返します。
tan関数は以下で定義されます。
tan(z) = sin(z) / cos(z)
- [PARAM] z:
- 複素数
tan(x) -> Float
-
x の正接関数の値をラジアンで返します
- [PARAM] x:
- 実数
- [RETURN]
- 実数
tanh(x) -> Float
-
x の双曲線正接関数の値を返します
定義
tanh(x) = sinh(x) / cosh(x)
- [PARAM] x:
- 実数
- [RETURN]
- [-1, 1] の範囲の実数
tanh(z) -> Complex
[redefined by complex]-
複素関数としてのtanh関数(双曲線tan関数)の結果を返します。
tanh関数は以下で定義されます。
tanh(z) = sinh(z) / cosh(z)
- [PARAM] z:
- 複素数
定数
E -> Float
-
自然対数の底
p Math::E # => 2.718281828
PI -> Float
-
円周率
p Math::PI # => 3.141592654
追加されるメソッド
rsqrt(a)
[added by mathn]-
複素数を考慮しないので、負の数や Complex をあたえないでください。
a が Float の時は、Float を返します。 それ以外の時、平方根が有理数であれば、Rational または Integer を返します。 無理数であれば、Float を返します。