stl 的数值运算:
- 复数运算
- 数组运算
- 通用数值运算
- 全局性数学函数
1.复数运算
- 复数是由实部和虚部组成的数值。
- 虚部的特点是: 其平方值为负数,即复数虚部的带着i,i是-1的平方根
类complex定义与<complex>
中,
类定义:
template< class T >
class complex;
stl还提供了,float,double,long double的特殊版本。
1.复数的成员函数
- 构造函数
- 实部函数
- 虚部函数
- 运算符函数
1.构造函数
复数有两个构造函数
函数声明:
complex( const T& re = T(), const T& im = T() );
complex( const complex& rhs );
说明:
1. 第一种形式利用参数re,和im确定复数对象
2. 第二种形式利用原有的复数对象
例子:
complex<float>c1(1.5,2.5);//第一种形式
complex<float> c2(c1); //第二种形式
2.实部函数和虚部函数
- real
- img
函数原型:
//real
T real() const; (1)
void real( T value ); (2)
- 第一种: 返回实部
- 第二种:设置实部
//img
T imag() const; (1)
void imag( T value ); (2)
- 第一种: 返回虚部
- 第二种:设置虚部
3.复数运算符
成员函数:
- operator+=
- operator-=
- operator/=
- operator*=
非成员函数:
- operator+
- operator- //对复数一元运算
- operator+
- operator-
- operator*
- operator/ : 对两个复数或者一个复数和一个标量运用复数运算
- operator==
- operator!= :比较两个复数或者一个复数和一个标量
4.其他运算
复数可以进行其他简单运算,如
- 绝对值函数: abs()
- 绝对值的平方: norm()
- 复数的相位 : arg
- 输入与输出:
- 共轭函数: conj
- 极坐标函数 : polar
1.绝对值函数(abs)
函数原型:
template< class T >
T abs( const complex<T>& z );
复数的绝对值计算公式:
(实部的平方 + 虚部的平方)的平方根
2.绝对值的平方(norm)
函数原型
template< class T >
T norm( const complex<T>& z );
复数的绝对值的平方计算公式:
(实部的平方 + 虚部的平方)
3.复数的相位(arg)
函数原型为:
template< class T >
T arg( const complex<T>& z );
(1). 返回值:若无错误发生,则返回 z 在区间 (−π; π) 内的辐角。返回的单位是弧度。是复数的极坐标形式的相位角。
4.输出和输入
operator<<
operator>> : 复数的序列化和反序列化
5.共轭函数(conj)
函数原型:
template< class T >
complex<T> conj( const complex<T>& z );
产生并返回一个复数。共轭复数是指实部相同,虚部与原复数的虚部互相反。
6.极坐标函数(polar)
函数原型:
template< class T >
complex<T> polar( const T& rho, const T& theta = 0 );
说明:
1. rho: 级
2. theta: 角
【没搞懂】
3.复数的超越函数
复数的超越函数一般指的是三角函数和指数函数
三角函数:
- sin(std::complex) :计算一个复数的正弦(sin(z))
- cos(std::complex) :计算一个复数的余弦(cos(z))
- tan(std::complex) :计算一个复数的正切(tan(z))
- asin(std::complex) (C++11) :计算一个复数的反正弦 (arcsin(z))
- acos(std::complex) (C++11) :计算一个复数的反余弦(arccos(z))
- atan(std::complex) (C++11) 计算一个复数的反正切 (arctan(z))
双曲函数:
- sinh(std::complex) :计算复数的双曲正弦(sh(z))
- cosh(std::complex) :计算复数的双曲余弦(ch(z))
- tanh(std::complex) :计算复数的双曲正切
- asinh(std::complex) (C++11) :计算复数的双曲反正弦
- acosh(std::complex) (C++11) :计算复数的双曲反余弦
- atanh(std::complex) (C++11) :计算复数的双曲反正切
指数函数:
- exp(std::complex) :以 e为底复数的指数
- log(std::complex) :沿负实轴割线的复数的自然对数
- log10(std::complex) :沿负实轴割线的复数的常用对数
幂函数:
- pow(std::complex) :复数的幂,两个参数或其一可能是复数
- sqrt(std::complex) :右半侧平面范围内的复数平方根