Haskell程序,用于查找给定值的双曲反正弦
本教程将帮助我们找到给定值的双曲反正弦。双曲反正弦(也称为“面积双曲正弦”或“反双曲正弦”)的值,表示为asinh(x),是双曲正弦函数(sinh(x))的反函数,定义为 -
asinh(x) = ln(x + sqrt(x^2 + 1))
语法
asinh(angle)
这里,asinh()是一个计算给定值的双曲反正弦的函数,并且value作为参数传递以计算传递的值的双曲反正弦。它包含在Prelude模块中,该模块自动导入到所有Haskell程序中,因此无需导入任何其他模块即可使用它。
方法1:使用asinh()函数
在这种方法中,asinh()函数计算双曲反正弦的值,这意味着它接收一个值x,并返回一个值y,使得sinh(y) = x。计算使用公式asinh(x) = ln(x + sqrt(x^2 + 1))进行。
算法
步骤1 - 程序执行将从main函数开始。main()函数控制整个程序。它被写成,main = do
步骤2 - 初始化一个名为“value”的变量。最初,它将具有垃圾值。然后,将一个常量值赋给它。此值使用赋值运算符赋给变量“value”。
步骤3 - 调用双曲反正弦函数asinh()。双曲反正弦asinh()函数不是Haskell中的内置函数,但它是Prelude模块的一部分。这里,asinh()函数使用ln和sqrt函数定义。
步骤4 - 将包含值的“value”变量作为参数传递给来自Prelude模块的asinh()函数。
步骤5 - 在asinh()函数计算最终结果值后,结果将被赋给“result”变量,并通过打印结果值显示最终输出。
示例
在本例中,我们将看到如何使用asinh()函数找到传递值的双曲反正弦。
main = do let value = 3.14 let result = asinh(value) print (result)
输出
1.8618125572133835
方法2:使用log函数计算asinh()
在这种方法中,将使用Prelude模块中的log函数而不是ln函数,以及Math.Functions模块中的sqrt函数以及^运算符将数字提高到幂来计算Haskell中给定值的双曲反正弦。此定义在asinh()中定义,然后调用并用于计算结果。然后在屏幕上显示结果。
算法
步骤1 - 导入“Prelude”模块,隐藏asinh()函数。此模块已包含asinh()函数。
步骤2 - 使用log函数在Prelude模块下定义双曲反正弦函数,定义为asinh x = log (x + sqrt (x^2 + 1))。此定义在main函数中定义,并在调用函数后可以在main下使用。
步骤3 - 程序执行将从main函数开始。main()函数控制整个程序。它被写成,main = do。
步骤4 - 初始化一个名为“value”的变量,该变量将包含角度值。并使用赋值运算符为其分配一个常量值。
步骤5 - 调用包含上述定义的log函数定义以计算传递的角度值的双曲反正弦的双曲反正弦函数asinh()。
步骤6 - 通过简单地编写变量名称以及调用的函数,将角度值作为参数传递给asinh()函数。
步骤7 - 在asinh()函数计算最终结果值后,结果将被赋给“result”变量,并通过打印结果值显示最终输出。要打印结果,我们可以使用‘putStrLn’,如putStrLn $ "asinh(" ++ show value ++ ") = " ++ show result。或者,我们也可以使用print (result)。
示例
在本例中,我们将看到如何使用log函数找到传递值的双曲反正弦。
import Prelude hiding (asinh) asinh :: Double -> Double asinh x = log (x + sqrt (x^2 + 1)) main :: IO () main = do let value = 2.5 let result = asinh value putStrLn $ "asinh(" ++ show value ++ ") = " ++ show result
输出
asinh(2.5) = 1.6472311463710958
结论
可以通过使用asinh()函数计算Haskell中给定值的双曲反正弦值。双曲反正弦asinh()函数不是Haskell中的内置函数,但它是Prelude模块的一部分。双曲反正弦函数对所有实数值x定义,并且返回负无穷大和正无穷大之间的值。它在数学、物理和工程等各个领域都有用。