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

📄 节点编号优化程序.m

📁 本程序为电力系统潮流计算PQ法
💻 M
字号:
%本程序的功能是对节点编号进行优化
nn=input('请输入节点数:nn=');
nl=input('请输入支路数:nl=');
nln=input('请输入节点的最大连接数:nln=');
A=input('请输入支路节点矩阵:A=');
in=zeros(nn);kin=zeros(nn);ks=zeros(nn);ms=zeros(nn);
for i=1:nn
    in(i)=1;
    for n=1:nln
        kin(i,n)=0;
    end
end
for k=1:nl
    i=A(k,1);n=in(i);kin(i,n)=k;
    in(i)=in(i)+1;i=A(k,2);n=in(i);
    kin(i,n)=k;in(i)=in(i)+1;
end
for i=1:nn-1
    low=in(i);k=i;nbb=i+1;
    for l=nbb:nn
        if in(l)<low
            low=in(l);k=1;
        end
    end
    for l=1:nl
        if A(l,1)==i
            A(l,1)=k;
            if A(l,2)==k
                A(l,2)=i;
                break
            else
                break
            end
        else
            if A(l,1)==k
                A(l,1)=i;
            else
                if A(l,2)==i
                   A(l,2)=k;
                else
                    if A(l,2)==k
                       A(l,2)=i;
                       break
                else
                    break
                end
            end
        end
    end
end
for n=1:nln
    ks(n)=kin(k,n);kin(k,n)=kin(i,n);kin(i,n)=ks(n);
end
ld=in(k);in(k)=in(i);in(i)=ld;ncb=in(i)-1;
for l=1:ncb
    k=kin(i,l);
    for j=nbb:nn
        for n=1:nln
            if kin(j,n)==k
                ms(l)=j;ndb=in(j)-1;
                for m=n:ndb
                    kin(j,m)=kin(j,m+1);
                end
                in(j)=in(j)-1;
            end
        end
    end
end
if ncb~=1
    np=1;
    while np<ncb-1
        m=ms(np);neb=np+1;
        for l=neb:ncb
            k=ms(l);ngb=in(m)-1;
            for n=1:ngb
                kft=kin(m,n);
                nhb=in(k)-1;
                for j=1:nhb
                    if kin(k,j)==kft
                        break;
                    end
                end
            end
            nl=nl+1;n=in(m);kin(m,n)=nl;in(m)=in(m)+1;ib(nl)=m;n=in(k);
            kin(k,n)=nl;in(k)=in(k)+1;A(nl,2)=k;
        end
        if np<ncb-1
            np=np+1;
        else
            break
        end
    end
end
end
disp('半动态优化后的节点排序为:');
disp(A)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -