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

📄 quyu.asv

📁 用MATLAB编的配电网自动化的一些程序
💻 ASV
字号:
function quyu(t,b,c)    %最小配电区域分解
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];
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 + -