4.程序设计
4.1 节点导纳矩阵的形成
导纳矩阵元素则表示为
****************计算导纳矩阵******************* G[1][1]=1.25; B[1][1]=-5.5; G[2][2]=1.3; B[2][2]=-7; G[3][3]=1.55; B[3][3]=-6.5; G[1][2]=G[2][1]=-0.5; B[1][2]=B[2][1]=3; G[1][3]=G[3][1]=-0.75; B[1][3]=B[3][1]=2.5; G[2][3]=G[3][2]=-0.8; B[2][3]=B[3][2]=4; for(i=1;i<4;i++) {for(j=1;j<4;j++)
{printf(\printf(\}
printf(\形成节点导纳矩阵
*******************************************
}
printf(\
4.2 计算各节点不平衡量
假定系统中的第1,2,3···,m号节点为PQ节点,第i个节点的给定功率设为和,对该节点可列写方程
?Pi?Pis?Pi?Pis?ei?(Gijej?Bijfj)?fi?(Gijfj?Bijej)?0
j?1j?1nn?Qi?Qis?Qi?Qis?fi?(Gijej?Bijfj)?ei?(Gijfj?Bijej)?0
j?1j?1nn (i=1,2,···,m)
假定系统中的第m+1,m+2,···,n-1号节点为PV节点,则对其中每一个节点可以列写方程
??Pi?Pis?Pi?Pis?ei?(Gijej?Bijfj)?fi?(Gijfj?Bijej)?0?j?1j?1??
?Vi2?Vis2?Vi2?Vis2?(ei2?fi2)?0? (i=m+1,m+2,···,n-1)
nn第n号节点为平衡点,其电压是给定的,故不参加迭代,其计算程序如下:
计算各节点不平衡量 loop1:
printf(\迭代次数k1=%d\\n\for (i=1;i<3;i++) {float a=0,b=0; for(j=1;j<4;j++)
{a+=G[i][j]*e[j]-B[i][j]*f[j]; b+=G[i][j]*f[j]+B[i][j]*e[j]; }
P[i]=Ps[i]-(e[i]*a+f[i]*b);计算有功功率的增量 Q[i]=Qs[i]-(f[i]*a-e[i]*b);计算无功功率的增量 V22=V2s*V2s-e[2]*e[2]; }
printf(\有功功率增量P[1]=%f\ printf(\printf(\
printf(\有功功率增量P[2]=%f\ printf(\printf(\
printf(\无功功率增量Q[1]=%f\ printf(\printf(\
printf(\电压增量V22=%f\printf(\
4.3 雅克比矩阵计算
上述方程中雅克比矩阵的各元素,可以对计算各点不平衡量得公式中求偏导数获得。当时
???Pi??Qi????(Gijei?Bijfi)??ej?fj????Pi??Qi???Bijei?Gijfi? ?fj?ej????V2i??V2i???0?ej?fj??当时
n??Pi????(Gikek?Bikfk)?Giiei?Biifi??eik?1?n???Pi???(Gikfk?Bikek)?Biiei?Giifi??fik?1?n???Qi??(Gikfk?Bikek)?Biiei?Giifi??eik?1?? n??Qi???(Gikek?Bikfk)?Giiei?Biifi???fik?1?2??Vi???2ei??ei?2???Vi??2fi??fi?以下为程序:
****形成雅克比矩阵********************** for(j=1;j<3;j++) {if(1==j) {float c=0,d=0; int m;
相关推荐: