MATLAB的电力系统潮流计算程序

MATLAB的电力系统潮流计算程序,第1张

% 配电网前推回代潮流计算程序 
% 使用IEEE 33节点配电系统作为算例,可实现弱环网情况下的潮流计算
countnum=0;
BranchData = [
    1   2   00922  00470;
    2   3   04930  02511;
    3   4   03660  01864;
    4   5   03811  01941;
    5   6   08190  07070;
    6   7   01872  06188;
    7   8   07114  02351;
    8   9   10300  07400;
    9   10  10440  07400;
    10  11  01966  00650;
    11  12  03744  01238;
    12  13  14680  11550;
    13  14  05416  07129;
    14  15  05910  05260;
    15  16  07463  05450;
    16  17  12890  17210;
    17  18  07320  05740;
    2   19  01640  01565;
    19  20  15042  13554;
    20  21  04095  04784;
    21  22  07089  09373;
    3   23  04512  03083;
    23  24  08980  07091;
    24  25  08960  07011;
    6   26  02030  01034;
    26  27  02842  01447;
    27  28  10590  09337;
    28  29  08042  07006;
    29  30  05075  02585;
    30  31  09744  09630;
    31  32  03105  03619;
    32  33  03410  05302;
];                                     % 支路,阻抗
NodeData = [
    2   10000  6000;
    3   9000   4000;
    4   12000  8000;
    5   6000   3000;
    6   6000   2000;
    7   20000  10000;
    8   20000  10000;
    9   6000   2000;
    10  6000   2000;
    11  4500   3000;
    12  6000   3500;
    13  6000   3500;
    14  12000  8000;
    15  6000   1000;
    16  6000   2000;
    17  6000   2000;
    18  9000   4000;
    19  9000   4000;
    20  9000   4000;
    21  9000   4000;
    22  9000   4000;
    23  9000   5000;
    24  42000  20000;
    25  42000  20000;
    26  6000   2500;
    27  6000   2500;
    28  6000   2000;
    29  12000  7000;
    30  20000  60000;
    31  15000  7000;
    32  21000  10000;
    33  6000   4000;
];                                      % 节点,负荷
UB = 1266;                             % 电压基准 kV
SB = 10;                                % 功率基准 MVA
ZB = UB^2/SB;                           % 阻抗基准 ohm
BranchData(:,[3,4]) = BranchData(:,[3,4]) / ZB;     % 阻抗标幺化
NodeData(:,[2,3]) = NodeData(:,[2,3]) / SB / 1000;% 功率标幺化
NN = 33;                                % 节点数
A0 = zeros(NN);
for n = 1:NN-1
    A0(BranchData(n,1),BranchData(n,2)) = 1;
end                                     % 形成 A0
AssociatedMatrix=0;
for n=2:NN-1
    AssociatedMatrix(n,n)=1;
    temp=BranchData(n-1,1);
    AssociatedMatrix(n,1:n-1)=AssociatedMatrix(temp,1:n-1);
end
A0T = A0';                              % 形成 A0 的转置
S = [0;-NodeData(:,2) - iNodeData(:,3)];       % 形成 S
ZL = [0;BranchData(:,3) + iBranchData(:,4)];       % 形成 ZL
V = ones(NN,1);
V(1) = 1;                            % 各个节点电压赋初值
IL(NN,1) = -conj(S(NN) / V(NN));          % 最末支路电流赋初值
Delta = 1;                              % 收敛判据赋初值
TempV = V;                              % 赋初值,用于记忆上次迭代结果
while Delta > 1e-8
    countnum=countnum+1;
    IN = conj(S / V);                    % 节点注入电流
    
    for n = 1:NN-1
        IL(NN-n) = A0(NN-n,NN-n+1:end)  IL(NN-n+1:end) - IN(NN-n);
    end                                 % 电流回代过程
    
    for n = 2:NN
        V(n) = A0T(n,1:n-1)  V(1:n-1) - ZL(n)  IL(n);
    end                                 % 电压前推过程
    
    Delta = max(abs(V-TempV));          % 更新收敛判据
    TempV = V;                          % 记忆迭代结果
end
Vangle(:,1)=abs(V);
Vangle(:,2)=angle(V)/31415180;
for i=1:NN-1
    st=BranchData(i,1);
    en=BranchData(i,2);
    Sij(i,1)=V(st)conj((V(st)-V(en))/ZL(i+1));
    Sji(i,1)=V(en)conj((V(en)-V(st))/ZL(i+1));
end

希望你能用到

以上就是关于MATLAB的电力系统潮流计算程序全部的内容,包括:MATLAB的电力系统潮流计算程序、、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9868236.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存