std::tan(std::complex)

< cpp‎ | numeric‎ | complex
定义于头文件 <complex>
template< class T >
complex<T> tan( const complex<T>& z );

计算复数值 z 的复正切。

参数

z - 复数值

返回值

若无错误发生,则返回 z 的复正切。

错误和特殊情况如同运算实现为 -i * std::tanh(i*z) 一般处理,其中 i 是虚数单位。

注意

正切是复平面上的解析函数,而无分支切割。它对于实部是周期的,周期为 πi ,而且沿实轴有一阶极点,位于坐标 (π(1/2 + n), 0) 。然而无常用浮点表示能准确表示 π/2 ,故而没有值使得极点错误出现。

正切的数学定义是 tan z =
i(e-iz
-eiz
)
e-iz
+eiz

示例

#include <iostream>
#include <cmath>
#include <complex>
 
int main()
{
    std::cout << std::fixed;
    std::complex<double> z(1, 0); // 表现类似沿实轴的实正切
    std::cout << "tan" << z << " = " << std::tan(z)
              << " ( tan(1) = " << std::tan(1) << ")\n";
 
    std::complex<double> z2(0, 1); // 表现类似沿虚轴的 tanh
    std::cout << "tan" << z2 << " = " << std::tan(z2)
              << " (tanh(1) = " << std::tanh(1) << ")\n";
}

输出:

tan(1.000000,0.000000) = (1.557408,0.000000) ( tan(1) = 1.557408)
tan(0.000000,1.000000) = (0.000000,0.761594) (tanh(1) = 0.761594)

参阅

计算复数的正弦( sin(z)
(函数模板)
计算复数的余弦( cos(z)
(函数模板)
计算复数的反正切( arctan(z)
(函数模板)
(C++11)(C++11)
计算正切( tan(x)
(函数)
应用函数 std::tan 到 valarray 的每个元素
(函数模板)