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 = atan2 (y, x) ¶计算 y / x 的四个象限反正切值,其范围 -pi ≤ atan2 (y, x) ≤ pi,使用 y 和 x 的符号来消除反正切值在 pi 处的不确定性。
此外,Octave 还提供了以下三角函数,这些函数直接以度数为参数。这些函数以 ‘d’ 后缀命名。
最后,还有两个三角函数可以更高精度地计算特殊参数值。
y = sinpi (x) ¶精确计算 x 中每个元素的正弦值(x * pi)。
普通的 sin 函数使用 IEEE 754 浮点数,可能会产生非常接近(在几个 eps 内)正确值但不精确的结果。sinpi 函数更精确,对于 x 的整数值精确返回 0,对于半整数值(例如,…,-3/2,-1/2,1/2,3/2,…)精确返回 +1/-1。
示例:
比较 sin 和 sinpi 在 x 为整数值时的结果
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
y = cospi (x) ¶精确计算 x 中每个元素的余弦值(x * pi)。
普通的 cos 函数使用 IEEE 754 浮点数,可能会产生非常接近(在几个 eps 内)正确值但不精确的结果。cospi 函数更精确,对于 x 的半整数值(例如,…,-3/2,-1/2,1/2,3/2,…)精确返回 0,对于整数值精确返回 +1/-1。
示例:
比较 cos 和 cospi 在 x 为半整数值时的结果
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
版权所有 © 2024-2026 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号-4