std::sinh(std::complex)
定义于头文件 <complex>
|
||
template< class T > complex<T> sinh( const complex<T>& z ); |
(C++11 起) | |
计算复数值 z
的复双曲正弦。
参数
z | - | 复数值 |
返回值
若不出现错误,则返回 z
的复双曲正弦。
错误处理及特殊值
报告的错误与 math_errhandling 一致。
若实现支持 IEEE 浮点算术,则
- std::sinh(std::conj(z)) == std::conj(std::sinh(z))
- std::sinh(z) == -std::sinh(-z)
- 若
z
为(+0,+0)
,则结果为(+0,+0)
- 若
z
为(+0,+∞)
,则结果为(±0,NaN)
(实部符号未指定)并引发 FE_INVALID - 若
z
为(+0,NaN)
,则结果为(±0,NaN)
- 若
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) 。
注意
双曲正弦的数学定义是 sinh 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); // 表现类似沿实轴的 sinh std::cout << "sinh" << z << " = " << std::sinh(z) << " (sinh(1) = " << std::sinh(1) << ")\n"; std::complex<double> z2(0, 1); // 表现类似沿虚轴的正弦 std::cout << "sinh" << z2 << " = " << std::sinh(z2) << " ( sin(1) = " << std::sin(1) << ")\n"; }
输出:
sinh(1.000000,0.000000) = (1.175201,0.000000) (sinh(1) = 1.175201) sinh(0.000000,1.000000) = (0.000000,0.841471) ( sin(1) = 0.841471)
参阅
计算复数的双曲余弦( cosh(z) ) (函数模板) | |
计算复数的双曲正切( tanh(z) ) (函数模板) | |
(C++11) |
计算复数的反双曲正弦( arsinh(z) ) (函数模板) |
(C++11)(C++11) |
计算双曲正弦( sinh(x) ) (函数) |
在 valarray 的每个元素上调用 std::sinh 函数 (函数模板) |