一、PQ 分解法的原理P-Q 分解法是牛顿-拉夫逊法潮流计算的一种简化方法P-Q 分解法利用了电力系统的一些特有的运行特性,对牛顿-拉夫逊法做了简化,以改进和提高计算速度的基本思想是根据电力系统实际运行特点:通常网络上的电抗远大于电阻,则系统母线电压幅值的微小变化对用功功率的改变影响很小同样,母线电压相角的的改变对无功功率的影响较小因此,节点功率方程在用极坐标形式表示时它的修正方程式可简化为: 0PHQLU将 P、Q 分开来迭代计算,因此大大地减少了计算工作量但是 H、L 在迭代过程中仍将不断变化,而且又都是不对称矩阵对牛顿法的进一步简化为把上式中的系数矩阵简化成迭代过程中不变的对称矩阵在一般情况下线路两端的电压相角 是不大的,因此可以认为:ijcos1injijGB=2iiQU考虑到上述关系,可以得到: ijijHLB节点的功率增量为: 1(cosin)isniisijiijjjjiisijjijijjPUGQBP-Q 分解法的特点:以一个 n-1 阶和一个 n-m-1 阶线性方程组代替原有的 2n-m-1 阶线性方程组;修正方程的系数矩阵 B’和 B”为对称常数矩阵,且在迭代过程中保持不变;P-Q 分解法具有线性收敛特性,与牛顿- 拉夫逊法相比,当收敛到同样的精度时需要的迭代次数较多。
二、程序说明1.数据说明Branch1.txt:支路参数矩阵 第 1 列为支路的首端编号;第 2 列为支路的末端编号(首端编号小于末端编号) ;第 3 列为之路的阻抗;第 4 为支路的对地容抗;第 5 列为支路的变比;第 6 列为折算到那一侧的标志Branch2.txt:节点参数矩阵第 1 列为节点所接发电机的功率;第 2 列为节点负荷的功率;第 3 列为节点电压的初始值;第 4 列为 PV 节点的电压 V 给定值;第 5 列为节点所接的无功补偿设备的容量;第 6 列为节点分类标号 igl,其中 igl=1 为平衡节点,igl=2 为 PQ 节点,igl=3 为 PV 节点n 为节点数、sb 为平很母线节点号(固定为 1) 、pr 为误差精度2.运行将上述三个文档及主程序文件放在同一个路径下,程序运行时,按照相应的提示输入如下数据:n 为节点数、sb 为平很母线节点号、pr 为误差精度,运行,得出结果三、流程图开 始输入原始数据形成矩阵 B’和 B”设置 PQ 节点电压初值,各节点电压相角的初值置迭代计数 n=0计算不平衡有功功率 max{}?kipP是置 Kp=0Kq=0?是解修正方程,并修正后电压相角置 Kq=1计算不平衡无功功率无功收敛?否解修正方程,求得修正后电压置 Kp=1,k=k+1计算平衡节点功率及全部线路功率 输出是否是 置 Kq=0Kp=0?是否Kp=1, Kq=1四、源程序及运行结果x = size(B2);n = x(1);m = length(find(B2(:,1)==1));y = size(B1);G = zeros(n);B = zeros(n);for i=1:y(1)QS = B1(i,1); %起始节点ZZ = B1(i,2); %终止节点R = B1(i,3);X =B1(i,4);BB = B1(i,5);K = 1/B1(i,6); %变比 RX2 = R^2+X^2;G(QS,ZZ) = -K*R/RX2;G(ZZ,QS) = -K*R/RX2;B(QS,ZZ) = K*X/RX2;B(ZZ,QS) = K*X/RX2;G(QS,QS) = G(QS,QS) + R/RX2;B(QS,QS) = B(QS,QS) - X/RX2;B(QS,QS) = B(QS,QS) + BB/2;G(ZZ,ZZ) = G(ZZ,ZZ) + K^2*R/RX2;B(ZZ,ZZ) = B(ZZ,ZZ) - K^2*X/RX2;B(ZZ,ZZ) = B(ZZ,ZZ) + BB/2;end;for i=1:nB(i,i) = B(i,i) +B2(i,8); end;Delta_P = zeros(n,1);Delta_Q = zeros(n,1);Delta_V_Ample = zeros(n,1);Delta_V_Angle = zeros(n,1);PP = find(B2(:,1)<3); % PQ/PV 节点 = find(B2(:,1)==1); % PQ 节点%V_Ample = B2(:,2);%V_Angle = B2(:,3)*pi/180;V_Ample = B2(:,2);V_Ample() = 1.0;V_Angle = zeros(n,1);Pis = B2(:,4)/100;Qis = B2(:,5)/100;Pld = B2(:,6)/100;Qld = B2(:,7)/100;Pis(PP) = Pis(PP) - Pld(PP);Qis() = Qis() - Qld(); kp = 0;kq = 0;ep = 1e-7; %误差k = 0;while(~(kp*kq))k =k + 1;%----------------------------------------------------------------------Delta_V_Angle_ij = V_Angle*ones(1,n) - ( V_Angle*ones(1,n) )'; % 计算相角差矩阵S = G.*cos(Delta_V_Angle_ij) + B.*sin(Delta_V_Angle_ij); % Sij = Gij *cos(delta_ij) + Bij *sin(delta_ij)P = V_Ample.*(S*V_Ample); % P为计算出来的母线功率Delta_P(PP) = Pis(PP) - P(PP); % 有功不平衡量%[Pis(PP), P(PP),Pis(PP) - P(PP),(Pis(PP) - P(PP))./Pis(PP)*100]if max(abs(Delta_P))