📜  Golang 中的 math.Atan2()函数示例

📅  最后修改于: 2021-10-24 14:25:20             🧑  作者: Mango

Go 语言为基本常量和数学函数提供内置支持,以在 math 包的帮助下对数字执行运算。您可以找到 a/b 的反正切,借助 math 包提供的Atan2()函数,使用两者的符号来识别返回值的象限。因此,您需要借助 import 关键字在程序中添加一个数学包来访问 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"
)
  
// Main function
func main() {
  
    // Finding arc tangent
    // Using Atan2() function
    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)
  
    // Displaying the result
    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"
)
  
// Main function
func main() {
  
    // Finding arc tangent
    // Using Atan2() function
    nvalue_1 := math.Atan2(math.Pi/3, math.Pi/4)
    nvalue_2 := math.Atan2(math.Pi/6, math.Pi/3)
  
    // Sum of the given numbers
    res := nvalue_1 + nvalue_2
    fmt.Printf("%.2f + %.2f = %.2f",
            nvalue_1, nvalue_2, res)
  
}

输出:

0.93 + 0.46 = 1.39