⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sl30.m

📁 本程序为PQ解耦法计算电力系统的常规潮流。该程序简单
💻 M
字号:
 clc
 clear
% NODE;   % TPYE   V    ANGEL    PG     QG    PL    QL   SHUNT 
% NODE TYPE    PQ:1     PV:2    PH:3
% BRANCH; % i    j    R    X    B     K   
NODE=[
    3    1.0500         0         0         0         0         0         0;
    2    1.0338         0   57.5600         0   21.7000   12.7000         0;
    1    1.0000         0         0         0    2.4000    1.2000         0;
    1    1.0000         0         0         0    7.6000    1.6000         0;
    2    1.0058         0   24.5600         0   94.2000   19.0000         0;
    1    1.0000         0         0         0         0         0         0;
    1    1.0000         0         0         0   22.8000   10.9000         0;
    2    1.0230         0   35.0000         0   30.0000   30.0000         0;
    1    1.0000         0         0         0         0         0         0;
    1    1.0000         0         0         0    5.8000    2.0000    0.1900;
    2    1.0913         0   17.9300         0         0         0         0;
    1    1.0000         0         0         0   11.2000    7.5000         0;
    2    1.0883         0   16.9100         0         0         0         0;
    1    1.0000         0         0         0    6.2000    1.6000         0;
    1    1.0000         0         0         0    8.2000    2.5000         0;
    1    1.0000         0         0         0    3.5000    1.8000         0;
    1    1.0000         0         0         0    9.0000    5.8000         0;
    1    1.0000         0         0         0    3.2000    0.9000         0;
    1    1.0000         0         0         0    9.5000    3.4000         0;
    1    1.0000         0         0         0    2.2000    0.7000         0;
    1    1.0000         0         0         0   17.5000   11.2000         0;
    1    1.0000         0         0         0         0         0         0;
    1    1.0000         0         0         0    3.2000    1.6000         0;
    1    1.0000         0         0         0    8.7000    6.7000    0.0400;
    1    1.0000         0         0         0         0         0         0;
    1    1.0000         0         0         0    3.5000    2.3000         0;
    1    1.0000         0         0         0         0         0         0;
    1    1.0000         0         0         0         0         0         0;
    1    1.0000         0         0         0    2.4000    0.9000         0;
    1    1.0000         0         0         0   10.6000    1.9000         0
     ];
BRANCH=[
   2    1        0.0192    0.0575      0.0528  1.0000;
   3    1        0.0452    0.1852      0.0408  1.0000;
   4    2        0.0570    0.1737      0.0368  1.0000;
   4    3        0.0132    0.0379      0.0084  1.0000;
   5    2        0.0472    0.1983      0.0418  1.0000;
   6    2        0.0581    0.1763      0.0374  1.0000;
   6    4        0.0119    0.0414      0.0090  1.0000;
   7    5        0.0460    0.1160      0.0204  1.0000;
   7    6        0.0267    0.0820      0.0170  1.0000;
   8    6        0.0120    0.0420      0.0090  1.0000;
   6    9        0.        0.2080      0.      1.0155;
  10    6        0.        0.5560      0.      0.9629;
  11    9        0.        0.2080      0.      1.0000;
  10    9        0.        0.1100      0.      1.0000;
   4   12        0.        0.2560      0.      1.0129;
  13   12        0.        0.1400      0.      1.0000;
  14   12        0.1231    0.2559      0.      1.0000;
  15   12        0.0662    0.1304      0.      1.0000;
  16   12        0.0945    0.1987      0.      1.0000
  15   14        0.2210    0.1997      0.      1.0000;
  17   16        0.0824    0.1932      0.      1.0000;
  18   15        0.1070    0.2185      0.      1.0000;
  19   18        0.0639    0.1292      0.      1.0000;
  20   19        0.0340    0.0680      0.      1.0000;
  20   10        0.0936    0.2090      0.      1.0000;
  17   10        0.0324    0.0845      0.      1.0000;
  21   10        0.0348    0.0749      0.      1.0000;
  22   10        0.0727    0.1499      0.      1.0000;
  22   21        0.0116    0.0236      0.      1.0000;
  23   15        0.1000    0.2020      0.      1.0000;
  24   22        0.1150    0.1790      0.      1.0000;
  24   23        0.1320    0.2700      0.      1.0000;
  25   24        0.1885    0.3292      0.      1.0000;
  26   25        0.2554    0.3800      0.      1.0000;
  27   25        0.1093    0.2087      0.      1.0000;
  27   28        0.        0.3960      0.      0.9581;
  29   27        0.2198    0.4153      0.      1.0000;
  30   27        0.3202    0.6027      0.      1.0000;
  30   29        0.2399    0.4533      0.      1.0000;
  28    8        0.0636    0.2000      0.0428  1.0000;
  28    6        0.0169    0.0599      0.0130  1.0000;
      ];

