Haskell程式:求給定值的反正切


本教程將幫助我們找到給定值的反正切。反正切是正切的逆函式。在一個直角三角形中,一個角的正切定義為該角對邊的長度與鄰邊的長度之比。因此,反正切給出正切值為給定值的角的度量(以弧度為單位)。

語法

atan(angle)

這裡,atan()是一個內建函式,並將值作為引數傳遞以計算傳遞值的反正切。反正切是一個週期函式,週期為π,因此對於正切的輸入值,反正切函式的範圍是(-π/2, π/2)。

方法一:使用內建atan()函式求反正切

在這個方法中,atan()函式計算反正切的主值,即範圍(-π/2, π/2)內的角度。

演算法

  • 步驟1 − 程式執行將從main函式開始。main()函式控制整個程式。

  • 步驟2 − 初始化一個名為“angle”的變數。最初,它將具有垃圾值。然後,將一個常數值賦給它。這個值使用賦值運算子賦給變數“angle”。

  • 步驟3 − 然後使用“putStrLn”語句列印傳遞的角度值。

  • 步驟4 − 呼叫內建反正切函式atan()。它的定義已在標準庫中提供。

  • 步驟5 − 將包含值的“angle”變數作為引數傳遞給atan()函式。

  • 步驟6 − atan()函式計算最終結果值後,將結果賦值給“result”變數,並透過列印結果值顯示最終輸出。

示例

在這個例子中,我們將看到如何找到傳遞值的反正切。這可以透過使用內建的atan()函式來完成。

main = do 
let angle = 1 
putStrLn "The value whose arctangent is to be computed is:  "
print (angle)
let result=atan(angle) 
putStrLn "The resultant arctangent value is:  "
print (result)

輸出

The value whose arctangent is to be computed is:  
1.0
The resultant arctangent value is:  
0.7853981633974483

方法二:使用內建atan2()函式求反正切

在這個方法中,arctan2函式使用來自“Prelude”模組的內建atan2()函式。這裡,atan2函式接受兩個引數y和x,它們代表點的y和x座標,並計算範圍(-π, π]內正x軸和點之間的角度。當x可以為零且正常的arctan函式沒有足夠的資訊來確定點(x, y)的正確角度時,此函式特別有用。

演算法

  • 步驟1 − 匯入“Data.Fixed”和“Numeric”模組。

  • 步驟2 − 程式執行將從main函式開始。main()函式控制整個程式。

  • 步驟3 − 初始化兩個名為'y'和'x'的變數,它們將包含一個點的座標值。併為其賦值一個常數值。

  • 步驟4 − 呼叫包含計算傳遞的座標值的反正切的函式定義的反正切函式atan2()或arctan2()。

  • 步驟5 − 將'y'和'x'座標作為引數傳遞給atan2()或arctan2()函式。

  • 步驟6 − atan2()或arctan2()函式計算最終結果值後,將結果賦值給“result”變數,並透過列印結果值顯示最終輸出。

示例

import Data.Fixed
import Numeric

arctan2 :: Double -> Double -> Double
arctan2 y x = atan2 y x
main :: IO ()
main = do
let y = 3 
let x = 4 

let result = arctan2 y x
putStrLn "The resultant arctangent value is:  "
print (result)  

輸出

The resultant arctangent value is:  
0.6435011087932844

結論

可以使用atan()函式計算Haskell中給定值的反正切值。對於計算點(x,y)的反正切值,使用atan2()或arctan2()函式。atan2()或arctan2()函式返回正切值為其引數商(y/x)的角度,定義在[-π, π]範圍內。而atan()函式返回正切值為其引數商的角度,定義在[-π/2, π/2]範圍內。

更新於:2023年1月20日

瀏覽量:318

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告