Lineflow.m
上传用户:eighthdate
上传日期:2014-05-24
资源大小:270k
文件大小:2k
源码类别:

其他行业

开发平台:

Matlab

  1. %  This program is used in conjunction with lfgauss or lf Newton
  2. %  for the computation of line flow and line losses.
  3. %
  4. %  Copyright (c) 1998 H. Saadat
  5. SLT = 0;
  6. fprintf('n')
  7. fprintf('                           Line Flow and Losses nn')
  8. fprintf('     --Line--  Power at bus & line flow    --Line loss--  Transformern')
  9. fprintf('     from  to    MW      Mvar     MVA       MW      Mvar      tapn')
  10. for n = 1:nbus
  11. busprt = 0;
  12.    for L = 1:nbr;
  13.        if busprt == 0
  14.        fprintf('   n'), fprintf('%6g', n), fprintf('      %9.3f', P(n)*basemva)
  15.        fprintf('%9.3f', Q(n)*basemva), fprintf('%9.3fn', abs(S(n)*basemva))
  16.        busprt = 1;
  17.        else, end
  18.        if nl(L)==n      k = nr(L);
  19.        In = (V(n) - a(L)*V(k))*y(L)/a(L)^2 + Bc(L)/a(L)^2*V(n);
  20.        Ik = (V(k) - V(n)/a(L))*y(L) + Bc(L)*V(k);
  21.        Snk = V(n)*conj(In)*basemva;
  22.        Skn = V(k)*conj(Ik)*basemva;
  23.        SL  = Snk + Skn;
  24.        SLT = SLT + SL;
  25.        elseif nr(L)==n  k = nl(L);
  26.        In = (V(n) - V(k)/a(L))*y(L) + Bc(L)*V(n);
  27.        Ik = (V(k) - a(L)*V(n))*y(L)/a(L)^2 + Bc(L)/a(L)^2*V(k);
  28.        Snk = V(n)*conj(In)*basemva;
  29.        Skn = V(k)*conj(Ik)*basemva;
  30.        SL  = Snk + Skn;
  31.        SLT = SLT + SL;
  32.        else, end
  33.          if nl(L)==n | nr(L)==n
  34.          fprintf('%12g', k),
  35.          fprintf('%9.3f', real(Snk)), fprintf('%9.3f', imag(Snk))
  36.          fprintf('%9.3f', abs(Snk)),
  37.          fprintf('%9.3f', real(SL)),
  38.              if nl(L) ==n & a(L) ~= 1
  39.              fprintf('%9.3f', imag(SL)), fprintf('%9.3fn', a(L))
  40.              else, fprintf('%9.3fn', imag(SL))
  41.              end
  42.          else, end
  43.   end
  44. end
  45. SLT = SLT/2;
  46. fprintf('   n'), fprintf('    Total loss                         ')
  47. fprintf('%9.3f', real(SLT)), fprintf('%9.3fn', imag(SLT))
  48. clear Ik In SL SLT Skn Snk