x = size(NODE);
n = x(1);
m = length(find(NODE(:,1)==1));%PQ节点的个数

y = size(BRANCH);
G = zeros(n);
B = zeros(n);
for i=1:y(1)
    ST  = BRANCH(i,1);
    ED  = BRANCH(i,2);
    R   = BRANCH(i,3);
    X   = BRANCH(i,4);
    BB  = BRANCH(i,5);
    K   = 1/BRANCH(i,6);    
    RX2 = R^2+X^2;
    
    G(ST,ED) = -K*R/RX2;
    G(ED,ST) = -K*R/RX2;
    B(ST,ED) =  K*X/RX2;
    B(ED,ST) =  K*X/RX2;
    
    G(ST,ST) = G(ST,ST) + R/RX2;
    B(ST,ST) = B(ST,ST) - X/RX2;
    B(ST,ST) = B(ST,ST) + BB/2;
    
    G(ED,ED) = G(ED,ED) + K^2*R/RX2;
    B(ED,ED) = B(ED,ED) - K^2*X/RX2;
    B(ED,ED) = B(ED,ED) + BB/2;
end;

for i=1:n
      B(i,i) = B(i,i) + NODE(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(NODE(:,1)<3);  % PQ/PV 节点
QQ = find(NODE(:,1)==1); % PQ 节点

V_Ample     = NODE(:,2);
V_Ample(QQ) = 1.0;
V_Angle     = zeros(n,1);
Pis     = NODE(:,4)/100;
Qis     = NODE(:,5)/100;
Pld     = NODE(:,6)/100;
Qld     = NODE(:,7)/100;

Pis(PP) = Pis(PP) - Pld(PP);
Qis(QQ) = Qis(QQ) - Qld(QQ); 

kp = 0;
kq = 0;
ep = 1e-6;
k  = 0;
while(~(kp*kq))         %只要非1
    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);                                     % 有功不平衡量
    
    if max(abs(Delta_P))<ep                                                 % 有功不平衡量小于允许范围就做标记
            kp = 1;
    end;
        
    if kp==0                                                                % 有功不平衡量大于允许范围就作修正
        Delta_V_Angle(PP) = -(B(PP,PP)\( Delta_P(PP)./V_Ample(PP) ))./V_Ample(PP); % 解修正方程
        V_Angle(PP)       = V_Angle(PP) + Delta_V_Angle(PP);                % 修正相角
        kq = 0;                                                             % 这是必须的,认为无功不平衡量还是不满足 
    end;

    Delta_V_Angle_ij = V_Angle*ones(1,n) - ( V_Angle*ones(1,n) )';          % 计算相角差矩阵
    T                = G.*sin(Delta_V_Angle_ij) - B.*cos(Delta_V_Angle_ij); % Tij = Gij *sin(delta_ij) - Bij *cos(delta_ij)
    Q                = V_Ample.*(T*V_Ample);                                % Q为计算出来的母线功率 
    Delta_Q(QQ)      = Qis(QQ) - Q(QQ);                                     % 无功不平衡量   
    
    if max(abs(Delta_Q))<ep                                                 % 无功不平衡量小于允许范围就做标记
            kq = 1;
    end;
        
    if kq==0                                                                % 无功不平衡量大于允许范围就作修正
        Delta_V_Ample(QQ) = -B(QQ,QQ)\(Delta_Q(QQ)./V_Ample(QQ));           % 解修正方程     
        V_Ample(QQ)       = V_Ample(QQ) + Delta_V_Ample(QQ);                % 修正幅值
        kp = 0;                                                             % 这是必须的,认为有功不平衡量还是不满足 
    end;
  
    [Delta_P(PP)',Delta_Q(QQ)';V_Ample(QQ)',V_Angle(PP)'*180/pi];            %每次迭代结果
end;
[V_Ample';NODE(:,2)';V_Ample'-NODE(:,2)';V_Angle'*180/pi;NODE(:,3)';V_Angle'*180/pi-NODE(:,3)']';
P = P+Pld;
Q = Q+Qld;
V = [V_Ample,V_Angle*180/pi,P*100,Q*100,Pld*100,Qld*100] % 母线全部信息,幅值、相角、发电有功、发电无功、负荷有功、负荷无功
EP=0;
EPld=0;
for i=1:n
    EP=EP+P(i);
    EPld=EPld+Pld(i);
end
PLoss_Sum_GeLd=EP-EPld

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -