Haskell程序:求给定值的双曲反正切
本教程将帮助我们找到给定值的双曲反正切。双曲反正切,也称为反双曲正切,是双曲正切的反函数。它用atanh(或arctanh)表示,可以定义为atanh(x) = (ln(1+x) - ln(1-x)) / 2
语法
atanh(angle)
这里,atanh()是一个函数,值作为参数传递以计算传递值的双曲反正切。它返回(-∞, ∞)范围内的值。在Haskell中,atanh()函数是Floating类的部分,Floating类是Real类的子类。它用于计算值的反正切,其双曲正切等于给定值。
方法一:使用log()函数
在这种方法中,该函数使用自然对数函数(log)和平方根函数(sqrt)来计算输入值的双曲反正切,并在函数被调用后计算结果。
算法
步骤1 − 导入“Data.Complex”模块以使用log函数。
步骤2 − 程序执行将从main函数开始。main()函数控制整个程序。
步骤3 − 初始化名为“value”的变量。最初,它将具有垃圾值。然后,将一个常数值赋给它。使用赋值运算符将此值赋给变量“value”。
步骤4 − 调用双曲反正切函数atanh()。如果不使用cmath库,则必须定义atanh()函数。为了计算传递值的双曲反正切,使用log和sqrt函数定义atanh()函数,如atanh x = log ((1 + x) / (1 - x)) / 2。
步骤5 − 将包含值的“value”变量作为参数传递给atanh()函数。
步骤6 − atanh()函数计算最终结果值后,将结果赋值给“result”变量,并通过打印结果值显示最终输出。
示例
在这个例子中,我们将看到如何使用log()函数找到传递值的双曲反正切。
import Data.Complex
atanh :: Double -> Double
atanh x = log ((1 + x) / (1 - x)) / 2
main :: IO()
main = do
let value = 0.5
let result = Prelude.atanh value
putStrLn ("The hyperbolic arctangent of " ++ show value ++ " is " ++ show result)
输出
The hyperbolic arctangent of 0.5 is 0.5493061443340549
方法二:使用atanh()函数
在这种方法中,给定值的双曲反正切是通过直接调用atanh()函数来计算的。atanh()函数的定义包含在cmath库中。因此,我们可以直接调用此函数并将值作为参数传递给它。然后,结果双曲反正切将显示在屏幕上。
算法
步骤1 − 导入“Data.Complex”模块。
步骤2 − 程序执行将从main函数开始。main()函数控制整个程序。
步骤3 − 初始化名为“value”的变量。最初,它将具有垃圾值。然后,将一个常数值赋给它。使用赋值运算符将此值赋给变量“value”。
步骤4 − 直接调用cmath库中已包含其函数定义以计算双曲反正切的双曲反正切函数atanh()。
步骤5 − 将包含值的“value”变量作为参数传递给atanh()函数,只需编写函数调用的变量名即可。
步骤6 − atanh()函数计算最终结果值后,将结果赋值给“result”变量,并通过打印结果值显示最终输出。可以使用‘putStrLn’打印结果,例如putStrLn ("The hyperbolic arctangent of " ++ show value ++ " is " ++ show result)。也可以使用print (result)。
示例
在这个例子中,我们将看到如何使用atanh()函数找到传递值的双曲反正切。
import Data.Complex
main :: IO ()
main = do
let value = 0.5
let result = Prelude.atanh value
putStrLn ("The hyperbolic arctangent of " ++ show value ++ " is " ++ show result)
输出
The hyperbolic arctangent of 0.5 is 0.5493061443340549
结论
可以使用atanh()函数计算Haskell中给定值的双曲反正切值。双曲反正切函数atanh()是Haskell中的内置函数,其定义已在cmath库中提供。否则,如果不使用cmath库,我们也可以使用log函数定义双曲反正切函数的函数定义。
双曲反正切函数在物理学、工程学和计算机科学等领域非常有用,用于研究双曲函数及其性质。
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP