有没有配电网故障定位的matlab封装模块

有没有配电网故障定位的matlab封装模块,第1张

有。每一个断路器上均有一个FTU装置,可以反馈断路器开关是否过流,用表示上传的故障信息,反映的是各分段开关处是否流过故障电流有故障电流为1,否则为0)。

因为FTU上传的信息可分为有故障信息及无故障信息两类,对于分段区间来讲也只能是有故障及无故障两种情况,所以我们可以用二进制编码规则对配电网故障定位问题进行数学建模。以上图所示辐射状配电网为例,系统拥有12个分段开关,我们可以用一串12位的二进制代码表示FTU的上传信息,作为程序的输入,1代表对应的开关有过流信息,0代表对应的开关无过流信息。同时用另一串12位的二进制代码作为程序的输出,代表对应馈线区间发生故障,代表无故障。

1.2 二进制PSO算法的配电网故障定位原理

应用二进制PSO算法求解配电网故障定位问题,粒子的位置代表配电网中馈线区段的状态,粒子的维数代表配电网的馈线区段总数。每一馈线区段存在0和1两种状态,0表示正常状态,1表示故障状态,馈线区段的状态为待求量。因此,N段馈线区段的状态求解就转化成N维粒子群优化求解,每个粒子的N维位置都表示为配电网N段馈线区段的潜在状态。每次迭代过程中,通过评价函数评价各粒子位置优劣,更新粒子的当前最优位置和全体粒子的最优位置,进而更新粒子的则辩态速度和位置,直到满足程序终止条件为止。最终得出的粒子群的全局最优位置就是所求的各馈线区段的实际状态。

基本的粒子群算法是在连续域中搜索函数极值的有力工具,在此之后,提出了离散二进制粒子群,将离散问题空间映射到连续粒子运动空间,并适当修改粒子群算法来求解,在计算上仍保留经典粒子群算法速度-位置更新运算法则,粒子在状态空间的取值和变化只限于0和1两个值,而速度的每一维Vij代表位置每一位xij的取值为1的可能性,,因此在连续粒子群中的vij更新公式仍保持不变,但是Pbest和Gbest只在【0,1】的取值,其位置更新等式为:

(式中:r是0-1之间的随机数。)

1.3 构造配电网故障定位评价函数

基于待求各馈线区段实际状态下所对应的信息应与实际上传故障信息偏差最小的原则,构造如下评价函数:

表达式的值为每个潜在解对应的适应度值,值越小表示解越优良,因此评价函数应取极小值。

式中:

为第j个开关FTU上传的故障信息,取值为1认为该开关流过了故障电流,为0则未流过;

为各开关节点的期望状态,若该开关流过了故障电流,则期望状态为1,相反,期望状态为0,表达式为各区段状态的函数。N为配电网中馈线区段的总数,

为配电网中各设备状态,为1表明设备故障,取0则设备正常。

表示一个权系数乘以故障设备数,。是根据故障诊断理论中“最小集”孙源概念设置的权重系数,取值范围介于与1之间,表明故障区间数越少解越优,避免出现误诊断,本文中权系数取0.5。

1.4 求期望函数

针对不同的网络,期望函数的表达式不同,无法用统一的格式表示出来。仅以上述算例为例来说明如何求取期望函数。

在辐射型配电网中,任何区间发生故障,必将导致其上游开关流过故障过电流。这是求取期望函数的原则。假设图一的馈线区段6处发生故障,那么分段开关K1,K2,K3 ,K6,都将有过电流若馈线灶大区段11处发生故障,则K1,K2,K3 ,K6,K10都将有过电流。由此类推我们可得到各个

您好, Gap.m文芦尺坦困埋件: function T = Gap( N ) T = 0Heads = 0Tails = 0while abs(Heads - Tails) <N if rand <.5 Heads = Heads + 1else Tails = Tails + 1end T = T+1end 主陪桐程序: clear all, clc N = 1:30G = zeros(size(N))T...

% 配电网前推回代潮流计算程序 

% 使用IEEE 33节点配电系统作为算例,可实现弱环网情况下的潮流计算

countnum=0

BranchData = [

    1   2   0.0922  0.0470

    2   3   0.4930  0.2511

    3   4   0.3660  0.1864

    4   5   0.3811  0.1941

    5   6   0.8190  0.7070

    6   7   0.1872  0.6188

    7   8   0.7114  0.2351

    8   9   1.0300  0.7400

    9   10  1.0440  0.7400

    10  11  0.1966  0.0650

    11  12  0.3744  0.1238

    12  13  1.4680  1.1550

    13  14  0.5416  0.7129

    14  15  0.5910  0.5260

    15  16  0.7463  0.5450

    16  17  1.2890  1.7210

    17  18  0.7320  0.5740

    2   19  0.1640  0.1565

    19  20  1.5042  1.3554

    20  21  0.4095  0.4784

    21  22  0.7089  0.9373

    3   23  0.4512  0.3083

    23  24  0.8980  0.7091

    24  25  0.8960  0.7011

    6   26  0.2030  0.1034

    26  27  0.2842  0.1447

    27  28  1.0590  0.9337

    28  29  0.8042  0.7006

    29  30  0.5075  0.2585

    30  31  0.9744  0.9630

    31  32  0.3105  0.3619

    32  33  0.3410  0.5302

]                                     % 支路,阻抗

NodeData = [

    2   100.00  60.00

    3   90.00   40.00

    4   120.00  80.00

    5   60.00   30.00

    6   60.00   20.00

    7   200.00  100.00

    8   200.00  100.00

    9   60.00   20.00

    10  60.00   20.00

    11  45.00   30.00

    12  60.00   35.00

    13  60.00   35.00

    14  120.00  80.00

    15  60.00   10.00

    16  60.00   20.00

    17  60.00   20.00

    18  90.00   40.00

    19  90.00   40.00

    20  90.00   40.00

    21  90.00   40.00

    22  90.00   40.00

    23  90.00   50.00

    24  420.00  200.00

    25  420.00  200.00

    26  60.00   25.00

    27  60.00   25.00

    28  60.00   20.00

    29  120.00  70.00

    30  200.00  600.00

    31  150.00  70.00

    32  210.00  100.00

    33  60.00   40.00

]                                      % 节点,负荷

UB = 12.66                             % 电压基准 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) - i*NodeData(:,3)]       % 形成 S

ZL = [0BranchData(:,3) + i*BranchData(:,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)/3.1415*180

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

希望你能用到


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

原文地址: https://outofmemory.cn/yw/12443662.html

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

发表评论

登录后才能评论

评论列表(0条)

保存