std::acos(std::complex)
STD::ACOS%28std::Complex%29
Defined in header | | |
---|---|---|
template< class T > complex<T> acos( const complex<T>& z | | (since C++11) |
计算复值的复弧余弦z
.分支切割存在于间隔之外。-1;+1沿着真正的轴线。
参数
z | - | complex value |
---|
返回值
如果没有错误发生,则复弧余弦z
返回,在范围内。[0;∞%29沿实轴并在范围内-我
π;我
π沿着想象的轴。
错误处理和特殊值
错误报告与math_errhandling
...
如果实现支持ieee浮点算法,
std::acos
(std::conj(z))
== std::conj(
std::acos
(z))
- 如果
z
是(±0,+0)
,结果是(π/2,-0)
- 如果
z
是(±0,NaN)
,结果是(π/2,NaN)
- 如果
z
是(x,+∞)
对于任何有限的x%29,结果是(π/2,-∞)
- 如果
z
是(x,NaN)
对于任何非零有限的x%29,结果是(NaN,NaN)
和FE_INVALID
可能会被提升。
- 如果
z
是(-∞,y)
对于任意有限的y%29,结果是(π,-∞)
- 如果
z
是(+∞,y)
对于任意有限的y%29,结果是(+0,-∞)
- 如果
z
是(-∞,+∞)
,结果是(3π/4,-∞)
- 如果
z
是(+∞,+∞)
,结果是(π/4,-∞)
- 如果
z
是(±∞,NaN)
,结果是(NaN,±∞)
%28虚设部分的符号未指定为%29
- 如果
z
是(NaN,y)
对于任何有限的y%29,结果是(NaN,NaN)
和FE_INVALID
可能被提高
- 如果
z
是(NaN,+∞)
,结果是(NaN,-∞)
- 如果
z
是(NaN,NaN)
,结果是(NaN,NaN)
注记
逆余弦%28或弧余弦%29是一个多值函数,需要在复平面上切一个分支。分支切割按惯例放置在实际轴的线段%28-∞,-1%29和%281,∞%29处。弧余弦主值的数学定义是Acos z=。
一
*。
二
π+I_ln%28_i_z+Ⅹ1-Z2
%29
对于任何z,ACOS%28 Z%29=π-ACOS%28-z%29.
例
二次
#include <iostream>
#include <cmath>
#include <complex>
int main()
{
std::cout << std::fixed;
std::complex<double> z1(-2, 0
std::cout << "acos" << z1 << " = " << std::acos(z1) << '\n';
std::complex<double> z2(-2, -0.0
std::cout << "acos" << z2 << " (the other side of the cut) = "
<< std::acos(z2) << '\n';
// for any z, acos(z) = pi - acos(-z)
const double pi = std::acos(-1
std::complex<double> z3 = pi - std::acos(z2
std::cout << "cos(pi - acos" << z2 << ") = " << std::cos(z3) << '\n';
}
二次
产出:
二次
acos(-2.000000,0.000000) = (3.141593,-1.316958)
acos(-2.000000,-0.000000) (the other side of the cut) = (3.141593,1.316958)
cos(pi - acos(-2.000000,-0.000000)) = (2.000000,0.000000)
二次
另见
asin(std::complex) (C++11) | computes arc sine of a complex number (arcsin(z)) (function template) |
---|---|
atan(std::complex) (C++11) | computes arc tangent of a complex number (arctan(z)) (function template) |
cos(std::complex) | computes cosine of a complex number (cos(z)) (function template) |
acos | computes arc cosine (arccos(x)) (function) |
acos(std::valarray) | applies the function std::acos to each element of valarray (function template) |
c可可豆文件
© cppreference.com
在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。