C++程序:求给定值的反正弦
在三角学中,我们最常用的几个比率是正弦、余弦、正切等。根据给定的角度,可以计算出这些比率。但是,如果我们有比率值,我们也可以使用反三角函数来计算角度。
在这篇文章中,我们将讨论如何通过C++中的反正弦(arcsine)方法从正弦值获得弧度角。
asin()函数
asin()方法用于使用反三角正弦函数计算角度。此函数存在于C++的标准库中。我们需要导入cmath库才能使用此方法。此函数通过取正弦值作为输入来返回弧度角。以下是简单的语法:
语法
#include < cmath > asin( <sine value> )
正弦值必须在[-1到+1]范围内(包括两端)。否则,将引发域错误,并将返回非数字(nan)。返回值将在$\mathrm{[-\:\frac{\pi}{2},\frac{\pi}{2}]}$范围内(包括两端)。
算法
- 以正弦值x作为输入
- 使用asin(x)计算sin−1(x)
- 返回结果。
示例
#include <iostream> #include <cmath> using namespace std; float solve( float x ) { float answer; answer = asin( x ); return answer; } int main() { float angle, ang_deg; angle = solve( 0.7071067 ); ang_deg = angle * 180 / 3.14159; cout << "The angle (in radian) for given sine value 0.7071067 is: " << angle << " = " << ang_deg << " (in degrees)" << endl; angle = solve( 0.866025 ); ang_deg = angle * 180 / 3.14159; cout << "The angle (in radian) for given sine value 0.866025 is: " << angle << " = " << ang_deg << " (in degrees)" << endl; angle = solve( 1 ); ang_deg = angle * 180 / 3.14159; cout << "The angle (in radian) for given sine value 1 is: " <<; angle << " = " << ang_deg << " (in degrees)" << endl; angle = solve( 0.5 ); ang_deg = angle * 180 / 3.14159; cout << "The angle (in radian) for given sine value 0.5 is: " << angle << " = " << ang_deg << " (in degrees)" << endl; }
输出
The angle (in radian) for given sine value 0.7071067 is: 0.785398 = 45 (in degrees) The angle (in radian) for given sine value 0.866025 is: 1.0472 = 60 (in degrees)The angle (in radian) for given sine value 1 is: 1.5708 = 90.0001 (in degrees) The angle (in radian) for given sine value 0.5 is: 0.523599 = 30 (in degrees)
这里,asin()函数取正弦值并返回弧度格式的角度。这里我们使用以下公式将输出从弧度转换为度数:
$$\mathrm{\theta_{deg}\:=\:\theta_{rad}\:\times\:\frac{180}{\pi}}$$
结论
要根据正弦值执行反三角运算,我们使用cmath库中的asin()函数。此函数以正弦值作为输入,并返回弧度单位的给定角度。在较旧版本的C/C++中,返回类型为double,但在C++的后续版本中,还为float和long double添加了重载形式。当整数作为参数传递时,它将输入参数转换为double,并调用对应于double类型参数的asin()方法。
广告