complex_operation.h

来自「it is a program about ofdm,and it is pro」· C头文件 代码 · 共 83 行

H
83
字号

/*  复数运算   */

struct _complex
{
     double  x;
     double  y;
};

struct _complex mul1(struct _complex a,struct _complex b)
{
	struct _complex Commul;
	Commul.x=a.x*b.x-a.y*b.y;
	Commul.y=a.x*b.y+a.y*b.x;
	return Commul;
}

struct _complex division1(struct _complex a,struct _complex b)
{
	struct _complex Comdiv;
	double Temp;
	Temp=b.x*b.x+b.y*b.y; // 不影响相位
	Comdiv.x=(a.x*b.x+a.y*b.y)/Temp;
	Comdiv.y=(-a.x*b.y+a.y*b.x)/Temp;
	return Comdiv;
}

struct _complex add1(struct _complex a,struct _complex b)
{
	struct _complex Comadd;
	Comadd.x=a.x+b.x;
	Comadd.y=a.y+b.y;
	return Comadd;
}

struct _complex dec1(struct _complex a,struct _complex b)
{
	struct _complex Comdec;
	Comdec.x=a.x-b.x;
	Comdec.y=a.y-b.y;
	return Comdec;
}

struct _complex expp1(struct _complex a)
{
	struct _complex Comexp;
	Comexp.x=exp(a.x)*cos(a.y);
	Comexp.y=exp(a.x)*sin(a.y);
	return Comexp;
}

struct _complex conj1(struct _complex a)
{
	struct _complex Comconj;
	Comconj.x=a.x;
	Comconj.y=-a.y;
	return Comconj;
}

struct _complex mulnum1(double a,struct _complex b)
{
	struct _complex Comaddnum;
	Comaddnum.x=a*b.x;
	Comaddnum.y=a*b.y;
	return Comaddnum;
}

double fmo(struct _complex a)
{
	double b;
	b=sqrt(a.x*a.x+a.y*a.y);
	return(b);	
}

double module(double a,double b)
{
  double c;
  c=sqrt(a*a+b*b);
  return(c);
}


⌨️ 快捷键说明

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