Haskell程序 查找给定值的双曲正弦
本教程将帮助我们找到给定值的双曲正弦。一个数值的双曲正弦(也称为 “面积双曲正弦 “或 “反双曲正弦”),表示为asinh(x),是双曲正弦函数(sinh(x))的反函数,定义为-
asinh(x) = ln(x + sqrt(x^2 + 1))
语法
asinh(angle)
这里,asinh()是一个计算给定值的双曲正弦的函数,值作为参数被传递,用于计算所传递值的双曲正弦。它包含在Prelude模块中,该模块会自动导入到所有的Haskell程序中,因此无需导入任何额外的模块就可以使用它。
方法1:使用asinh()函数
在这个方法中,asinh()函数计算双曲正弦的值,这意味着它接收一个值x,并返回一个值y,使得sinh(y)=x.计算是通过公式asinh(x)=ln(x+sqrt(x^2+1)完成的。)
算法
- 第1步 – 程序的执行将从主函数开始。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:对asinh()使用log函数
在这种方法中,Haskell中给定值的双曲正弦将使用Prelude模块中的log函数而不是ln函数来计算,以及Math.Functions模块中的sqrt函数,同时使用^运算符将一个数字提升到一个幂。而这个定义被定义在asinh()下,然后被调用并用于计算结果。然后将结果显示在屏幕上。
算法
- 第1步 – “Prelude “模块被导入,隐藏了asinh()函数。这个模块已经包含了asinh()函数。
-
第2步 – 在Prelude模块下使用对数函数定义双曲弧线函数,定义为:asinh x = log (x + sqrt (x^2 + 1))。这个定义是主函数的定义,一旦函数被调用,就可以在主函数下使用。
-
第3步 – 程序的执行将从主函数开始。main()函数拥有程序的全部控制权。它被写成:main = do。
-
第4步 – 一个名为’value’的变量被初始化,它将包含角度值。并使用赋值运算符向其分配一个常量值。
-
第5步–调用双曲弧线函数asinh(),该函数包含上述定义的对数函数定义,用于计算所传递角度值的双曲弧线。
-
第6步 – 角度值作为参数传递给asinh()函数,只需将变量名称与所调用的函数一起写入。
-
第7步 – 在asinh()函数计算出最终的结果值后,将结果分配给 “result “变量,并通过打印结果值显示最终输出。为了打印结果,我们可以使用’putStrLn’,如putStrLn $ “asinh(” ++ 显示值 ++ “) = ” ++ 显示结果。相反,我们也可以使用打印(结果)。
示例
在这个例子中,我们将看到如何使用对数函数找到所传递数值的双曲正弦。
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
结论
在Haskell中给定值的双曲正弦值可以通过使用asinh()函数来计算。双曲正弦,asinh()函数在Haskell中不是一个内置函数,但它是Prelude模块的一部分。双曲正弦函数是为x的所有实值定义的,它返回一个在负无穷和正无穷之间的值。它在数学、物理学和工程学等各个领域都很有用。