17.3 Trigonometry

Last-modified: 2025-04-02 (水) 21:22:20

17.3 三角関数

Octaveには,角度をラジアン単位で指定する以下の三角関数が用意されています。度からラジアンへの変換には,π/180を乗じるか,deg2rad関数を使用します。
例えばsin (30 * pi/180)は30度の正弦を返します。
別の方法として,Octaveは度数で指定された引数に対して直接動作する多くの三角関数を提供しています。これらの関数は基本三角関数に接尾辞'd'を付けて命名されています。例としてsinはラジアン単位の角度を指定しsindは度単位の角度を指定します。

OctaveはCライブラリの三角関数を使用します。これらの関数はISO/IEC 9899 Standardで定義されています。
この標準は http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdfで入手できます
セクションF.9.1では,三角関数を扱っています。ほとんどの関数の動作は比較的単純です。しかし標準的な動作にはいくつかの例外があります。最も複雑なケースはatan2です。Octaveは標準に示された動作を正確に実装しています。atan2(+- 0, 0)を含むと,+- πが返されます。

MATLABでは,-0, 0, 0を区別しない定義が使用されていることに注意する必要があります。

: rad = deg2rad (deg)

度をラジアンに変換します。

degの入力はスカラー、ベクトル、または倍精度浮動小数点値または単精度浮動小数点値の N 次元配列である必要があります。deg は複素数である可能性があり、その場合は実数部と虚数部が別々に変換されます。

radの出力はdegと同じサイズと形状で、degと同じサイズと形状で、pi/180の変換定数を使用して度がラジアンに変換されます

Example:

deg2rad ([0, 90, 180, 270, 360])
 ⇒  0.00000   1.57080   3.14159   4.71239   6.28319

See also: rad2deg.

: deg = rad2deg (rad)

ラジアンを度に変換します。

radの入力はは、スカラー、ベクトル、または倍精度浮動小数点値または単精度浮動小数点値の N 次元配列である必要があります。radは複素数である可能性があり、その場合は実数部と虚数部は別々に変換されます。

degの出力は 180/pi変換定数を使用してラジアンを度に変換したradと同じサイズと形状になります

Example:

rad2deg ([0, pi/2, pi, 3/2*pi, 2*pi])
 ⇒  0    90   180   270   360

See also: deg2rad.

: y = sin (x)

xの各要素の正弦をラジアン単位で計算します。

See also: asin, sind, sinh.

: y = cos (x)

xの各要素の余弦をラジアンで計算します。

See also: acos, cosd, cosh.

: y = tan (z)

xの各要素の正接をラジアン単位で計算します。

See also: atan, tand, tanh.

: y = sec (x)

xの各要素のセカントをラジアンで計算します。

See also: asec, secd, sech.

: y = csc (x)

xの各要素の余割をラジアンで計算します。

See also: acsc, cscd, csch.

: y = cot (x)

xの各要素のコタンジェントをラジアン単位で計算します。

See also: acot, cotd, coth.

: y = asin (x)

xの各要素の逆正弦をラジアンで計算します。

See also: sin, asind.

: y = acos (x)

xの各要素の逆余弦をラジアンで計算します。
See also: cos, acosd.

: y = atan (x)

xの各要素の逆正接をラジアンで計算します。

See also: tan, atand.

: y = asec (x)

xの各要素の逆セカントをラジアンで計算します。

See also: sec, asecd.

: y = acsc (x)

xの各要素の逆余割をラジアンで計算します。

See also: csc, acscd.

: y = acot (x)

xの各要素の逆コタンジェントをラジアンで計算します。

See also: cot, acotd.

: y = sinh (x)

xの各要素の双曲正弦を計算します。

See also: asinh, cosh, tanh.

: y = cosh (x)

xの各要素の双曲余弦を計算します。

See also: acosh, sinh, tanh.

: y = tanh (x)

xの各要素の双曲正接を計算します。

See also: atanh, sinh, cosh.

: y = sech (x)

xの各要素の双曲正割を計算します。

See also: asech.

: y = csch (x)

xの各要素の双曲余割を計算します。

See also: acsch.

: y = coth (x)

xの各要素の双曲余接を計算します。

See also: acoth.

: y = asinh (x)

xの各要素の逆双曲正弦を計算します。

See also: sinh.

: y = acosh (x)

xの各要素の逆双曲余弦を計算します。

See also: cosh.

: y = atanh (x)

xの各要素の逆双曲正接を計算します。

