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

📄 complex_num.cpp

📁 这个我写的一个计算LC滤波器的程序
💻 CPP
字号:
// Complex_num.cpp: implementation of the CComplex_num class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "Fileter.h"
#include "Complex_num.h"

#include "math.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CComplex_num::CComplex_num()
{
	real_part=0.0;
	virt_part=0.0;
}

CComplex_num::CComplex_num(double real,double virt)
{
	real_part=real;
	virt_part=virt;
}
CComplex_num::~CComplex_num()
{

}

double CComplex_num::GetAmp()
{
  return (sqrt(real_part*real_part+virt_part*virt_part));
}

double CComplex_num::GetPhase()
{
 return virt_part/real_part;
}

CComplex_num operator + (CComplex_num &num1,CComplex_num &num2)
{
	double Rresult,Vresult;
	Rresult=num1.real_part+num2.real_part;
	Vresult=num1.virt_part+num2.virt_part;
	return CComplex_num(Rresult,Vresult);
}

CComplex_num operator - (CComplex_num &num1,CComplex_num &num2)
{
	double Rresult,Vresult;
	Rresult=num1.real_part-num2.real_part;
	Vresult=num1.virt_part-num2.virt_part;
	return CComplex_num(Rresult,Vresult);
}

CComplex_num operator * (CComplex_num &num1,CComplex_num &num2)
{
	double Rresult,Vresult;
	Rresult=num1.real_part*num2.real_part-num1.virt_part*num2.virt_part;
	Vresult=num1.virt_part*num2.real_part+num1.real_part*num2.virt_part;
	return CComplex_num(Rresult,Vresult);
}
CComplex_num operator / (CComplex_num &num1,CComplex_num &num2)
{
	if(num2.real_part!=0||num2.virt_part!=0)
	{
	  double C1,C2,C3;
	  double Rresult,Vresult;
	  C1=num1.real_part*num2.real_part+num1.virt_part*num2.virt_part;
	  C2=num1.virt_part*num2.real_part-num1.real_part*num2.virt_part;
	  C3=num2.real_part*num2.real_part+num2.virt_part*num2.virt_part;
	
      Rresult=C1/C3;
	  Vresult=C2/C3;
	  return CComplex_num(Rresult,Vresult);
	}
	else return CComplex_num(0,0);
	
}
CComplex_num operator % (CComplex_num &num1,CComplex_num &num2)
{
	return (num1*num2)/(num1+num2);
}

⌨️ 快捷键说明

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