📄 emodel1.cpp
字号:
#include<iostream>
#include <cstdio>
#include <cmath>
using namespace std;
int main()
{double e=2.7183;
double R,Ro,Is,Id,Ie_eff,OLR,Pre,Nos,Nor,Nfo,No,Xolr,
Iolr,STMRo,Ist,Q,G,X,Y,Z,Iq,Roe,TERV,BurstR,
Re,TERVs,Idtes,Rle,Idle,Idd;
double SLR=8.0,Ps=35.0,Ds=3.0,RLR=2.0,Pr=35.0,
LSTR=18.0,Nfor=-64.0,STMR=15.0,TELR=65.0,qdu=1.0,
T=0.0,Tr=0.0,Ta=0.0,WEPL=110.0,Ie=0.0,
Nc=-70.0,Idte=0.0,Bpl=1.0,Ppl=0.0,A=0.0,Dr=3.0;
/*double SLR=8.0,OLR=10.0,Dr=3.0,Ds=3.0,WEPL=110,
Tr=0.0,Ie=0.0,Bpl=1.0,Pr=35.0,Nc=-70.0,
qdu=1.0,RLR=2.0,STMR=15.0,LSTR=18.0,TELR=65.0,
T=0.0,Ta=0.0,A=0.0,Ppl=0.0,Ps=35.0,Nfor=-64.0;*/
OLR = SLR + RLR;
Pre=Pr+10.0*log10(1.0+pow(10,(10.0-LSTR)/10.0) );
Nos = Ps-SLR-Ds-100.0+0.004*pow(Ps-OLR-Ds-14.0,2);
Nor = RLR-121.0+Pre+0.008*pow(Pre-35.0,2);
Nfo = Nfor + RLR ;
No = 10*log10(pow(10,Nc/10.0)+pow(10,Nos/10.0)+pow(10,Nor/10.0)+pow(10,Nfo/10.0));
Ro = 15-1.5*(SLR + No) ;
Xolr=OLR+0.2*(64+No-RLR);
Iolr=20*(pow(1+pow(Xolr/8.0,8),1/8.0)-Xolr/8.0);
STMRo=-10*log10(pow(10,-(STMR/10.0))+pow(e,(-(T/4.0)))*pow(10,-(TELR/10.0)));
Ist=12*pow(1+pow((STMRo-13)/6.0,8),1/8.0)-28*pow(1+pow((STMRo+1)/19.4,35),1.0/35.)-13*pow(1+pow((STMRo-3)/33.0,13),1.0/13.0)+29.0;
Q=37.0-15.0*log10(qdu);
G=1.07+0.258*Q+0.0602*pow(Q,2);
Y=(Ro-100.0)/15.0+46.0/8.4-G/9.0;
Z=46.0/30.0-G/40.0;
Iq=15.0*log10(1+pow(10,Y)+pow(10,Z));
Is=Iolr+Ist+Iq;
Roe=-1.5*(No-RLR);
TERV=TELR-40.0*log10((1+T/10.0)/(1+T/150.0))+6.0*pow(e,-0.3*pow(T,2));
Re=80+2.5*(TERV-14);
Idte=((Roe-Re)/2.0+ sqrt(pow((Roe-Re),2)/4.0+100)-1)*(1-pow(e,(-T)));
Rle=10.5*(WEPL+7.0)*pow((Tr+1),(-0.25));
Idle=(Ro-Rle)/2.0+sqrt(pow((Ro-Rle),2)/4.0+169);
/*Idd=0.0;*/
Id=Idte+Idle+Idd;
BurstR = 1.0;
Ie_eff = Ie+(95.0-Ie)* Ppl/((Ppl/BurstR)+Bpl);
R= Ro-Is-Id-Ie_eff+A;
cout<<"Q="<<Q<<endl;
cout<<"G="<<G<<endl;
cout<<"Y="<<Y<<endl;
cout<<"Z="<<Z<<endl;
cout<<"Iq="<<Iq<<endl;
cout<<"Ist="<<Ist<<endl;
cout<<"Xolr="<<Xolr<<endl;
cout<<"Iolr="<<Iolr<<endl;
cout<<" STMRo="<<STMRo<<endl;
cout<<"Is="<<Is<<endl;
cout<<"A="<<A<<endl;
cout<<"Pre="<<Pre<<endl;
cout<<"R="<<R<<endl;
cout<<"Ro="<<Ro<<endl;
cout<<"Is="<<Is<<endl;
cout<<"Id="<<Id<<endl;
/*printf("%f\n",R);printf("%f\n",Ro);printf("%f\n",Is);printf("%f\n",Id);*/
system("pause");
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -