双曲函数是使用双曲线而不是圆定义的,与普通三角函数相当。它从提供的弧度角返回双曲正弦函数中的比率参数。但要做相反的事,或者换句话说。如果我们想根据双曲正弦值计算角度,我们需要像双曲反正弦运算一样的反双曲三角运算。
本课程将演示如何使用 C++ 中的双曲反正弦 (asinh) 函数,使用双曲正弦值(以弧度为单位)计算角度。双曲反正弦运算遵循以下公式 -
$$mathrm{sinh^{-1}x:=:In(x:+:sqrt{x^2:+:1})},其中 :In:是:自然对数:(log_e : k)$$
asinh() 函数
根据双曲正弦值,可以使用 asinh() 函数计算角度。这个函数是C++标准库自带的。在使用这个函数之前我们必须导入cmath库。此方法返回以弧度为单位的角度,并采用正弦值作为参数。以下使用简单的语法 -
语法
#include
asinh( )
登录后复制
算法
- 以双曲正弦值 x 作为输入
- 使用 asinh( x ) 计算 sinh−1(x)
- 返回结果。
示例
#include
#include
using namespace std;
float solve( float x ) {
float answer;
answer = asinh( x );
return answer;
}
int main()
{
float angle, ang_deg;
angle = solve( 2.3013 );
ang_deg = angle * 180 / 3.14159;
cout 登录后复制
输出
The angle (in radian) for given hyperbolic sine value 2.3013 is: 1.5708 = 90.0001 (in degrees)
The angle (in radian) for given hyperbolic sine value 11.5487 is: 3.14159 = 180 (in degrees)
The angle (in radian) for given hyperbolic sine value 0.86867 is: 0.785397 = 45 (in degrees)
The angle (in radian) for given hyperbolic sine value - 0.86867 is: -0.785397 = -45 (in degrees)
登录后复制
asinh() 方法在本例中接收双曲正弦值,并返回弧度格式的角度。我们使用下面的公式将此输出从弧度转换为度数。
$$mathrm{theta_{deg}:=:theta_{rad}:timesfrac{180}{pi}}$$
结论
为了使用正弦值进行反双曲运算,我们使用 cmath 包中的 asinh() 函数。接收双曲正弦值作为输入后,该函数输出所需的弧度角度。在旧版本的 C 和 C++ 中,返回类型是 double; C++ 的更高版本还使用了 float 和 long-double 的重载形式。当整数值作为参数传递时,将在将输入参数转换为 double 类型后调用 asinh() 函数。
以上就是C++程序以给定值为参数,找到双曲正弦反函数的值的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!