17.3 三角函数

Octave 提供以下三角函数,其中角度以弧度指定。要将度数转换为弧度,请乘以 pi/180 或使用 deg2rad 函数。例如,sin (30 * pi/180) 返回 30 度的正弦值。另外,Octave 还提供了一些直接以度数为参数的 三角函数。这些函数的命名是在基本三角函数名后加上 ‘d’ 后缀。例如,sin 期望角度以弧度为单位,而 sind 期望角度以度为单位。

Octave 使用 C 库中的三角函数。预计这些函数由 ISO/IEC 9899 标准定义。该标准可在以下网址获取: http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf。 第 F.9.1 节涉及三角函数。大多数函数的行为相对简单。然而,标准行为也有一些例外情况。许多例外涉及 -0 的行为。 最复杂的情况是 atan2。Octave 完全实现了标准中给出的行为,包括 atan2(+- 0, 0) 返回 +- pi

需要注意的是,MATLAB 使用了不同的定义,这些定义显然不区分 -0。

 
rad = deg2rad (deg)

将度数转换为弧度。

输入 deg 必须是标量、向量或 N 维数组,其元素为双精度或单精度浮点值。deg 可以是复数,在这种情况下,实部和虚部分别进行转换。

输出 rad 的大小和形状与 deg 相同,使用转换常数 pi/180 将度数转换为弧度。

示例:

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

另请参阅: rad2deg.

 
deg = rad2deg (rad)

将弧度转换为度数。

输入 rad 必须是标量、向量或 N 维数组,其元素为双精度或单精度浮点值。rad 可以是复数,在这种情况下,实部和虚部分别进行转换。

输出 deg 的大小和形状与 rad 相同,使用转换常数 180/pi 将弧度转换为度数。

示例:

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

另请参阅: deg2rad.

 
y = sin (x)

计算 x 中每个元素的正弦值(以弧度为单位)。

另请参阅: asin, sind, sinh.

 
y = cos (x)

计算 x 中每个元素的余弦值(以弧度为单位)。

另请参阅: acos, cosd, cosh.

 
y = tan (z)

计算 x 中每个元素的正切值(以弧度为单位)。

另请参阅: atan, tand, tanh.

 
y = sec (x)

计算 x 中每个元素的正割值(以弧度为单位)。

另请参阅: asec, secd, sech.

 
y = csc (x)

计算 x 中每个元素的余割值(以弧度为单位)。

另请参阅: acsc, cscd, csch.

 
y = cot (x)

计算 x 中每个元素的余切值(以弧度为单位)。

另请参阅: acot, cotd, coth.

 
y = asin (x)

计算 x 中每个元素的反正弦值(以弧度为单位)。

另请参阅: sin, asind.

 
y = acos (x)

计算 x 中每个元素的反余弦值(以弧度为单位)。

另请参阅: cos, acosd.

 
y = atan (x)

计算 x 中每个元素的反正切值(以弧度为单位)。

另请参阅: tan, atand.

 
y = asec (x)

计算 x 中每个元素的反正割值(以弧度为单位)。

另请参阅: sec, asecd.

 
y = acsc (x)

计算 x 中每个元素的反余割值(以弧度为单位)。

另请参阅: csc, acscd.

 
y = acot (x)

计算 x 中每个元素的反余切值(以弧度为单位)。

另请参阅: cot, acotd.

 
y = sinh (x)

计算 x 中每个元素的双曲正弦值。

另请参阅: asin, asinh.

 
y = cosh (x)

计算 x 中每个元素的双曲余弦值。

另请参阅: acos, acosh.

 
y = tanh (x)

计算 x 中每个元素的双曲正切值。

另请参阅: atan, atanh.

 
y = sech (x)

计算 x 中每个元素的双曲正割值。

另请参阅: asec, asech.

 
y = csch (x)

计算 x 中每个元素的双曲余割值。

另请参阅: acsc, acsch.

 
y = coth (x)

计算 x 中每个元素的双曲余切值。

另请参阅: acot, acoth.

 
y = asinh (x)

计算 x 中每个元素的反双曲正弦值。

另请参阅: sinh.

 
y = acosh (x)

计算 x 中每个元素的反双曲余弦值。

另请参阅: cosh.

 
y = atanh (x)

计算 x 中每个元素的反双曲正切值。

另请参阅: tanh.

 
y = asech (x)

计算 x 中每个元素的反双曲正割值。

另请参阅: sech.

 
y = acsch (x)

计算 x 中每个元素的反双曲余割值。

另请参阅: csch.

 
y = acoth (x)

计算 x 中每个元素的反双曲余切值。

另请参阅: coth.

 
y = atan2 (y, x)

计算 y / x 的四个象限反正切值,其范围 -pi ≤ atan2 (y, x) ≤ pi,使用 yx 的符号来消除反正切值在 pi 处的不确定性。

另请参阅: tan, atan.

此外,Octave 还提供了以下三角函数,这些函数直接以度数为参数。这些函数以 ‘d’ 后缀命名。

 
y = sind (x)

计算 x 中每个元素的正弦值(以度为单位)。

另请参阅: asind, sin, sinh.

 
y = cosd (x)

计算 x 中每个元素的余弦值(以度为单位)。

另请参阅: acosd, cos, cosh.

 
y = tand (x)

计算 x 中每个元素的正切值(以度为单位)。

另请参阅: atand, tan, tanh.

 
y = secd (x)

计算 x 中每个元素的正割值(以度为单位)。

另请参阅: asecd, sec, sech.

 
y = cscd (x)

计算 x 中每个元素的余割值(以度为单位)。

另请参阅: acscd, csc, csch.

 
y = cotd (x)

计算 x 中每个元素的余切值(以度为单位)。

另请参阅: acotd, cot, coth.

 
y = asind (x)

计算 x 中每个元素的反正弦值(以度为单位)。

另请参阅: sind, asin.

 
y = acosd (x)

计算 x 中每个元素的反余弦值(以度为单位)。

另请参阅: cosd, acos.

 
y = atand (x)

计算 x 中每个元素的反正切值(以度为单位)。

另请参阅: tand, atan.

 
y = asecd (x)

计算 x 中每个元素的反正割值(以度为单位)。

另请参阅: secd, asec.

 
y = acscd (x)

计算 x 中每个元素的反余割值(以度为单位)。

另请参阅: cscd, acsc.

 
y = acotd (x)

计算 x 中每个元素的反余切值(以度为单位)。

另请参阅: cotd, acot.

最后,还有两个三角函数可以更高精度地计算特殊参数值。

 
y = sinpi (x)

精确计算 x 中每个元素的正弦值(x * pi)。

普通的 sin 函数使用 IEEE 754 浮点数,可能会产生非常接近(在几个 eps 内)正确值但不精确的结果。sinpi 函数更精确,对于 x 的整数值精确返回 0,对于半整数值(例如,…,-3/2,-1/2,1/2,3/2,…)精确返回 +1/-1。

示例:
比较 sinsinpix 为整数值时的结果

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

另请参阅: cospi, sin.

 
y = cospi (x)

精确计算 x 中每个元素的余弦值(x * pi)。

普通的 cos 函数使用 IEEE 754 浮点数,可能会产生非常接近(在几个 eps 内)正确值但不精确的结果。cospi 函数更精确,对于 x 的半整数值(例如,…,-3/2,-1/2,1/2,3/2,…)精确返回 0,对于整数值精确返回 +1/-1。

示例:
比较 coscospix 为半整数值时的结果

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

另请参阅: sinpi, cos.


版权所有 © 2024-2026 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号-4