求CCPR中介电常数。

#include <stdio.h>
#include <iostream>
#include <complex>

using namespace std;

// CCPR的相对介电常数的计算
complex<double> Permittivity()
{
	complex<double> rel_permt;   // 相对介电常数
	complex<double> J_angular_f(0, 6e14);   // 角频率
	complex<double> rel_permt_inf(1.000136193409153, 0); // 无穷大频率处的介电常数

	complex<double>pole[16] = {complex<double>(-0.00312e10, 0), complex<double>(-200.59e10, 0), complex<double>(-634.39e10, 45573.16e10),
		complex<double>(-634.39e10, -45573.16e10), complex<double>(-268.77e10, 45577.49e10), complex<double>(-268.77e10, -45577.49e10),
		complex<double>(-1656.60e10, 45549.18e10), complex<double>(-1656.60e10, -45549.18e10), complex<double>(-4240.01e10, 45410.81e10),
		complex<double>(-4240.01e10, -45410.81e10), complex<double>(-10436.59e10, 44590.35e10), complex<double>(-10436.59e10, -44590.35e10),
		complex<double>(-23992.76e10, 39948.55e10), complex<double>(-23992.76e10, -39948.55e10), complex<double>(-44308.45e10, 19512.16e10),
		complex<double>(-44308.45e10, -19512.16e10)};

	complex<double>pole_conj[16] = {complex<double>(-0.00312e10, 0), complex<double>(-200.59e10, 0), complex<double>(-634.39e10, -45573.16e10),
		complex<double>(-634.39e10, 45573.16e10), complex<double>(-268.77e10, -45577.49e10), complex<double>(-268.77e10, 45577.49e10),
		complex<double>(-1656.60e10, -45549.18e10), complex<double>(-1656.60e10, 45549.18e10), complex<double>(-4240.01e10, -45410.81e10),
		complex<double>(-4240.01e10, 45410.81e10), complex<double>(-10436.59e10, -44590.35e10), complex<double>(-10436.59e10, 44590.35e10),
		complex<double>(-23992.76e10, -39948.55e10), complex<double>(-23992.76e10, 39948.55e10), complex<double>(-44308.45e10, -19512.16e10),
		complex<double>(-44308.45e10, 19512.16e10)};

	complex<double>rsd[16] = {complex<double>(9952097.03e11, 0), complex<double>(-9951904.03e11, 0), complex<double>(289.31e11, 8042917.82e11),
		complex<double>(289.31e11, -0.3103e11), complex<double>(87.82e11, 0.2360e11), complex<double>(87.82e11, -0.2360e11), complex<double>(760.08e11, -3.425e11),
		complex<double>(760.08e11, 3.425e11), complex<double>(1880.59e11, -32.97e11), complex<double>(1880.59e11, 32.97e11), complex<double>(4442.37e11, -180.72e11),
		complex<double>(4442.37e11, 180.72e11), complex<double>(9712.91e11, -642.52e11), complex<double>(9712.91e11, 642.52e11), complex<double>(17090.80e11, -771.90e11),
		complex<double>(17090.80e11, 771.90e11)};

	complex<double>rsd_conj[16] = {complex<double>(9952097.03e11, 0), complex<double>(-9951904.03e11, 0), complex<double>(289.31e11, -8042917.82e11),
		complex<double>(289.31e11, 0.3103e11), complex<double>(87.82e11, -0.2360e11), complex<double>(87.82e11, 0.2360e11), complex<double>(760.08e11, 3.425e11),
		complex<double>(760.08e11, -3.425e11), complex<double>(1880.59e11, 32.97e11), complex<double>(1880.59e11, -32.97e11), complex<double>(4442.37e11, 180.72e11),
		complex<double>(4442.37e11, -180.72e11), complex<double>(9712.91e11, 642.52e11), complex<double>(9712.91e11, -642.52e11), complex<double>(17090.80e11, 771.90e11),
		complex<double>(17090.80e11, -771.90e11)};

	for (int i = 0; i < 16; i++)
	{
		rel_permt += rsd[i] / (J_angular_f - pole[i]) + rsd_conj[i] / (J_angular_f - pole_conj[i]);
	}

	 return rel_permt + rel_permt_inf;
}


int main()
{
	complex<double> Per = Permittivity();
	double Per_real = Per.real();
	double Per_imag = Per.imag();

	cout << Per << endl;
	return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值