Swift 快速三角函数(cos,tan,arcin,arcos,arctan)

Swift 快速三角函数(cos,tan,arcin,arcos,arctan),swift,degrees,trigonometry,radians,Swift,Degrees,Trigonometry,Radians,您好,我必须用度来区分计算,我有下面的代码,但我没有返回准确的值。唯一右边是sin90的值,单位为度=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(

您好,我必须用度来区分计算,我有下面的代码,但我没有返回准确的值。唯一右边是sin90的值,单位为度=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及其弧函数,以度为单位返回每个操作的准确值的正确操作是什么

这与其说是一道快速题,不如说是一道数学题:

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
Arcsinus 90.0
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)")
印刷品

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

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

sin
和其他以弧度表示的角度作为参数。你为什么要在后面的部分做这个
90*180/M_-PI
的东西?你能用一段代码写下你的答案吗?因为我真的不明白你的意思……)抱歉,我是新的@AntonBronnikov90*180/M_PI是从rad到degree的转换。所以,我不需要改变什么?我的代码是正确的吗@苏丹?有没有办法返回并在显示器上显示正确的值?@kepi如果您的结果是正确的,要向用户显示它们,首先必须将它们转换为字符串。我推荐
NSNumberFormatter
,它将为您处理舍入和格式设置。ok@sulthan!再说一次,我是新手,所以我真的不知道如何实现这个NSNumberFormatter?@kepi互联网上有多个例子和堆栈溢出。请先搜索。您导入什么框架来访问所有这些功能?