📄 quyu.m
字号:
function quyu(z,m,b,t) %最小配电区域分解
z=[6 10;10 13;13 8;10 1;1 5;5 11;5 9;9 2;3 12;12 7;12 4] %p12图2-2一个具有两个连通系的信息矩阵
m=[0 1 1 0 0 1 0 1 0 0 1 0 0]
b=[0 0 0 0 1 0 0 0 0 1 0 1 0];
t=[0 1 1 0 1 1 0 1 0 1 1 1 0];
d=qiu_d(z)
c=dc(d,m,t)
[t1,t2]=size(t)
st=zeros(1,t2)
qo=[]
vp1=zeros(1,t2) %含有T接点的配电区域分解
vp2=zeros(1,t2) %始点和未点重合的节点
vp3=zeros(1,t2) %不含T接点的配电区域分解
for i=1:t2 %此循环形成st矩阵
if(t(i)==1&b(i)==0)
st(i)=1
end
end
mn=0
[t6,t3]=find(st==1)
[t4,t5]=size(t3)
for k=1:t5 %此循环求含T接点的配电区域分解
qo(1)=t3(k)
mn=mn+1
if(vp1(t3(k))==0)
vp1(t3(k))=-mn
elseif(vp1(t3(k))~=0)
vp2(t3(k))=-mn
end
while(length(qo)~=0)
a=qo(1)
qo(1)=[]
for j=1:t2
if(c(a,j)==1&b(j)==1&vp1(j)~=0)
vp2(j)==mn
qo(length(qo)+1)=j
elseif(c(a,j)==1&b(j)==1&vp1(j)==0)
vp1(j)=mn
qo(length(qo)+1)=j
end
if(c(a,j)==1&b(a)==1&vp1(j)~=0)
vp2(j)=mn
elseif(c(a,j)==1&b(a)==1&vp1(j)==0)
vp1(j)=mn
end
end
end
end
for i=1:t5 %此循环求不含T接点的配电区域分解
a=t3(i)
for j=1:t2
if(c(a,j)==1&b(j)==0)
vp3(a)=-i
vp3(j)=i
end
end
end
vp=[vp1;vp2;vp3]
[q1 q2]=size(vp1)
q=max(abs(vp1))
fprintf('此配电网的最小配电区域是:\n')
for i=1:q
w=2;
for j=1:q2
if (abs(vp1(j))==i|abs(vp2(j))==i|abs(vp3(j))==i)
if(vp1(j)==-i|vp2(j)==-i|vp3(j)==-i)
p{i}(1)=j;
else
p{i}(w)=j;
w=w+1;
end
end
end
fprintf('p[%d]:',i)
disp(p{i})
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -