std::cosh(std::complex)

来自cppreference.com
< cpp‎ | numeric‎ | complex
定义于头文件 <complex>
template< class T >
complex<T> cosh( const complex<T>& z );
(C++11 起)

计算 z 的复双曲余弦。

参数

z - 复数值

返回值

若不发生错误,则返回 z 的复双曲余弦。

错误处理及特殊值

报告的错误与 math_errhandling 一致。

若实现支持 IEEE 浮点算术,则,

  • std::cosh(std::conj(z)) == std::conj(std::cosh(z))
  • std::cosh(z) == std::cosh(-z)
  • z(+0,+0) ,则结果为 (1,+0)
  • z(+0,+∞) ,则结果为 (NaN,±0) (虚部符号未指定)并引发 FE_INVALID
  • z(+0,NaN) ,则结果为 (NaN,±0) ((虚部符号未指定)
  • z(x,+∞) (对于任何有限非零 x ),则结果为 (NaN,NaN) 并引发 FE_INVALID
  • z(x,NaN) (对于任何有限非零 x ),则结果为 (NaN,NaN) 并可能引发 FE_INVALID
  • z(+∞,+0),则结果为 (+∞,+0)
  • z(+∞,y) (对于任何有限非零 y ),则结果为 +∞cis(y)
  • z(+∞,+∞),则结果为 (±∞,NaN) (实部符号未指定)并引发 FE_INVALID
  • z(+∞,NaN),则结果为 (+∞,NaN)
  • z(NaN,+0),则结果为 (NaN,±0) (虚部符号未指定)
  • z(NaN,+y) (对于任何有限非零 y ),则结果为 (NaN,NaN) 并可能引发 FE_INVALID
  • z(NaN,NaN),则结果为 (NaN,NaN)

其中 cis(y)cos(y) + i sin(y)

注意

双曲余弦的数学定义是 cosh z =
ez
+e-z
2

双曲余弦在复平面上是整函数,而无分支切割。它相对于虚部是周期的,周期为 2πi 。

示例

#include <iostream>
#include <cmath>
#include <complex>
 
int main()
{   
    std::cout << std::fixed;
    std::complex<double> z(1, 0); // 表现如沿实轴的实 cosh
    std::cout << "cosh" << z << " = " << std::cosh(z)
              << " (cosh(1) = " << std::cosh(1) << ")\n";
 
    std::complex<double> z2(0, 1); // 表现如沿虚轴的实余弦
    std::cout << "cosh" << z2 << " = " << std::cosh(z2)
              << " ( cos(1) = " << std::cos(1) << ")\n";
}

输出:

cosh(1.000000,0.000000) = (1.543081,0.000000) (cosh(1) = 1.543081)
cosh(0.000000,1.000000) = (0.540302,0.000000) ( cos(1) = 0.540302)

参阅

计算复数的双曲正弦( sinh(z)
(函数模板)
计算复数的双曲正切( tanh(z)
(函数模板)
计算复数的反双曲余弦( arcosh(z)
(函数模板)
(C++11)(C++11)
计算双曲余弦( cosh(x)
(函数)
在 valarray 的每个元素上调用 std::cosh 函数
(函数模板)