【问题标题】:swift trigonometric functions (cos, tan, arcsin, arcos, arctan)快速三角函数(cos、tan、arcsin、arccos、arctan)
【发布时间】:2016-03-03 11:02:55
【问题描述】:

您好,我必须以度为单位进行计算,我有以下代码,但我没有返回确切的值。唯一的一项权利是 sin90 的值,单位为 degree = 1

//////***** DEGREES ******//////
var sinus = sin(90.0 * M_PI / 180)
var cosinus = cos(90 * M_PI / 180)
var tangent = tan(90 * M_PI / 180)

var arcsinus = asin(90 * M_PI / 180)
var arcosinus = acos(90 * M_PI / 180)
var arctangent = atan(90 * M_PI / 180)

对于 cos、tan 和它们的 ARC 函数,返回每个运算的精确值的正确运算是什么?

【问题讨论】:

  • sin 其余的以 弧度角 作为参数。后半部分为什么要做90 * 180 / M_PI这个东西?
  • 你能把你的答案写在一段代码中得到 90 的值吗?因为我真的不明白你的意思.. :) 对不起,我是新人@AntonBronnikov
  • 90 * 180 / M_PI 是从弧度到度数的转换。

标签: swift degrees trigonometry radians


【解决方案1】:

这更像是一个数学问题而不是 Swift 问题:

let sinus = sin(90.0 * Double.pi / 180)
print("Sinus \(sinus)")

let cosinus = cos(90 * Double.pi / 180)
print("Cosinus \(cosinus)")

let tangent = tan(90 * Double.pi / 180)
print("Tangent \(tangent)")

打印

Sinus 1.0
Cosinus 6.12323399573677e-17
Tangent 1.63312393531954e+16

90 度的窦是 1(正确)

90 度的余弦为 0。值 6e-17 是一个非常小的值,任何合理的四舍五入都会认为它等于零(正确)。您不能完全为零的事实是由于计算中的舍入错误。

未定义 90 度的正切(sin/tan = 1/0,未定义除以零)。如果我们有精确的计算,你可能会得到一个无穷大。在这种情况下,我们将1 除以6e-17,变成一个大数1.6e16。结果是正确的。

关于反函数,请注意一件事 - 它们的参数既不是度数也不是弧度。他们的结果是度/弧度,例如:

let arcsinus = asin(1.0) * 180 / Double.pi
print("Arcsinus \(arcsinus)")

打印

Arcsinus 90.0

【讨论】:

  • 所以,我不需要改变什么?我的代码是正确的吗? @苏丹?有什么方法可以返回并在显示屏上显示正确的值?
  • @kepi 您的结果是正确的,要向用户显示它们,您必须首先将它们转换为字符串。我会推荐NSNumberFormatter,它将为您处理舍入和格式化。
  • 好的@sulthan!再说一次,我是新手,所以我不太明白如何实现这个 NSNumberFormatter ?
  • @kepi 互联网上有多个示例和堆栈溢出。请先搜索。
  • 你导入什么框架来访问所有这些功能?
【解决方案2】:

Swift 4 使用修改后的语法:

let sinus = sin(90.0 * Double.pi / 180)
let cosinus = cos(90 * Double.pi / 180)
let tangent = tan(90 * Double.pi / 180)

let arcsinus = asin(1) * 180/ Double.pi
let arcosinus = acos(0) * 180/ Double.pi
let arctangent = atan(1) * 180/ Double.pi

【讨论】:

    猜你喜欢
    • 2018-12-28
    • 2015-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-20
    相关资源
    最近更新 更多