在 Go 語言中求複數的反雙曲餘弦


Go 語言內建了一個 math 包,提供各種數學函式。本文將重點介紹如何使用 Go 語言中的 math/cmplx 包來求複數的反雙曲餘弦。

反雙曲餘弦函式

反雙曲餘弦函式 (acosh) 是雙曲餘弦函式 (cosh) 的反函式。它定義在實數 x ≥ 1 上,其值域是非負實數集。對於複數,acosh 定義為 −

acosh(z) = ln(z + sqrt(z^2 - 1))

其中 ln 是自然對數,sqrt 是平方根,z 是一個複數。

在 Go 語言中,math/cmplx 包提供了 Acosh() 函式來求複數的反雙曲餘弦。Acosh() 函式的語法如下 −

func Acosh(x complex128) complex128

Acosh() 函式接收一個複數 x 作為引數,並返回 x 的反雙曲餘弦。

示例 1:求複數的反雙曲餘弦

讓我們使用 Acosh() 函式來求一個複數的反雙曲餘弦。

package main

import (
   "fmt"
   "math/cmplx"
)

func main() {
   // Declare a complex number
   z := complex(3, 4)

   // Find the inverse hyperbolic cosine of z
   acosh := cmplx.Acosh(z)

   // Display the result
   fmt.Printf("acosh(%v) = %v\n", z, acosh)
}

輸出

acosh((3+4i)) = (2.3055090312434685+0.9368124611557194i)

在這個例子中,我們首先使用 complex() 函式聲明瞭一個複數 z。然後,我們使用 Acosh() 函式求 z 的反雙曲餘弦,並將結果儲存在 acosh 變數中。最後,我們使用 Printf() 函式顯示結果。

示例 2:求實數的反雙曲餘弦

讓我們使用 Acosh() 函式來求一個實數的反雙曲餘弦

package main

import (
   "fmt"
   "math/cmplx"
)

func main() {
   // Declare a real number
   x := 2.5

   // Find the inverse hyperbolic cosine of x
   acosh := cmplx.Acosh(complex(x, 0))

   // Display the result
   fmt.Printf("acosh(%v) = %v\n", x, acosh)
}

輸出

acosh(2.5) = (1.5667992369724106+0i)

在這個例子中,我們首先聲明瞭一個實數 x。然後,我們使用 complex() 函式將實數轉換為複數,並使用 Acosh() 函式求 x 的反雙曲餘弦。最後,我們使用 Printf() 函式顯示結果。

結論

本文介紹瞭如何使用 Go 語言 math/cmplx 包提供的 Acosh() 函式來求複數的反雙曲餘弦。我們還了解了如何透過將實數轉換為複數來求其反雙曲餘弦。Acosh() 函式是解決涉及複數的數學問題的有用工具。

更新於: 2023年4月12日

120 次檢視

啟動你的 職業生涯

透過完成課程獲得認證

開始學習
廣告