网站大量收购闲置独家精品文档,联系QQ:2885784924

C语言报告-潮流.docx

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言报告-潮流

节点电压用直角坐标表示时的牛顿—拉夫逊法潮流计算的C语言实现一、实验目的 根据所给的电力系统,编制牛顿—拉夫逊法潮流计算程序,最后完成一个切实可行的电力系统计算应用程序。通过实验的过程加深对于原课程内容的掌握,并了解将其实现的手段。二、原理介绍采用直角坐标时,节点电压可表示为 导纳矩阵元素则表示为将上述表示式带入, i=1,2,3….,m并展开分出实部和虚部便可得 i=1,2,3….,n假定系统中的第1,2….,m号节点为PQ节点,第个节点的给定功率设为和,对该节点可列写方程i=1,2,3….,m假定系统中的第m+1,m+2,…..,n-1号节点为PV节点,则对其中每一个节点可以列写方程i= m+1,m+2,…..,n-1第n号节点为平衡节点,其电压是给定的,故不参加迭代由上不难写出如下的修正方程式式中上述方程中雅克比矩阵的各元素,可以求偏导数获得,当时当时修正方程式还可以写成分块矩阵的形式其中对于PQ节点对于PV节点用牛顿—拉夫逊法计算潮流,首先要输入网络的原始数据以及各节点的给定值并形成节点导纳矩阵。输入节点电压初值和,置迭代计数。然后开始进入牛顿法的迭代过程。在进行第次迭代时,其计算步骤如下:按上一次迭代算出的节点电压值和(当时即为给定的初值),利用公式计算各类节点的不平衡量、和。按条件校验收敛,即如果收敛,迭代到此结束,转入计算各线路潮流和平衡节点的功率,并打印输出计算结果。不收敛则继续计算。利用公式计算雅克比矩阵的个元素。解修正方程式求节点电压的修正量和。修正各节点的电压迭代计数加1,返回第一步继续迭代过程。迭代结束后,还要算出平衡节点的功率和网络中的功率分布。输电线路功率的计算公式如下三、源代码与注释// Y-matrix.cpp : 定义控制台应用程序的入口点。//#include stdafx.h#include math.h#define array_size 10int _tmain(int argc, _TCHAR* argv[]){int node_num;int branch_num;float rxb[array_size][5];FILE *fp;//读入数据fp = fopen(branchdata.txt,r);fscanf(fp,%d%d,node_num,branch_num);int i = 0;int j = 0;int k = 0;for (i = 0;i = branch_num-1; i++){for (j = 0;j = 4; j++){fscanf(fp,%f,rxb[i][j]);}}fclose(fp);float ratio[array_size];//分离变比for (i=0;i=branch_num-1;i++){if (rxb[i][4]=0){ratio[i] = 1;rxb[i][4] = -rxb[i][4];}else{ratio[i] = rxb[i][4];rxb[i][4] = 0;}}float y_re[array_size];float y_im[array_size];float Ymatrix_re[array_size][array_size];float Ymatrix_im[array_size][array_size];for (i=0;iarray_size;i++){y_re[i]=0;y_im[i]=0;for (j=0;jarray_size;j++){Ymatrix_re[i][j]=0;Ymatrix_im[i][j]=0;}}for (i=0;ibranch_num;i++)//计算节点间导纳{y_re[i]=rxb[i][2]/(rxb[i][2]*rxb[i][2]+rxb[i][3]*rxb[i][3]);y_im[i]=-rxb[i][3]/(rxb[i][2]*rxb[i][2]+rxb[i][3]*rxb[i][3]);}for (i=0;ibranch_num;i++)//导纳阵非对角线元素{Ymatrix_re[(int)rxb[i][0]-1][(int)rxb[i][1]-1]=-y_re[i]/ratio[i];Ymatrix_re[(int)rxb[i][1]-1][(int)rxb[i][0]-1]=Ymatrix_re[(int)rxb[i][0]-1][(int)rxb[i][1]-1];Ymatrix_im[(int)rxb[i][0]-1][(int)rxb[i][1]-1]=-y_im[i]/ratio[i];Ymatrix_im[(int)rxb[i][1]-1][(int)rxb[i][0]-1]=Ymatrix_im[(int)rxb[i][0]-1][(int)rxb[i

文档评论(0)

qwd513620855 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档