数学関数(Math)

[up] [prev] [next]

目次

数学関数

Math

数学関連のメソッドやプロパティを実装するオブジェクトです。

乱数

Math.random()

0.0 以上、1.0 未満の乱数を生成します。例えば次のようにして、0~15 の整数値の乱数を生成することができます。

JavaScript
xx = Math.floor(Math.random() * 16);    // => 0~15

繰り上げ・繰り下げ・絶対値

Math.abs(n)

n の絶対値を返します。

JavaScript
Math.abs(-8)             // => 8
Math.ceil(n)
Math.floor(n)
Math.round(n)

ceil() は n の小数点以下を繰り上げた整数値を返します。3.6 は 4 に、-3.6 は -3 になります。floor() は繰り下げた整数値を返します。3.6 は 3 に、-3.6 は -4 になります。round() は四捨五入した整数値を返します。3.6 は 4 に、-3.6 は -4 になります。

JavaScript
Math.ceil(3.6)           // => 4
Math.floor(3.6)          // => 3
Math.round(3.6)          // => 4
Math.trunc(n)

n の小数部を取り除いた値を返します。n が正の時は floor() と同様、負の時は ceil() と同様となります。IE11 ではサポートされていません。

JavaScript
Math.trunc(3.6)          // => 3
Math.trunc(-3.6)         // => -3

三角関数

Math.PI

円周率パイ(π)(約3.141592)を返します。

JavaScript
Math.PI                  // => 3.141592653589793
Math.sin(x)
Math.cos(x)
Math.tan(x)

x のサイン(正弦)(-1~1)、コサイン(余弦)(-1~1)、タンジェント(正接)(-∞~∞) を返します。x はラジアン単位(0度は0、90度はPI/2、180度はPI)で指定します。

JavaScript
r = 10.0;  // 半径
a = 30.0;  // 角度(度)
x = r * Math.cos(a / 180 * Math.PI);  // X座標
y = r * Math.sin(a / 180 * Math.PI);  // Y座標
Math.asin(x)
Math.acos(x)
Math.atan(x)

x のアークサイン(逆正弦)(-PI/2~PI/2)、アークコサイン(逆余弦)(0~PI)、アークタンジェント(逆正接)(-PI/2~PI/2) を返します。

JavaScript
Math.asin(1)             // => 1.5707963267948966 (PI/2)
Math.acos(0)             // => 1.5707963267948966 (PI/2)
Math.atan(Infinity)      // => 1.5707963267948966 (PI/2)
Math.sinh(x)
Math.cosh(x)
Math.tanh(x)

x のハイパーボリックサイン、ハイパーボリックコサイン、ハイパーボリックタンジェントを返します。IE11 ではサポートされていません。

JavaScript
Math.sinh(1)             // => 1.1752011936438014
Math.cosh(1)             // => 1.5430806348152437
Math.tanh(1)             // => 0.7615941559557649
Math.asinh(x)
Math.acosh(x)
Math.atanh(x)

x のハイパーボリックアークサイン、ハイパーボリックアークコサイン、ハイパーボリックアークタンジェントを返します。IE11 ではサポートされていません。

JavaScript
Math.asinh(1)            // => 0.881373587019543
Math.acosh(2)            // => 1.3169578969248166
Math.atanh(0.5)          // => 0.5493061443340548
Math.atan2(y, x)

座標 x, y の角度(-PI~PI)を返します。

JavaScript
Math.atan2(1, 1)         // => 0.7853981633974483 (PI/4)

その他

Math.max(value1, value2, ...)
Math.min(value1, valule2, ...)

max() は value1, value2, ... の中から一番大きな値、min() は一番小さな値を返します。

JavaScript
Math.max(3, 5, 2)        // => 5
Math.min(3, 5, 2)        // => 2
Math.pow(n, m)

nm 乗を返します。

JavaScript
Math.pow(2, 8)           // => 256
Math.sqrt(n)

n の平方根を返します。

JavaScript
Math.sqrt(2)             // => 1.4142135623730951
Math.cbrt(n)

n の立方根を返します。IE11 ではサポートされていません。

JavaScript
Math.cbrt(2)             // => 1.2599210498948732
Math.SQRT2
Math.SQRT1_2

SQRT2 は 2 の平方根、SQRT1_2 は 1/2 の平方根を返します。

JavaScript
Math.SQRT2               // => 1.4142135623730951
Math.SQRT1_2             // => 0.7071067811865476
Math.LN2
Math.LN10
Math.LOG2E
Math.LOG10E

LN2 は e を底とした2の対数、LN10 は e を底とした10の対数、LOG2E は 2 を底とした e の対数、LOG10E は 10 を底とした e の対数を返します。

JavaScript
Math.LN2                 // => 0.6931471805599453
Math.LN10                // => 2.302585092994046
Math.LOG2E               // => 1.4426950408889634
Math.LOG10E              // => 0.4342944819032518
Math.E

自然対数 e の値を返します。

JavaScript
Math.E                   // => 2.718281828459045
Math.exp(n)
Math.expm1(n)

exp() は e の n乗を、expm1() は e の n乗 - 1 を返します。expm1() は IE11 ではサポートされていません。

JavaScript
Math.exp(1)              // => 2.718281828459045
Math.expm1(1)            // => 1.718281828459045
Math.log(n)
Math.log2(n)
Math.log10(n)
Math.log1p(n)

log() は e を底とした n の対数、log2() は 2 を底とした n の対数、log10() は 10 を底とした n の対数、log1p() は e を底とした n + 1 の対数を返します。IE11 では log() のみをサポートしています。

JavaScript
Math.log(10)             // => 2.302585092994046
Math.log2(8)             // => 3
Math.log10(10)           // => 1
Math.log1p(9)            // => 2.302585092994046
Math.clz32(n)

CountLeadingZeroes32 の略で、32ビットバイナリ表現における先頭の 0 の個数を返します。IE11 ではサポートされていません。

JavaScript
Math.clz32(0)            // => 32
Math.clz32(1)            // => 31
Math.clz32(0xffff)       // => 16
Math.fround(x)

x に最も近い、単精度の float を返します。IE11 ではサポートされていません。

JavaScript
Math.fround(1.23)        // => 1.2300000190734863
Math.hypot(value1, value2, ...)

value1, value2, ... の二乗和の平方根を返します。IE11 ではサポートされていません。

JavaScript
Math.hypot(.12, -.13, -.14, .15)        // => 0.2709243436828813
Math.imul(x, y)

C言語と同様の高速アルゴリズムで計算した xy の乗算を返します。IE11 ではサポートされていません。

JavaScript
Math.imul(0xff, 16)      // => 4080 (0xff0)
Math.sign(x)

x が正の時は 1、0 の時は 0、負の時は -1 を返します。IE11 ではサポートされていません。

JavaScript
Math.sign(-2)            // => -1
Math.sign(0)             // => 0
Math.sign(2)             // => 1

[up] [prev] [next]
Copyright (C) 1996-2019 杜甫々
改訂版初版:2006年7月17日、最終更新:2019年3月3日
http://www.tohoho-web.com/js/math.htm