✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
⛄ 内容介绍
为了提高配电网故障定位的快速性和准确性,提出运用粒子群算法来优化配网故障定位.介绍了粒子群算法的原理,并分析了故障定位的工作流程.针对传统配电网的故障定位进行了仿真分析,验证了粒子群算法应用于配电网故障定位的可行性.仿真结果表明,所提方法具有较大的实用性和优越性,能够大大提高故障定位的速度和精度.
⛄ 部分代码
%产生回路编号矩阵H
clc
clear
b=32; %支路数,开断开关数
n=33; %节点数
LL=5; %联络开关数
Sb=10; %MW
Vb=12.66; %KV
Zb=Vb^2/Sb; %ohm
%第一列存支路号,第二列存首节点号,第三列存尾节点号,第四列存支路自阻抗(ohm),第五列存尾节点给定功率(MW\Mvar)
%其中:33-37支路为5个联络开关
Z=[1 0 1 0.0922+i*0.047 0.1000+i*0.0600
2 1 2 0.4930+i*0.2511 0.0900+i*0.0400
3 2 3 0.3660+i*0.1864 0.1200+i*0.0800
4 3 4 0.3811+i*0.1941 0.0600+i*0.0300
5 4 5 0.8190+i*0.7070 0.0600+i*0.0200
6 5 6 0.1872+i*0.6188 0.2000+i*0.1000
7 6 7 0.7114+i*0.2351 0.2000+i*0.1000
8 7 8 1.0300+i*0.7400 0.0600+i*0.0200
9 8 9 1.0440+i*0.7400 0.0600+i*0.0200
10 9 10 0.1966+i*0.0650 0.0450+i*0.0300
11 10 11 0.3744+i*0.1238 0.0600+i*0.0350
12 11 12 1.4680+i*1.1550 0.0600+i*0.0350
13 12 13 0.5416+i*0.7129 0.1200+i*0.0800
14 13 14 0.5910+i*0.5260 0.0600+i*0.0100
15 14 15 0.7463+i*0.5450 0.0600+i*0.0200
16 15 16 1.2890+i*1.7210 0.0600+i*0.0200
17 16 17 0.3720+i*0.5740 0.0900+i*0.0400
18 1 18 0.1640+i*0.1565 0.0900+i*0.0400
19 18 19 1.5042+i*1.3554 0.0900+i*0.0400
20 19 20 0.4095+i*0.4784 0.0900+i*0.0400
21 20 21 0.7089+i*0.9373 0.0900+i*0.0400
22 2 22 0.4512+i*0.3083 0.0900+i*0.0500
23 22 23 0.8980+i*0.7091 0.4200+i*0.2000
24 23 24 0.8960+i*0.7011 0.4200+i*0.2000
25 5 25 0.2030+i*0.1034 0.0600+i*0.0250
26 25 26 0.2842+i*0.1447 0.0600+i*0.0250
27 26 27 1.0590+i*0.9337 0.0600+i*0.0200
28 27 28 0.8042+i*0.7006 0.1200+i*0.0700
29 28 29 0.5075+i*0.2585 0.2000+i*0.6000
30 29 30 0.9744+i*0.9630 0.1500+i*0.0700
31 30 31 0.3105+i*0.3619 0.2100+i*0.1000
32 31 32 0.3410+i*0.5362 0.0600+i*0.0400];
C=[33 7 20 2.0+i*2.0 0 %联络开关矩阵C
34 8 14 2.0+i*2.0 0
35 11 21 2.0+i*2.0 0
36 17 32 0.5+i*0.5 0
37 24 28 0.5+i*0.5 0 ];
% 定义节点到母节点路径矩阵A
A=zeros(b); %对矩阵A进行初始化
for i=1:b
A(i,1)=i; %将路径矩阵A的第一列储存为支路号
end
for j=1:b %利用Z矩阵中的首末节点列向量进行路径搜索
n1=j;
k=2;
while(j~=0) %一直搜寻到母节点0结束
for m=1:b
if(Z(m,3)==j) %在末节点定位j
A(n1,k)=Z(m,2);
j=Z(m,2); %将首节点赋给j,然后再在末节点定位j
k=k+1;
end
end
end
end
%遍历A矩阵形成单回路矩阵H
for i=1:LL
jd=max(intersect(A(C(i,2),:),A(C(i,3),:))); %取回路交叉点jd,保证是单回路
h=1;
while(A(C(i,2),h)~=jd)
H(i,h)=A(C(i,2),h);
h=h+1;
end
h1=1;
while(A(C(i,3),h1)~=jd)
H(i,h)=A(C(i,3),h1);
h=h+1;
h1=h1+1;
end
H(i,h)=C(i,1);
end
⛄ 运行结果
⛄ 参考文献
[1]曾明杰, 汪洋. 基于粒子群算法的配电网故障定位研究[J]. 电子世界, 2019(23):2.
[2]赵冰杰等. "基于分组差分粒子群算法的含分布式电源配电网故障定位." 可再生能源 010(2022):040.