std::log(std::complex)
std::log%28 std::Complex%29
Defined in header | | |
---|---|---|
template< class T > complex<T> log( const complex<T>& z | | |
计算复杂自然%28碱基e
复值的%29对数z
在负实轴上有一个分支。
参数
z | - | complex value |
---|
返回值
如果没有错误发生,则复杂的自然对数z
返回,在间隔内的条带范围内。-iπ+iπ沿着虚轴,在数学上沿着真实轴无界。
如果z
是一个负数,std::imag(
std::log
(x))
等号pi
...
错误处理和特殊值
错误报告与数学[医]错误处理...
如果实现支持ieee浮点算法,
- 考虑到虚部的符号,该函数连续于分支割集上。
std::log
(std::conj(z))
== std::conj(
std::log
(z))
- 如果
z
是(-0,+0)
,结果是(-∞,π)
和FE_DIVBYZERO
提出来
- 如果
z
是(+0,+0)
,结果是(-∞,+0)
和FE_DIVBYZERO
提出来
- 如果
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)
- 如果
z
是(NaN,y)
对于任何有限的y%29,结果是(NaN,NaN)
和FE_INVALID
可能被提高
- 如果
z
是(NaN,+∞)
,结果是(+∞,NaN)
- 如果
z
是(NaN,NaN)
,结果是(NaN,NaN)
注记
极坐标分量为%28r,θ%29等于lnr+i%28θ+2nπ%29的复数z的自然对数,主值lnr+iθ
例
二次
#include <iostream>
#include <cmath>
#include <complex>
int main()
{
std::complex<double> z(0, 1 // // r = 1, θ = pi/2
std::cout << "2*log" << z << " = " << 2.*std::log(z) << '\n';
std::complex<double> z2(sqrt(2)/2, sqrt(2)/2 // r = 1, θ = pi/4
std::cout << "4*log" << z2 << " = " << 4.*std::log(z2) << '\n';
std::complex<double> z3(-1, 0 // r = 1, θ = pi
std::cout << "log" << z3 << " = " << std::log(z3) << '\n';
std::complex<double> z4(-1, -0.0 // the other side of the cut
std::cout << "log" << z4 << " (the other side of the cut) = " << std::log(z4) << '\n';
}
二次
产出:
二次
2*log(0,1) = (0,3.14159)
4*log(0.707107,0.707107) = (0,3.14159)
log(-1,0) = (0,3.14159)
log(-1,-0) (the other side of the cut) = (0,-3.14159)
二次
另见
log10(std::complex) | complex common logarithm with the branch cuts along the negative real axis (function template) |
---|---|
exp(std::complex) | complex base e exponential (function template) |
log | computes natural (base e) logarithm (to base e) (ln(x)) (function) |
log(std::valarray) | applies the function std::log to each element of valarray (function template) |
C用于阻塞的文件
© cppreference.com
在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。