下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、(完整)c语言进行潮流计算(完整)c语言进行潮流计算 编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)c语言进行潮流计算)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快 业绩进步,以下为(完整)c语言进行潮流计算的全部内容。- 29 -电力系统课程设计c语言潮流计算学院:电气工程 班级:电092班 学号:0912002020学生姓名
2、: 闵 凯 2013.3.7电力系统的潮流计算是对电力系统分析的最基本步骤也是最重要的步骤,是指在一定的系统结构和运行条件下,确定系统运行状态的计算,也即是对各母线(节点)电压,各元件(支路)传输电线或功率的计算。通过计算出的节点电压和功率分布用以检查系统各元件是否过负荷,各点电压是否合理,以及功率损耗等。即使对于一个简单的电力系统,潮流计算也不是一件简单就可以完成的事,其运算量很大,因此如果对于一个大的、复杂的电网来说的话,由于其节点多,分支杂,其计算量可想而知,人工对其计算也更是难上加难了。特别是在现实生活中,遇到一个电力系统不会像我们期望的那样可以知道它的首端电压和首端功率或者是末端电压
3、和末端功率,而是只知道它的首端电压和末端功率,更是使计算变的头疼万分。为了使计算变的简单,我们就可以利用计算机,用c语言编程来实现牛顿拉夫逊(newtonraphson)迭代法,最终实现对电力系统潮流的计算。 一 用牛顿拉夫逊迭代法进行电力系统潮流计算的相关概念1.节点导纳矩阵如图所示的电力网络,将节点i和j的电压用i和j表示,它们之间的支路导纳表示为yij,那么有基尔霍夫电流定律可知注入接点i的电流i(设流入节点的电流为正)等于离开节点i的电流之和,因此有 j i (1-1) (1-2)如令 则可将(1-2)改写为: i=1,2,,n. (1-3)上式也可以写为: i=yu (1-4)其中y
4、为节点导纳矩阵,也称为稀疏的对称矩阵,它是nn阶方阵。对角元yii称为自导纳,它等于与该节点i直接相连的所有支路导纳总和;非对角元yij(ij)称为互导纳或转移导纳,它等于连结节点i,j支路导纳的负数,且有yij=yji,当节点i,j之间没有支路直接相连时,yij=yji=0。电力系统的分析计算中,往往要作不同的运行方式下的潮流计算,如果系统发生变化,如投切一条线路或一台变压器,由于改变了一条支路的状态或参数只影响该支路两端节点的自导纳和他们之间的互导纳,因而对每一种运行方式不必重新形成导纳矩阵,只需对原有导纳矩阵作相应的修改即可。2潮流计算的功率方程在实际的电力系统中,已知的条件往往不是节点
5、的注入电流而是负荷和发电机功率,且这些功率一般不随节点的电压变化而变化,而节点的电流则是随电压的变化而变化的,因此在已知节点导纳矩阵的情况下,必须用已知的节点功率来替代未知的节点注入电流,才能求出节点电压,每一个节点的注入功率方程式为:g i (1-5) (1-6) (1-7)节点注入电流用功率和电压表示为:(18)功率方程可以表示为: (1-9)3节点分类对于有n个节点的电力网络,可以列出n个功率方程,由图可知一个节点有四个变量:注入有功功率pi,注入无功功率qi,节点电压幅值ui和相角。n个节点有4n个变量,但只有2n个关系式,所以为了使潮流有确定解,必须给定其中2n个变量。根据给定节点变
6、量的不同,可以有以下三种类型的节点:(1) pq节点:给定注入功率pi,qi,即已知pgi,pli,qgi,qli,待求ui,i。例如:降压变电所母线(负荷节点),固定出力的发电厂母线。(2) pv节点:给定了注入有功功率pi(pgi,pli),ui和qli,待求qgi(qi),i。例如:有一定无功电源的降压变电所母线,有一定储备的发电厂母线。(3) 平衡节点:给定了ui,i和pli ,qli,待求pgi ,qgi,即pi,qi,用来平衡全电网的功率,通常在一个独立的电力系统中只设一个平衡节点。4牛顿-拉夫逊迭代法牛顿拉夫逊迭代法将解非线性方程组的过程转化为反复求与之相对应的线性方程的求解过程
7、。对于一个n维非线性方程组: n=1,2,3,n假定其初值为x1(0),x2(0),xn(0),也即其近似解,它与真值之间的误差为也即各变量与真解之间的修正量。将这n个方程式都在初值的附近展开成taylor级数且忽略二次项及高次项,则可得修正方程, i=1,2,n. (110)将修正方程写成矩阵形式: (1-11)其中令j= ,称之为雅可比(jacobi)方阵.它的第i行,第j列交点的元素为第i个函数对第j个变量xj的偏导数在点(x1(0),x2(0),,xn(0))的值,所以方程组是线性方程,可用于求出,从而得到新的近似解, (1-12)于是得到一般迭代式: (1-13)于是得到近似解: (
8、1-14)迭代一直进行到max|yi-fi(x1(0),x2(0),xn(0)|或maxxi(k)km?增大迭代次数,k-k+1计算各节点电压新值:置迭代次数k=1计算pi(k), qi(k), ui(k)2迭代是否收敛,|e(k)|max、|f(k)|max?设节点电压初值ei(0),fi(0)停止计算平衡节点功率和线路功率求出|e(k)|max、|f(k)|max求各节点电压变量ei(k), fi(k)形成雅可比矩阵形成节点导纳矩阵yb输入原始数据开始始 否 是 否是四 用编程方法求解实际问题 如图所示的一个电力网络, 已知: 为定值,其余四个节点都是pq节点,且给定的注入功率分别为:由上
9、图可得相应的节点导纳矩阵y=6.25-18。75i -5+15i -1。25+3.75i 0 0; -5+15i 10。834-32.5i -1。667+5i 1.667+5i 2.5+7.5i; 1.25+3.75i -1。667+5i 12.917-38。75i -10+30i 0; 0 -1。667+5i -10+30i 12。91738。75i 1。25+3.75i;0 -2.5+7。5i 0 -1.25+3。75i 3。75-11.25i 五程序清单include include math.hfloat divre(b1,b2,b3,b4) float b1,b2,b3,b4; fl
10、oat a1r; a1r=(b1b3+b2b4)/(b3*b3+b4*b4); return(a1r); float divim(b1,b2,b3,b4) float b1,b2,b3,b4; float a1i; a1i=(b2b3-b1*b4)/(b3b3+b4b4); return(a1i); float mulre(b1,b2,b3,b4) float b1,b2,b3,b4; float a2r; a2r=b1*b3b2*b4; return(a2r); float mulim(b1,b2,b3,b4) float b1,b2,b3,b4; float a2i; a2i=b2*b3+
11、b1*b4; return(a2i); float max(float a,int n) int i; float max; for(i=0;in1;i+) if(aiai+1) max=ai;ai=ai+1;ai+1=max; return(max); main() int i,j,k,n,km; float eps,sumpi1,sumpi2,sumqi1,sumqi2,max,sumir,sumii,i1r,i1i; float pi05,qi05,detpi5,detqi5,iir05,iii05,j088,detsi8,detui8, u88,l88,y8,ui18,h44,n44,
12、j44,l44,ei15,fi15; static float ybr55=6。250,5。000,-1。250,0,0,5。000,10.834,-1.667,1。667,2。500,-1.250,1.667,12.917,10.000,0,0,-1。667,-10。000,12。917,1.250,0,2.500,0,-1。250,3.750; static float ybi55=-18。750,15。000,3.750,0,0,15.000,-32。500,5.000,5。000,7。500,3。750,5.000,38。750,30。000,0,0,5。000,30。000,38。7
13、50,3.750,0,7.500,0,3.750,-11。250; float ei05=1。06,1.0,1。0,1。0,1。0; float fi05=0,0,0,0,0; float pi5=0,0。2,0。45,0.4,-0。6; float qi5=0,0。2,-0.15,-0。05,-0.1; k=0; km=6; eps=0.00001; do k+=1; printf(”now start.。n”); printf(the d timesn,k); for(i=1;i5;i+) printf(pid=%14.6f,i,pii); sumpi2=0; sumqi2=0; for(
14、i=1;i5;i+) for(j=0;j5;j+) sumpi1=(ei0i(ybrij*ei0jybiijfi0j)+fi0i(ybrij*fi0j+ybiij*ei0j); sumpi2+=sumpi1; pi0i=sumpi2; printf(”pi0%d=%13。6f”,i,pi0i); sumpi2=0; for(i=1;i5;i+) for(j=0;j5;j+) sumqi1=(fi0i*(ybrijei0j-ybiij*fi0j)ei0i(ybrij*fi0j+ybiij*ei0j)); sumqi2+=sumqi1; qi0i=sumqi2; printf(qi0%d=%13。
15、6f,i,qi0i); sumqi2=0; for(i=1;i5;i+) detpii=pii-pi0i; detqii=qiiqi0i; printf(detpi%d=%21。6f,i,detpii); printf(”detqi%d=21.6fn,i,detqii); for(i=1;i5;i+) iir0i=divre(pi0i,-qi0i,ei0i,fi0i); iii0i=divim(pi0i,-qi0i,ei0i,fi0i); printf(iir0d=-22.6f”,i,iir0i); printf(”iii0d=%-22。6fn”,i,iii0i); for(i=0;i4;i+
16、) for(j=0;j4;j+)if(i=j) hij=-ybii+1j+1*ei0i+1+ybri+1j+1*fi0i+1+iii0i+1; nij=ybri+1j+1*ei0i+1+ybii+1j+1*fi0i+1+iir0i+1; jij=ybri+1j+1*ei0i+1-ybii+1i+1fi0i+1+iir0i+1; lij=ybii+1j+1ei0i+1+ybri+1j+1*fi0i+1-iii0i+1;else hij=ybri+1j+1*fi0i+1ybii+1j+1*ei0i+1; nij=ybri+1j+1*ei0i+1+ybii+1j+1fi0i+1; jij=-ybii
17、+1j+1*fi0i+1-ybri+1j+1ei0i+1; lij=ybri+1j+1fi0i+1-ybii+1j+1*ei0i+1; for(i=0;i8;i+) for(j=0;j8;j+)if(i%2=0&j%2=0) j0ij=hi/2j/2;else if(i%2=0&j2!=0) j0ij=ni/2(j1)/2;else if(i%2!=0&j2=0) j0ij=j(i-1)/2j/2;else j0ij=li/2(j1)/2; printf(”输出雅可比矩阵:n); for(i=0;i8;i+) for(j=0;j8;j+) printf(”%10.4f,j0ij); for(i
18、=0;i8;i+)if(i2=0) detsii=detpi(i+2)/2; else detsii=detqi(i+1)/2; printf(”detsid=%11.6f,i,detsii); for(i=0;i8;i+) uii=1.000; for(n=0;n8;n+) for(i=n;i8;i+) lin=j0in; for(j=0;j=n1;j+) lin=(lijujn); for(j=n+1;j8;j+) unj=j0nj; for(i=0;i=n1;i+) unj=(lni*uij); unj/=lnn; for(i=0;i=0;i-) detuii=yi; for(j=i+1
19、;jn;j+) detuii-=(uij*detuij); for(i=0;i8;i+) printf(detui%d=%-11.6f”,i,detuii); for(i=0;i8;i+) if(i2=0) ui1i=detuii+fi0i/2+1; else ui1i=detuii+ei0(i+1)/2; printf(ui1%d=%13.6f,i,ui1i); for(i=1;i5;i+) ei1i=ui12i1; fi1i=ui12i-2; for(i=1;i5;i+) printf(”ei1%d=%13。6f”,i,ei1i); printf(fi1%d=%13.6f,i,fi1i);
20、 max=max(detui,8); printf(”max=%fn”,max); for(i=1;i5;i+) ei0i=ei1i; fi0i=fi1i; for(i=1;i5;i+) pii=detpii+pi0i; qii=detqii+qi0i; while(maxeps&kkm); printf(”all do %d timesn,k); sumir=0; sumii=0; for(i=0;i5;i+) i1r=mulre(ybr0i,-ybi0i,ei0i,fi0i); i1i=mulim(ybr0i,ybi0i,ei0i,fi0i); sumir+=i1r; sumii+=i1i
21、; pi0=mulre(ei00,fi00,sumir,sumii); qi0=mulim(ei00,fi00,sumir,sumii); printf(”s1=f+j%fn”,pi0,qi0); ei10=ei00; fi10=fi00; for(i=0;i5;i+) printf(”ud=%ffn”,i+1,sqrt(ei1i*ei1i+fi1ifi1i),atan(fi1i/ei1i)180/3。14159);六运行结果:now start。the 1 timespi1=0。200000 pi2=-0。450000 pi3=0。400000 pi4=0.600000pi01=0.3000
22、00 pi02=0.075001 pi03=0。000000 pi04=0。000000qi01=-0.900000 qi02=-0.225000 qi03=0。000000 qi04=0.000000detpi1=0。500000 detqi1=1。100000detpi2=-0。374999 detqi2=0。075000detpi3=-0.400000 detqi3=0.050000detpi4=0。600000 detqi4=0.100000iir01=-0.300000 iii01=0。900000iir02=0.075001 iii02=0.225000iir03=0。000000
23、 iii03=0.000000iir04=0。000000 iii04=0。000000输出雅可比矩阵:33。4000 10.5340 5。0000 -1.6670 -5。0000 1。6670 -7.5000 -2。500011.1340 31.6000 1.6670 -5.0000 1.6670 -5。0000 2。5000 7。50005。0000 1。6670 38.9750 12.8420 -30。0000 10。0000 0.0000 0.00001。6670 5.0000 12.9920 38。5250 10。0000 -30。0000 0.0000 0。00005.0000 1
24、.6670 -30。0000 -10。0000 38。7500 12.9170 3.7500 -1。25001.6670 -5.0000 10。0000 -30。0000 -12。9170 38。7500 1。2500 -3。75007.5000 2.5000 0。0000 0。0000 3.7500 -1。2500 11。2500 3.75002.5000 7.5000 0。0000 0。0000 1.2500 -3。7500 3.7500 11。2500detsi0=0.500000 detsi1=1。100000 detsi2=-0.374999 detsi3=0。075000detsi
25、4=0.400000 detsi5=-0。050000 detsi6=0.600000 detsi7=0。100000detui0=0。047295 detui1=0.042961 detui2=-0。086292 detui3=0。015391detui4=0。092225 detui5=0。014105 detui6=-0。107605 detui7=0。009342ui10=0。047295 ui11=1.042961 ui12=-0。086292 ui13=1。015391ui14=0。092225 ui15=1.014105 ui16=-0。107605 ui17=1。009342e
26、i11=1.042961 fi11=-0.047295 ei12=1.015391 fi12=-0.086292ei13=1.014105 fi13=-0。092225 ei14=1.009342 fi14=-0。107605max=0.042961now start。the 2 timespi1=0。200000 pi2=-0。450000 pi3=-0.400000 pi4=-0。600000pi01=0。277045 pi02=-0.449244 pi03=-0.410254 pi04=0。616366qi01=0.222040 qi02=0.118305 qi03=-0。013816
27、qi04=0.036371detpi1=-0.077045 detqi1=0。022040detpi2=-0。000756 detqi2=0.031695detpi3=0。010254 detqi3=-0。036184detpi4=0.016366 detqi4=-0.063629iir01=0.255454 iii01=0.224478iir02=-0。429431 iii02=0.153007iir03=0。400000 iii03=0。050001iir04=-0。600000 iii04=0。100000输出雅可比矩阵:33。1594 13.0920 5。1360 -1.9751 5.
28、1360 -1。9751 -7.7040 2.962112。5811 33。6083 1.9751 -5。1360 1。9751 -5.1360 2。9621 7.70404。9331 -2.1241 38.3848 16。0302 29。5988 12。7427 0。0000 0.00002.1241 -4。9331 16.8890 38.0788 12。7427 29。5988 0.0000 0。00004.9168 -2.1516 -29.5009 12。9078 38。1553 16.2729 -3。6876 -1.61352。1516 4。9168 12。9078 29.5009 -
29、17.0729 38.0553 1.6135 -3.6876-7.3011 3。3304 0.0000 0。0000 -3。6505 1.6652 11。0516 4。39563。3304 7.3011 0.0000 0。0000 1。6652 3.6505 5。5956 10.8516detsi0=0.077045 detsi1=0。022040 detsi2=-0。000756 detsi3=-0。031695detsi4=0。010254 detsi5=0。036184 detsi6=0.016366 detsi7=0.063629detui0=0.000435 detui1=-0。00
30、7504 detui2=0.001742 detui3=0.010067detui4=0.002076 detui5=0.010761 detui6=0。003195 detui7=0.013070ui10=0。047730 ui11=1.035457 ui12=-0.084550 ui13=1。005324ui14=0.090149 ui15=1。003344 ui16=0。104410 ui17=0.996272ei11=1.035457 fi11=0.047730 ei12=1。005324 fi12=0。084550ei13=1。003344 fi13=0.090149 ei14=0.
31、996272 fi14=0.104410max=0。003195now start。.。the 3 timespi1=0。200000 pi2=-0。450000 pi3=-0.400000 pi4=0.600000pi01=0。200525 pi02=0。449917 pi03=-0。400025 pi04=0.599997qi01=0.200204 qi02=-0。149683 qi03=-0.049610 qi04=-0.099159detpi1=-0.000525 detqi1=0。000204detpi2=0.000083 detqi2=0。000317detpi3=0.000025
32、 detqi3=0.000390detpi4=-0。000003 detqi4=0.000841iir01=0。184354 iii01=0。201847iir02=-0。431957 iii02=0。185219iir03=0。391092 iii03=0。084584iir04=0.585382 iii04=0.160879输出雅可比矩阵:32。9334 12。9537 -5.0977 -1.9648 -5.0977 -1.9648 -7。6466 -2。9466-12。5850 33。3371 1。9648 5.0977 1.9648 5。0977 2.9466 7。64664。8857
33、 2.0986 38.0494 15。8301 29。3142 12.5897 0.0000 0。00002.0986 -4.8857 -16.6940 37。6790 12.5897 -29。3142 0.0000 0.0000-4。8664 2.1233 29。1988 12。7379 37。7997 16。0624 3.6499 1。59222.1233 -4。8664 12.7379 -29。1988 16.8446 37。6305 1。5922 3.6499-7。2110 -3。2738 0。0000 0.0000 -3。6055 1。6369 10。9774 4。32533.273
34、8 7。2110 0.0000 0.0000 1.6369 3。6055 -5.4960 10.6556detsi0=0.000525 detsi1=0。000204 detsi2=0。000083 detsi3=-0.000317detsi4=0.000025 detsi5=0。000390 detsi6=0.000003 detsi7=-0。000841detui0=-0.000003 detui1=-0。000089 detui2=0.000010 detui3=0.000123detui4=0.000013 detui5=0。000133 detui6=0。000024 detui7=
35、-0。000173ui10=0.047733 ui11=1。035368 ui12=-0.084540 ui13=1。005201ui14=-0。090137 ui15=1。003211 ui16=-0。104386 ui17=0。996099ei11=1。035368 fi11=-0。047733 ei12=1.005201 fi12=0.084540ei13=1.003211 fi13=-0。090137 ei14=0.996099 fi14=-0.104386max=0。000024now start。the 4 timespi1=0.200000 pi2=0.450000 pi3=0.
36、400000 pi4=-0.600000pi01=0。199999 pi02=-0。450001 pi03=0。400000 pi04=0。600000qi01=0。199996 qi02=-0。149998 qi03=-0.049999 qi04=-0.099998detpi1=0.000001 detqi1=0.000005detpi2=0.000001 detqi2=-0.000002detpi3=0.000000 detqi3=0。000001detpi4=0。000000 detqi4=-0。000002iir01=0.183871 iii01=-0。201641iir02=0.43
37、2066 iii02=0.185560iir03=0.391085 iii03=0。084977iir04=-0.585400 iii04=0。161737输出雅可比矩阵:32.9307 12.9524 -5.0973 -1.9646 -5。0973 -1.9646 7.6459 -2。9464-12。5846 33。3340 1.9646 5.0973 1。9646 5。0973 2。9464 -7。6459-4.8851 -2。0984 38。0451 15。8281 -29.3106 12.5882 0。0000 0。00002。0984 -4.8851 -16。6922 37.6740 12.5882 29.3106 0.0000 0.0000-4.8658 -2。1230 29.1950 12.7362 37。7951 16。0602 -3.6494 -1.59202。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中班主题活动换一换小鸡学猫叫教案
- 如何减小摩擦力教案
- 初中数学导编写说明教案(2025-2026学年)
- 六年级英语下册UnitAparty单元备课教案新版牛津译林版牛津版小学六年级下册英语教案
- 平抛运动习题课教案
- 消防安全月活动策划与实施方案
- 混合加密与水印的联合安全传输方案
- 农产品质量安全检测标准及管理方案
- 互联网企业人才招聘流程标准化方案
- 沪教版小学语文阅读教学方案
- 合作社和村委会分红协议书
- 【MOOC】线性代数-浙江大学 中国大学慕课MOOC答案
- 儿童锁骨骨折保守治疗
- 医院培训课件:《血源性职业暴露的预防及处理》
- 广东省2025届普通高中毕业班第二次调研考试 物理试卷(含答案)
- DB41T 2495-2023 预应力钢筒混凝土管道施工质量验收评定规范
- 松下-GF2-相机说明书
- 考察提拔干部近三年个人工作总结材料
- 幼儿园大班语言《蜂蜜失窃谜案》原版有声课件
- 电镀在光电器件中的关键作用
- 施工方案与安全保障措施
评论
0/150
提交评论