⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 complex.h

📁 数值计算利用fft分解法来求解线性方程组,简明方便
💻 H
字号:
class complex
{
public:
	float real;
	float imag;
	complex(){real=0,imag=0;}
	complex(float,float);
    friend complex operator +(complex &,complex &);
    friend complex operator -(complex &,complex &);
    friend complex operator *(complex &,complex &);
    friend complex operator /(complex &,complex &);
	friend ostream& operator <<(ostream&,complex&);
    friend istream& operator >>(istream&,complex&);
	friend complex pow(complex &c,int n); 
	friend float fabs(complex& c);	 
};
complex::complex(float x,float y)
{real=x,imag=y;}
complex operator + (complex &c1,complex &c2) 
{return complex(c1.real+c2.real,c1.imag+c2.imag);}  
complex operator - (complex &c1,complex &c2) 
{return complex(c1.real+-c2.real,c1.imag-c2.imag);}  
complex operator * (complex &c1,complex &c2) 
{return complex(c1.real*c2.real-c1.imag*c2.imag,c1.real*c2.imag+c1.imag*c2.real);}  
complex operator / (complex &c1,complex &c2) 
{return complex((float)(c1.real*c2.real+c1.imag*c2.imag)/pow(c2.real,2)+pow(c2.imag,2),(float)(c2.real*c1.imag-c1.real*c2.imag)/(pow(c2.real,2)+pow(c2.imag,2)));}  
ostream& operator <<(ostream&output,complex&c)
{output<<c.real<<"+"<<c.imag<<"j";
return output;}
istream& operator >>(istream&input,complex&c)
{input>>c.real>>c.imag;
return input;}
complex pow(complex &c,int n)
{
	int i;
	complex h(1,0);
	for(i=0;i<n;i++)
	{
		h=h*c;
	}
	return h;
}
float fabs(complex& c)
{return sqrt(c.real*c.real+c.imag*c.imag);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -