Golang math.Atan2() 函数的使用及示例
Go 语言通过 math 包提供了基本常量和数学函数的内置支持,以便执行数字操作。使用 math 包提供的 Atan2() 函数,您可以找到 a/b 的反正切,使用两个符号来确定返回值的象限。因此,您需要在程序中使用 import 关键字添加 math 包以访问 Atan2() 函数。
语法:
func Atan2(b, a float64) float64
- 如果 Atan2(b, NaN),则该方法将返回 NaN。
- 如果 Atan2(NaN, a),则该方法将返回 NaN。
- 如果 Atan2(+0, a>=0),则该方法将返回 +0。
- 如果 Atan2(-0, a>=0),则该方法将返回 -0。
- 如果 Atan2(+0, a<=0),则该方法将返回 +Pi。
- 如果 Atan2(-0, a<=0),则该方法将返回 -Pi。
- 如果 Atan2(b>0, 0),则该方法将返回 +Pi/2。
- 如果 Atan2(b<0, 0),则该方法将返回 -Pi/2。
- 如果 Atan2(+Inf, +Inf),则该方法将返回 +Pi/4。
- 如果 Atan2(-Inf, +Inf),则该方法将返回 -Pi/4。
- 如果 Atan2(+Inf, -Inf),则该方法将返回 -3Pi/4。
- 如果 Atan2(+Inf, +Inf),则该方法将返回 0。
- 如果 Atan2(b, +Inf),则该方法将返回 +Pi/4。
- 如果 Atan2(b>0, -Inf),则该方法将返回 +Pi。
- 如果 Atan2(b<0, -Inf),则该方法将返回 -Pi。
- 如果 Atan2(+Inf, a),则该方法将返回 +Pi/2。
- 如果 Atan2(-Inf, a),则该方法将返回 -Pi/2。
示例1:
// Golang program to illustrate
// the math.Atan2() function
package main
import (
"fmt"
"math"
)
// 主函数
func main() {
// 通过 Atan2() 函数找到反正切
res_1 := math.Atan2(math.Pi/3, math.Pi/4)
res_2 := math.Atan2(math.Inf(1), 0)
res_3 := math.Atan2(math.Inf(-2), math.Inf(+2))
res_4 := math.Atan2(1, math.NaN())
res_5 := math.Atan2(math.NaN(), 0)
// 显示结果
fmt.Printf("\nResult 1: %.1f", res_1)
fmt.Printf("\nResult 2: %.1f", res_2)
fmt.Printf("\nResult 3: %.1f", res_3)
fmt.Printf("\nResult 4: %.1f", res_4)
fmt.Printf("\nResult 5: %.1f", res_5)
}
输出:
Result 1: 0.9
Result 2: 1.6
Result 3: -0.8
Result 4: NaN
Result 5: NaN
示例2:
// Golang program to illustrate
// the math.Atan2() function
package main
import (
"fmt"
"math"
)
// 主函数
func main() {
// 通过 Atan2() 函数找到反正切
nvalue_1 := math.Atan2(math.Pi/3, math.Pi/4)
nvalue_2 := math.Atan2(math.Pi/6, math.Pi/3)
// 给定数字的和
res := nvalue_1 + nvalue_2
fmt.Printf("%.2f + %.2f = %.2f",
nvalue_1, nvalue_2, res)
}
输出:
0.93 + 0.46 = 1.39