作业帮 > 综合 > 作业

题号:72编程计算潮流(电力系统分析)

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/05/04 23:08:12
题号:72编程计算潮流(电力系统分析)
节点数:3 支路数:3 计算精度:0.00010
支路1:0.0300+j0.0900
1┠—————□—————┨2
支路2:0.0200+j0.0900
2┠—————□—————┨3
支路3:0.0300+j0.0900
3┠—————□—————┨1
节点1:PQ节点,S(1)=-0.5000-j0.2000
节点2:PQ节点,S(2)=-0.6000-j0.2500
节点3:平衡节点,U(3)=1.0000∠0.0000
题号:72编程计算潮流(电力系统分析)
n=5;nl=5;isb=1;pr=0.00001; B1=[1 2 0.03i 0 1.05 0;2 3 0.08+0.3i 0.5i 1 0;2 4 0.1+0.35i 0 1 0;3 4 0.04+0.25i 0.5i 1 0;3 5 0.015i 0 1.05 1];B2=[0 0 1.05 1.05 0 1;0 3.7+1.3i 1.05 0 0 2;0 2+1i 1.05 0 0 2;0 1.6+0.8i 1.05 0 0 2;5 0 1.05 1.05 0 3];X=[1 0;2 0;3 0;4 0;5 0];na=3;Y=zeros(n);YI=zeros(n);e=zeros(1,n);f=zeros(1,n);V=zeros(1,n);O=zeros(1,n);for i=1:n    if X(i,2)~=0;        p=X(i,1);        Y(p,p)=1./X(i,2);    endendfor i=1:nl    if B1(i,6)==0        p=B1(i,1);q=B1(i,2);    else p=B1(i,2);q=B1(i,1);    end    Y(p,q)=Y(p,q)-1./(B1(i,3)*B1(i,5));    YI(p,q)=YI(p,q)-1./B1(i,3);    Y(q,p)=Y(p,q);    YI(q,p)=YI(p,q);    Y(q,q)=Y(q,q)+1./(B1(i,3)*B1(i,5)^2)+B1(i,4)./2;    YI(q,q)=YI(q,q)+1./B1(i,3);    Y(p,p)=Y(p,p)+1./B1(i,3)+B1(i,4)./2;    YI(p,p)=YI(p,p)+1./B1(i,3);endG=real(Y);B=imag(YI);BI=imag(Y);for i=1:n    S(i)=B2(i,1)-B2(i,2);    BI(i,i)=BI(i,i)+B2(i,5);endP=real(S);Q=imag(S);for i=1:n    e(i)=real(B2(i,3));    f(i)=imag(B2(i,3));    V(i)=B2(i,4);endfor i=1:n    if B2(i,6)==2        V(i)=sqrt(e(i)^2+f(i)^2);        O(i)=atan(f(i)./e(i));    endendfor i=2:n    if i==n        B(i,i)=1./B(i,i);    else IC1=i+1;        for j1=IC1:n            B(i,j1)=B(i,j1)./B(i,i);        end        B(i,i)=1./B(i,i);        for k=i+1:n            for j1=i+1:n                B(k,j1)=B(k,j1)-B(k,i)*B(i,j1);            end        end    endendp=0;q=0;for i=1:n    if B2(i,6)==2      p=p+1;k=0;        for j1=1:n            if B2(j1,6)==2                k=k+1;                A(p,k)=BI(i,j1);            end        end    endendfor i=1:na    if i==na        A(i,i)=1./A(i,i);    else k=i+1;        for j1=k:na            A(i,j1)=A(i,j1)./A(i,i);        end        A(i,i)=1./A(i,i);        for k=i+1:na            for j1=i+1:na                A(k,j1)=A(k,j1)-A(k,i)*A(i,j1);            end        end    endendICT2=1;ICT1=0;kp=1;kq=1;K=1;DET=0;ICT3=1;while ICT2~=0|ICT3~=0ICT2=0;ICT3=0;for i=1:n    if i~=isb        C(i)=0;        for k=1:n            C(i)=C(i)+V(k)*(G(i,k)*cos(O(i)-O(k))+BI(i,k)*sin(O(i)-O(k)));        end        DP1(i)=P(i)-V(i)*C(i);        DP(i)=DP1(i)./V(i);        DET=abs(DP1(i));        if DET>=pr            ICT2=ICT2+1;        end    endendNp(K)=ICT2;   if ICT2~=0   for i=2:n       DP(i)=B(i,i)*DP(i);       if i~=n           IC1=i+1;           for k=IC1:n               DP(k)=DP(k)-B(k,i)*DP(i);           end       else           for LZ=3:i               L=i+3-LZ;               IC4=L-1;               for MZ=2:IC4                   I=IC4+2-MZ;                   DP(I)=DP(I)-B(I,L)*DP(L);               end           end       end   end       for i=2:n           O(i)=O(i)-DP(i);       end           kq=1;L=0;           for i=1:n               if B2(i,6)==2                   C(i)=0;L=L+1;                   for k=1:n                       C(i)=C(i)+V(k)*(G(i,k)*sin(O(i)-O(k))-BI(i,k)*cos(O(i)-O(k)));                   end                   DQ1(i)=Q(i)-V(i)*C(i);                   DQ(L)=DQ1(i)./V(i);                   DET=abs(DQ1(i));                   if DET>=pr                       ICT3=ICT3+1;                   end               end           end   else kp=0;       if kq~=0;           L=0;           for i=1:n               if B2(i,6)==2                   C(i)=0;L=L+1;                   for k=1:n                       C(i)=C(i)+V(k)*(G(i,k)*sin(O(i)-O(k))-BI(i,k)*cos(O(i)-O(k)));                   end                   DQ1(i)=Q(i)-V(i)*C(i);                   DQ(L)=DQ1(i)./V(i);                   DET=abs(DQ1(i));               end           end       end   end   Nq(K)=ICT3;   if ICT3~=0       L=0;       for i=1:na           DQ(i)=A(i,i)*DQ(i);           if i==na               for LZ=2:i                   L=i+2-LZ;                   IC4=L-1;                   for MZ=1:IC4                       I=IC4+1-MZ;                       DQ(I)=DQ(I)-A(I,L)*DQ(L);                   end               end           else               IC1=i+1;               for k=IC1:na                   DQ(k)=DQ(k)-A(k,i)*DQ(i);               end           end       end       L=0;       for i=1:n           if B2(i,6)==2               L=L+1;               V(i)=V(i)-DQ(L);           end       end       kp=1;       K=K+1;   else       kq=0;       if kp~=0           K=K+1;       end   end   for i=1:n       Dy(K-1,i)=V(i);   endenddisp('迭代次数')disp(K);disp('每次没有达到精度要求的有功功率个数为');disp(Np);disp('每次没有达到精度要求的无功功率个数为');disp(Nq);for k=1:n    E(k)=V(k)*cos(O(k))+V(k)*sin(O(k))*j;    O(k)=O(k)*180./pi;enddisp('各节点的电压标么值E为');disp(E);disp('各节点的电压V大小');disp(V);disp('各节点的电压相角O');disp(O);for p=1:n    C(p)=0;    for q=1:n        C(p)=C(p)+conj(Y(p,q))*conj(E(q));    end    S(p)=E(p)*C(p);enddisp('各节点的功率为');disp(S);disp('各条支路的首端功率为');for i=1:nl    if B1(i,6)==0        p=B1(i,1);q=B1(i,2);    else p=B1(i,2);q=B1(i,1);    end    Si(p,q)=E(p)*(conj(E(p))*conj(B1(i,4)./2)+(conj(E(p)*B1(i,5))-conj(E(q)))*conj(1./(B1(i,3)*B1(i,5))));    disp(Si(p,q));enddisp('各条支路的末端功率为');for i=1:nl    if B1(i,6)==0        p=B1(i,1);q=B1(i,2);    else p=B1(i,2);q=B1(i,1);    end    Sj(q,p)=E(q)*(conj(E(q))*conj(B1(i,4)./2)+(conj(E(q)./B1(i,5))-conj(E(p)))*conj(1./(B1(i,3)*B1(i,5))));    disp(Sj(q,p));enddisp('各条支路的功率损耗为');for i=1:nl    if B1(i,6)==0        p=B1(i,1);q=B1(i,2);    else p=B1(i,2);q=B1(i,1);    end    DS(i)=Si(p,q)+Sj(q,p);    disp(DS(i));endfor i=1:K    Cs(i)=i;    for j=1:n        Dy(K,j)=Dy(K-1,j);    endenddisp('每次迭代后各节点的电压值如图所示');plot(Cs,Dy)xlabel('迭代次数')ylabel('电压')title('电压迭代次数曲线');