?? 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 + -