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

module Math

クラスの継承リスト: Math

要約

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

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

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

モジュール関数

acos(x) -> Float

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

[PARAM] x:
-1.0 <= x <= 1 の範囲内の実数
[RETURN]
返される値の範囲は [0, +π] です。
[EXCEPTION] Errno::EDOM:
引数に範囲外の値を指定した場合に発生します。
acos(z) -> Complex [redefined by complex]

複素関数としてのacos関数(逆cos関数)の結果を返します。

acos関数は以下で定義されます。

acos(z) = -i * log(z + i*sqrt(1-z*z))
[PARAM] z:
複素数
acosh(x) -> Float

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

定義

acosh(x) = log(x + sqrt(x * x - 1)) [x >= 1]
[PARAM] x:
x >= 1 の範囲の実数
[EXCEPTION] Errno::EDOM:
範囲外の値を引数に指定した場合に発生します。
acosh(z) -> Complex [redefined by complex]

複素関数としてのacosh関数(双曲逆cos関数)の結果を返します。

acosh関数は以下で定義されます。

acosh(z) = log(z + sqrt(z*z-1))
[PARAM] z:
複素数
asin(x) -> Float

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

[PARAM] x:
-1.0 <= x <= 1 の範囲内の実数
[RETURN]
返される値の範囲は[-π/2, +π/2] です。
[EXCEPTION] Errno::EDOM:
引数に範囲外の値を指定した場合に発生します。
asin(z) -> Complex [redefined by complex]

複素関数としてのasin関数(逆sin関数)の結果を返します。

asin関数は以下で定義されます。

asin(z) = -i * log(i*z + sqrt(1-z*z))
[PARAM] z:
複素数
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(x) -> Float

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

[PARAM] x:
実数
[RETURN]
返される値の範囲は [-π/2, +π/2] です。
atan(z) -> Complex [redefined by complex]

複素関数としてのatan関数(逆tan関数)の結果を返します。

atan関数は以下で定義されます。

atan(z) = i/2 * log((i+z) / (i-z))
[PARAM] z:
複素数
atan2(y, x) -> Float

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

[PARAM] y:
実数
[PARAM] x:
実数
[RETURN]
返される値の範囲は [-π, π] です。
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(x) -> Float

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

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

[PARAM] x:
実数

[SEE_ALSO] exp(3)

exp(z) -> Complex [redefined by complex]

指数関数(自然対数 e の z 乗)を返します。

複素数 z = a + b *i に対する exp(z) の定義は以下です。

exp(z)  = exp(a) * exp(i * b)
[PARAM] z:
複素数
注意

虚部が 0 でも Complex クラスのオブジェクトであれば Complex クラスのオブジェクトを返すことに注意してください。

n = 2
z = Complex.new(2, 0)

p Math.exp(n) #=> 7.38905609893065
p Math.exp(z) #=> Complex(7.38905609893065, 0.0)
frexp(x) -> [Float, Fixnum]

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

[PARAM] x:
実数
hypot(x, y) -> Float

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

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

[PARAM] x:
実数
[PARAM] y:
実数
Math.hypot(3, 4) #=> 5.0
ldexp(x, exp) -> Float

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

[PARAM] x:
実数
[PARAM] exp:
整数。小数点以下切捨て。
log(x) -> Float

x の自然対数を返します。

[PARAM] x:
正の実数
[EXCEPTION] Errno::EDOM:
引数が負の値である場合に発生します。
[EXCEPTION] Errno::ERANGE:
引数が 0 の場合に発生します。
log(z) -> Complex [redefined by complex]

複素数 z の自然対数を返します。

絶対値 r 偏角 theta の複素数 z に対する log(z) は以下で定義されます。

log(z)  = log(r) + i * theta
[PARAM] z:
複素数
注意

虚部が 0 でも Complex クラスのオブジェクトであれば Complex クラスのオブジェクトを返すことに注意してください。

n = 2
z = Complex.new(2, 0)

p Math.log(n) #=> 0.693147180559945
p Math.log(z) #=> Complex(0.693147180559945, 0.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 でも Complex クラスのオブジェクトであれば Complex クラスのオブジェクトを返すことに注意してください。

n = 2
z = Complex.new(2, 0)

p Math.log10(n) #=> 0.301029995663981
p Math.log10(z) #=> Complex(0.301029995663981, 0.0)
rsqrt(a) -> Numeric [redefined by mathn]

[TODO]

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

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

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(x) -> Float

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

定義

sinh(x) = (exp(x) - exp(-x)) / 2
[PARAM] x:
実数
sinh(z) -> Complex [redefined by complex]

複素関数としてのsinh関数(双曲線sin関数)の結果を返します。

sinh関数は以下で定義されます。

sinh(z) = (exp(z) - exp(-z)) / 2
[PARAM] z:
複素数
sqrt(x) -> Float

x の平方根を返します。

[PARAM] x:
正の実数
[EXCEPTION] Errno::EDOM:
引数が負の値である場合に発生します。
sqrt(z) -> Complex [redefined by complex]

z の平方根を返します。

複素関数としてのsqrt()の定義は以下です。

sqrt(z) = sqrt(r) * exp(i * t/2)
[PARAM] z:
平方根を求める複素数
注意

虚部が 0 でも Complex クラスのオブジェクトであれば Complex クラスのオブジェクトを返すことに注意してください。

n = 2
z = Complex.new(2, 0)

p Math.sqrt(n) #=> 1.4142135623731
p Math.sqrt(z) #=> Complex(1.4142135623731, 0.0)
sqrt(a) -> Numeric [redefined by mathn]

[TODO]

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

tan(x) -> Float

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

[PARAM] x:
実数
[RETURN]
実数
tan(z) -> Complex [redefined by complex]

複素関数としてのtan関数の結果を返します。

tan関数は以下で定義されます。

tan(z)  = sin(z) / cos(z)
[PARAM] z:
複素数
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
module Math