dongyuanhui 发表于 2009-6-19 08:02:55

帮忙分析下计算三相短路电流的程序

此程序从网上下的:

%本程序的功能是计算三相短路的短路电流,各节点电压,各支路电流
NF=input('请输入短路点的数目:NF=');
n=input('请输入独立节点数:n=');
nl=input('请输入支路数:nl=');
B=input('请输入由线路参数形成的矩阵:B=');
V0=input('请输入由各节点的初电压标幺值形成的列矩阵:V0=');
D=input('请输入由短路号,短路点阻抗组成的矩阵:D=');
m=0;Z=zeros(n);V=zeros(n);I=zeros(nl);
for k1=1:nl
    p=B(k1,1);q=B(k1,2);
    if B(k1,6)==0
      k=1./B(k1,5);
    else
      k=B(k1,5);
    end
    if p==0
      if q>m
            Z(q,q)=B(k1,3);m=m+1;
      else
            for i=1:m
                Z(i,m+1)=-Z(i,q);Z(m+1,i)=-Z(q,i);
            end
            Z(m+1,m+1)=Z(q,q)+B(k1,3);
                for i=1:m
                  for j=1:m
                  Z(i,j)=Z(i,j)-Z(i,m+1)*Z(m+1,j)./Z(m+1,m+1);
                  end
                  Z(i,m+1)=0;
                end
                for i=1:m+1
                  Z(m+1,i)=0;
                end
      end
    else if q>m
            for i=1:m
                Z(i,q)=Z(i,p)*k;Z(q,i)=Z(p,i)*k;
            end
            Z(q,q)=k^2*Z(p,p)+k^2*B(k1,3);
            m=m+1;
      else
            for i=1:m
                Z(i,m+1)=k*Z(i,p)-Z(i,q);
                Z(m+1,i)=k*Z(p,i)-Z(q,i);
            end
            Z(m+1,m+1)=k^2*Z(p,p)+Z(q,q)-2*k*Z(p,q)+k^2*B(k1,3);
            for i=1:m
                for j=1:m
                  Z(i,j)=Z(i,j)-Z(i,m+1)*Z(m+1,j)./Z(m+1,m+1);
                end
                Z(i,m+1)=0;
            end
            for i=1:m+1
                Z(m+1,i)=0;
            end
      end
    end
end
for k=1:NF
    I(D(k,1),D(k,1))=V0(D(k,1),1)./(Z(D(k,1),D(k,1))+D(k,2));
    ft=num2str(D(k,1));
    ts1=('点短路时');
    ts2=('电流的标幺值If=');
    dn=strcat(ft,ts1,ts2);
    disp(dn);
    disp(I(D(k,1),D(k,1)));
    for i=1:n
      V(i,i)=V0(i,1)-I(D(k,1),D(k,1))*Z(i,D(k,1));
    end
    for i=1:nl
      if B(i,6)==0
            k=B(i,5);
      else
            k=1./B(i,5);
      end
      p=B(i,1);q=B(i,2);
      if p==0
            e=0;b=B(i,3);
            I(i,i)=(e-V(q,q)./k)./b;
      else
            I(i,i)=(V(p,p)-V(q,q)./k)./B(i,3);
      end
    end
    disp('各节点的电压标幺值U(节点号从小到大)依次为:');
    for i=1:n
      disp(V(i,i));
    end
    disp('各支路电流标幺值I(顺序同B)依次为:');
    for i=1:nl
      disp(I(i,i));
    end
end


请问线路参数形成的矩阵B是什么矩阵?
如果我的短路点只有一个那么由短路号,短路点阻抗组成的矩阵D怎么写?
万分感谢

beaty2003 发表于 2009-6-22 16:40:38

B应该是系统导纳矩阵

stone_2010 发表于 2009-8-27 12:19:02

建议先看看《电网络分析》。

kaka1307 发表于 2009-8-27 12:53:59

过来学习了

lhw606 发表于 2009-8-28 13:40:20

某一本电力系统分析上的程序

shangguanhanlu 发表于 2009-12-26 10:58:46

太乱了,看不清楚

sunyanguo 发表于 2010-5-9 08:50:02

来学习了。。。。。。。。。。。。。。。。。

chase19881003 发表于 2010-5-9 09:33:47

过来学习下

lanmingzisg 发表于 2010-5-22 22:58:07

看看学习一下。。

fengqiwu 发表于 2010-5-23 18:27:30

真好好好好好好
页: [1] 2
查看完整版本: 帮忙分析下计算三相短路电流的程序

招聘斑竹