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

📄 gonglv.c

📁 一个功率程序
💻 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 + -