arcus cotangent(arccot)如何在 swift中实现? 导入需要哪个库,我正在使用达尔文,但在试图打电话时我看不到它? 如果你的话,可以在 Swift中使用 math.h 的所有数学函数 import Darwin (如果您导入
导入需要哪个库,我正在使用达尔文,但在试图打电话时我看不到它? 如果你的话,可以在 Swift中使用
<math.h>
的所有数学函数
import Darwin
(如果您导入Foundation或UIKit,则自动导入).
现在逆余切函数不在其中,但您可以使用关系从atan()轻松计算它(参见例如Inverse trigonometric functions):
arccot(x) = arctan(1/x) (for x > 0) arccot(x) = π + arctan(1/x) (for x < 0) arccot(x) = π/2 - atan(x)
前两个公式在数值上更适合大型
(绝对)值
的x,最后一个更适合小值,
所以你可以将你的acot()函数定义为
func acot(x : Double) -> Double { if x > 1.0 { return atan(1.0/x) } else if x < -1.0 { return M_PI + atan(1.0/x) } else { return M_PI_2 - atan(x) } }
对于Swift 3,用Double.pi替换M_PI.