📄 gonglv.c
字号:
#include"stdio.h"
#include"math.h"
#define pointnumber 128
#define PI 3.1415936
float Ua[128],Ub[128],Uc[128],Ia[128],Ib[128],Ic[128];
float Pa,Pb,Pc,P,Ua_res,Ub_res,Uc_res,Ia_res,Ib_res,Ic_res,Sa,Sb,Sc,S;
//float res;
float RES();
void makewave();
main()
{
int i;
makewave();
for(i=0;i<pointnumber;i++)
{
Pa+=Ua[i]*Ia[i];
}
Pa=Pa/128.0; //单相平均功率
for(i=0;i<pointnumber;i++)
{
Pb+=Ub[i]*Ib[i];
}
Pb=Pb/128.0;
for(i=0;i<pointnumber;i++)
{
Pc+=Uc[i]*Ic[i];
}
Pc=Pc/128.0;
P=Pa+Pb+Pc; //三相平均功率
Ua_res=RES(Ua);
Ub_res=RES(Ub);
Uc_res=RES(Uc);
Ia_res=RES(Ia);
Ib_res=RES(Ib);
Ic_res=RES(Ic);
Sa=Ua_res*Ia_res;
Sb=Ub_res*Ib_res;
Sc=Uc_res*Ic_res;
S=Sa+Sb+Sc; //三相视在功率
return;
}
void makewave()
{
int i;
for(i=0;i<pointnumber;i++)
{
Ua[i]=220*1.414*cos(2*PI*50*0.02*i/128.0);
Ub[i]=380*cos(2*PI*50*0.02*i/128.0-2*PI/3.0);
Uc[i]=380*cos(2*PI*50*0.02*i/128.0+2*PI/3.0);
Ia[i]=3*cos(2*PI*50*0.02*i/128.0);
Ib[i]=3*cos(2*PI*50*0.02*i/128.0-2*PI/3.0);
Ic[i]=3*cos(2*PI*50*0.02*i/128.0+2*PI/3.0);
}
}
float RES(float x[128])
{
float res;
int i;
res=0;
for(i=0;i<128;i++)
{
res+=pow(x[i],2);
}
res=res/128;
res=sqrt(res);
//printf("%f\n",res);
return res;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -