Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Mathモジュール
クラスの継承リスト: Math
浮動小数点演算をサポートするモジュールです。
Math モジュールにはさまざま数学関数がモジュール関数として定義されています。 モジュール関数は以下のように,モジュールの特異メソッドとして呼び出す使い方と、 モジュールをインクルードしてレシーバーを省略した形で呼び出す使い方の両方ができます。
pi = Math.atan2(1, 1)*4; include Math pi2 = atan2(1, 1)*4
acos(x) -> Float
[permalink][rdoc]x の逆余弦関数の値をラジアンで返します。
acos(z) -> Complex
[permalink][rdoc] [redefined by complex]
複素関数としてのacos関数(逆cos関数)の結果を返します。
acos関数は以下で定義されます。
acos(z) = -i * log(z + i*sqrt(1-z*z))
acosh(z) -> Complex
[permalink][rdoc] [redefined by complex]
複素関数としてのacosh関数(双曲逆cos関数)の結果を返します。
acosh関数は以下で定義されます。
acosh(z) = log(z + sqrt(z*z-1))
acosh(x) -> Float
[permalink][rdoc]x の逆双曲線余弦関数の値を返します。
acosh(x) = log(x + sqrt(x * x - 1)) [x >= 1]
asin(x) -> Float
[permalink][rdoc]x の逆正弦関数の値をラジアンで返します。
asin(z) -> Complex
[permalink][rdoc] [redefined by complex]
複素関数としてのasin関数(逆sin関数)の結果を返します。
asin関数は以下で定義されます。
asin(z) = -i * log(i*z + sqrt(1-z*z))
asinh(z) -> Complex
[permalink][rdoc] [redefined by complex]
複素関数としてのasinh関数(双曲逆sin関数)の結果を返します。
asinh関数は以下で定義されます。
asinh(z) = log(z + sqrt(z*z+1))
asinh(x) -> Float
[permalink][rdoc]x の逆双曲線正弦関数の値を返します。
asinh(x) = log(x + sqrt(x * x + 1))
atan(z) -> Complex
[permalink][rdoc] [redefined by complex]
複素関数としてのatan関数(逆tan関数)の結果を返します。
atan関数は以下で定義されます。
atan(z) = i/2 * log((i+z) / (i-z))
atan(x) -> Float
[permalink][rdoc]x の逆正接関数の値をラジアンで返します。
atan2(z) -> Complex
[permalink][rdoc] [redefined by complex]
複素関数としてのatan2関数の結果を返します。
atan2関数は以下で定義されます。
atan2(y, x) = -i * log( (x + i * y) / sqrt( x*x + y*y ) )
atan2(y, x) -> Float
[permalink][rdoc]y / x の逆正接関数の値を返します。
Math.atan2(1,0) #=> 1.5707963267949 Math.atan2(-1,0) #=> -1.5707963267949
atanh(x) -> Float
[permalink][rdoc]x の逆双曲線正接関数の値を返します。
atanh(x) = log((1+x)/(1-x)) / 2 [-1 < x < 1]
atanh(z) -> Complex
[permalink][rdoc] [redefined by complex]
複素関数としてのatanh関数(双曲逆tan関数)の結果を返します。
atanh関数は以下で定義されます。
atanh(z) = 1/2 * log((1+z) / (1-z))
cos(x) -> Float
[permalink][rdoc]x の余弦関数の値をラジアンで返します。
cos(z) -> Complex
[permalink][rdoc] [redefined by complex]
複素関数としてのcos関数の結果を返します。
cos関数は以下で定義されます。
cos(z) = (exp(i * z) + exp(-i * z)) / 2
cosh(z) -> Complex
[permalink][rdoc] [redefined by complex]
複素関数としてのcosh関数(双曲線cos関数)の結果を返します。
cosh関数は以下で定義されます。
cosh(z) = (exp(z) + exp(-z)) / 2
cosh(x) -> Float
[permalink][rdoc]x の双曲線余弦関数の値を返します。
cosh(x) = (exp(x) + exp(-x)) / 2
erf(x) -> Float
[permalink][rdoc]x の誤差関数の値を返します。
erfc(x) -> Float
[permalink][rdoc]x の相補誤差関数の値を返します。
exp(z) -> Complex
[permalink][rdoc] [redefined by complex]
指数関数(自然対数 e の z 乗)を返します。
複素数 z = a + b *i に対する exp(z) の定義は以下です。
exp(z) = exp(a) * exp(i * b)
虚部が 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)
exp(x) -> Float
[permalink][rdoc]x の指数関数の値を返します。
すなわち e の x 乗の値を返します( e は自然対数の底)。
[SEE_ALSO] exp(3)
frexp(x) -> [Float, Fixnum]
[permalink][rdoc]実数 x の仮数部と指数部の配列を返します。
hypot(x, y) -> Float
[permalink][rdoc]sqrt(x*x + y*y) を返します。
この値は x, y を直交する 2 辺とする直角三角形の斜辺(hypotenuse)の長さです。
Math.hypot(3, 4) #=> 5.0
ldexp(x, exp) -> Float
[permalink][rdoc]実数 x に 2 の exp 乗をかけた数を返します。
log(x) -> Float
[permalink][rdoc]x の自然対数を返します。
log(z) -> Complex
[permalink][rdoc] [redefined by complex]
複素数 z の自然対数を返します。
絶対値 r 偏角 theta の複素数 z に対する log(z) は以下で定義されます。
log(z) = log(r) + i * theta
虚部が 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
[permalink][rdoc]x の常用対数を返します。
log10(z) -> Complex
[permalink][rdoc] [redefined by complex]
複素数 z の常用対数を返します。
複素数 z に対する log10(z) は以下で定義されます。
log10(z) = log(z) / log(10)
虚部が 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
[permalink][rdoc] [redefined by mathn]
[TODO]
複素数を考慮しないので、負の数や Complex をあたえないでください。
a が Float の時は、Float を返します。 それ以外の時、平方根が有理数であれば、Rational または Integer を返します。 無理数であれば、Float を返します。
sin(z) -> Complex
[permalink][rdoc] [redefined by complex]
複素関数としてのsin関数の結果を返します。
sin関数は以下で定義されます。
sin(z) = (exp(i * z) - exp(-i * z)) / 2
sin(x) -> Float
[permalink][rdoc]x の正弦関数の値をラジアンで返します。
sinh(z) -> Complex
[permalink][rdoc] [redefined by complex]
複素関数としてのsinh関数(双曲線sin関数)の結果を返します。
sinh関数は以下で定義されます。
sinh(z) = (exp(z) - exp(-z)) / 2
sinh(x) -> Float
[permalink][rdoc]x の双曲線正弦関数の値を返します。
sinh(x) = (exp(x) - exp(-x)) / 2
sqrt(a) -> Numeric
[permalink][rdoc] [redefined by mathn]
[TODO]
a の正の平方根を返します。 a が Complex の時は、Complex を返します。 a が負の時は、a を正にして、その平方根を Complex の虚数部に入れて返します。 それ以外は、Math.rsqrt の結果を返します。
sqrt(x) -> Float
[permalink][rdoc]x の平方根を返します。
sqrt(z) -> Complex
[permalink][rdoc] [redefined by complex]
z の平方根を返します。
複素関数としてのsqrt()の定義は以下です。
sqrt(z) = sqrt(r) * exp(i * t/2)
虚部が 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)
tan(z) -> Complex
[permalink][rdoc] [redefined by complex]
複素関数としてのtan関数の結果を返します。
tan関数は以下で定義されます。
tan(z) = sin(z) / cos(z)
tan(x) -> Float
[permalink][rdoc]x の正接関数の値をラジアンで返します。
tanh(z) -> Complex
[permalink][rdoc] [redefined by complex]
複素関数としてのtanh関数(双曲線tan関数)の結果を返します。
tanh関数は以下で定義されます。
tanh(z) = sinh(z) / cosh(z)
tanh(x) -> Float
[permalink][rdoc]x の双曲線正接関数の値を返します。
tanh(x) = sinh(x) / cosh(x)
E -> Float
[permalink][rdoc]自然対数の底
p Math::E # => 2.718281828
PI -> Float
[permalink][rdoc]円周率
p Math::PI # => 3.141592654