- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PQ 分解法编程
版本一: C 语言
这里要提一下,本人使用的数据出自鞠平主编《电力工程》, PQ 分解法可能由于求逆程序
的精确度问题而比 matlab 迭代次数稍多, 可将 float 改为 dobule float 一试,若有不当之处,
还望包涵(另外,本人使用 c 语言编译器为 tc3.0 )
//PQ 分解法解潮流程序
#includestdio.h
#includemath.h
#define N 4 //节点数
#define n_PQ 2 //PQ 节点数
#define n_PV 1 //PV 节点数
#define n_br 5 // 串联支路数
#define PI 3.1415
void main()
{
void disp_matrix(float *disp_p,int disp_m,int disp_n); //矩阵显示函数
float Us[2*N]={1.0,0,1.0,0,1.05,0,1.05,0}; // 电压初值
float Ps[N]={0,-0.5,0.2}; // 有功初值
float Qs[N]={0,-0.3}; //无功初值
float
G[N][N],B[N][N],B1[N-1][N-1],B2[n_PQ][n_PQ],invB1[N-1][N-1],invB2[n_PQ][n_PQ];
struct // 阻抗参数
{
int nl; //左节点
int nr; //右节点
float R; // 串联电阻值
float X; // 串联电抗值
float Bl; // 左节点并联电纳
float Br; // 右节点并联电纳
}ydata[n_br]={
{1,2,0,0.1880,-0.6815,0.6040},
{1,3,0.1302,0.2479,0.0129,0.0129},
{1,4,0.1736,0.3306,0.0172,0.0172},
{3,4,0.2603,0.4959,0.0259,0.0259},
{2,2,0,0.05,0,0}
};
float Z2; //Z^2=R^2+X^2 各串联阻抗值的平方
float U_amp[N],U_ang[N]; //e,f 存储电压的 x 轴分量和 y 轴分量 ,dfe 存储电压修正值
float dU_amp[N],dU_ang[N]; // 电压幅值和相角修正值
float mid1[N],mid2[N],dP[N-1],dQ[n_PQ]; //mid1 、 mid2 存储计算雅
克比行列式对角线元素的中间值 ,dS 存储 PQU 的不平衡量
float dPQU=1.0; //PQU 不平衡量最大值
int kk=0; // 迭代次数
int i,j,k;
float t;
// 形成导纳矩阵
fo
原创力文档


文档评论(0)