See also: tanh.

: y = asech (x)

xの各要素の逆双曲正割を計算します。

See also: sech.

: y = acsch (x)

の各要素の逆双曲余割を計算します。

See also: csch.

: y = acoth (x)

xの各要素の逆双曲余接を計算します。

See also: coth.

: angle = atan2 (y, x)

yと xの対応する要素に対してatan ( y / x ) を計算します。

yとx はサイズと方向が一致している必要があります。yとxの要素の符号は、結果の各値の象限を決定するために使用されます。

この関数はarg (complex (x, y))と同等です。.

See also: tan, tand, tanh, atanh.

Octave は、角度を度で指定する次の三角関数を提供します。これらの関数は、ラジアンを使用する場合に発生する小さな丸め誤差ではなく、適切な間隔で真のゼロを生成します。例:

cosd (90)
    ⇒ 0
cos (pi/2)
    ⇒ 6.1230e-17

: y = sind (x)

xの各要素の正弦を度単位で計算します。

この関数は、 xsinの値が大きい場合 や 180 度の倍数 (は整数) の場合よりも正確です。eps 程度の小さな値ではなく 0 を返します。 x/180sind

See also: asind, sin.

: y = cosd (x)

xの各要素の余弦を度単位で計算します。

この関数は、 xcosの値が大きい場合 や、90 度の倍数 ( n は整数)の場合よりも正確で、eps 程度の小さな値ではなく 0 を返します。 x = 90 + 180*ncosd

See also: acosd, cos.

: y = tand (x)

xの各要素の正接を度単位で計算します。

x/180が整数である 要素と、が整数である Inf要素に対してはゼロを返します。(x-90)/180

See also: atand, tan.

: y = secd (x)

の各要素のセカントを度単位で計算します。

See also: asecd, sec.

: y = cscd (x)

xの各要素のコセカントを度単位で計算します。

See also: acscd, csc.

: y = cotd (x)

xの各要素のコタンジェントを度単位で計算します。

See also: acotd, cot.

: y = asind (x)

xの各要素の逆正弦を度単位で計算します。

See also: sind, asin.

: y = acosd (x)

xの各要素の逆余弦を度単位で計算します。

See also: cosd, acos.

: y = atand (x)

xの各要素の逆正接を度単位で計算します。

See also: tand, atan.

: d = atan2d (y, x)

Compute atan (y / x) in degrees for corresponding elements from y and x.
yとx の対応する要素について、atan ( y / x ) を度単位で計算します。
See also: tand, atan2.

: y = asecd (x)

xの各要素の逆正割を度単位で計算します。

See also: secd, asec.

: y = acscd (x)

xの各要素の逆余割を度単位で計算します。

See also: cscd, acsc.

: y = acotd (x)

xの各要素の逆コタンジェントを度単位で計算します。

See also: cotd, acot.

後に、特殊な引数をより高い精度で計算する 2 つの三角関数があります。

: y = sinpi (x)

xの各要素の正弦 ( x * pi)を正確に計算します。

通常のsin関数は IEEE 浮動小数点数を使用し、正しい値に非常に近い (数 eps 以内) 結果を生成しますが、正確ではありません。関数はsinpiより正確で、xの整数値に対して正確に 0 を返し、半整数値 (例: ...、-3/2、-1/2、1/2、3/2、...) に対して +1/-1 を返します。

Example
xの整数値に対するとのsinsinpi比較の例

sin ([0, 1, 2, 3] * pi)
⇒
    0   1.2246e-16  -2.4493e-16   3.6739e-16
sinpi ([0, 1, 2, 3])
⇒
      0   0   0   0

See also: cospi, sin.

: y = cospi (x)

xの各要素のコサイン ( x * pi) を正確に計算します。

通常のcos関数は IEEE 浮動小数点数を使用し、正しい値に非常に近い (数 eps 以内) 結果を生成しますが、正確ではありません。この関数はより正確で、 xcospiの半整数値 (例: ...、-3/2、-1/2、1/2、3/2、...) に対して 0 を正確に返し、整数値に対して +1/-1 を返します。

Example
xの半整数値に対するとcoscospiの比較例

cos ([-3/2, -1/2, 1/2, 3/2] * pi)
⇒
    -1.8370e-16   6.1232e-17   6.1232e-17  -1.8370e-16
cospi ([-3/2, -1/2, 1/2, 3/2])
⇒
      0   0   0   0

See also: sinpi, cos.