PC Ekspert Forum

PC Ekspert Forum (https://forum.pcekspert.com/index.php)
-   Web dizajn, programiranje i ostalo (https://forum.pcekspert.com/forumdisplay.php?f=39)
-   -   Matlab (https://forum.pcekspert.com/showthread.php?t=239495)

Neshone 24.10.2012. 18:28

Matlab
 
Pomoc oko koda iz matlaba:

Code:

for n = 1:nbus
busprt = 0;
  for L = 1:nbr;
      if busprt == 0
      fprintf('  \n'), fprintf('%6g', n), fprintf('      %9.3f', P(n)*basemva)
      fprintf('%9.3f', Q(n)*basemva), fprintf('%9.3f\n', abs(S(n)*basemva))

      busprt = 1;
      else, end
      if nl(L)==n      k = nr(L);                              %In - Nominalna struja
      In = (V(n) - a(L)*V(k))*y(L)/a(L)^2 + Bc(L)/a(L)^2*V(n);  %y= ones(nbr,1)./Z;
      Ik = (V(k) - V(n)/a(L))*y(L) + Bc(L)*V(k);                %Admitansa grane L
      Snk = V(n)*conj(In)*basemva;
      Skn = V(k)*conj(Ik)*basemva;
      SL  = Snk + Skn;
      SLT = SLT + SL;
   
      elseif nr(L)==n  k = nl(L);
      In = (V(n) - V(k)/a(L))*y(L) + Bc(L)*V(n);
      Ik = (V(k) - a(L)*V(n))*y(L)/a(L)^2 + Bc(L)/a(L)^2*V(k);
      Snk = V(n)*conj(In)*basemva;
      Skn = V(k)*conj(Ik)*basemva;
      SL  = Snk + Skn;
      SLT = SLT + SL;
     
      else, end
        if nl(L)==n | nr(L)==n
        fprintf('%12g', k),
        fprintf('%9.3f', real(Snk)), fprintf('%9.3f', imag(Snk))
        fprintf('%9.3f', abs(Snk)),
        fprintf('%9.3f', real(SL)),
            if nl(L) ==n & a(L) ~= 1
            fprintf('%9.3f', imag(SL)), fprintf('%9.3f\n', a(L))
            else, fprintf('%9.3f\n', imag(SL))
            end
        else, end
  end
end
SLT = SLT/2;
fprintf('  \n'), fprintf('    Total loss                        ')
fprintf('%9.3f', real(SLT)), fprintf('%9.3f\n', imag(SLT))

clear Ik In SL SLT Skn Snk

Znaci ovo je kod koji proracunava tokove snaga po granama,... verujem da to vecini nije jasno sta radi :D ali potrebno mi je sledece:

Code:

if nl(L)==n      k = nr(L);                              %In - Nominalna struja
      In = (V(n) - a(L)*V(k))*y(L)/a(L)^2 + Bc(L)/a(L)^2*V(n);  %y= ones(nbr,1)./Z;
      Ik = (V(k) - V(n)/a(L))*y(L) + Bc(L)*V(k);                %Admitansa grane L
      Snk = V(n)*conj(In)*basemva;
      Skn = V(k)*conj(Ik)*basemva;
      SL  = Snk + Skn;
      SLT = SLT + SL;
 
      elseif nr(L)==n  k = nl(L);
      In = (V(n) - V(k)/a(L))*y(L) + Bc(L)*V(n);
      Ik = (V(k) - a(L)*V(n))*y(L)/a(L)^2 + Bc(L)/a(L)^2*V(k);
      Snk = V(n)*conj(In)*basemva;
      Skn = V(k)*conj(Ik)*basemva;
      SL  = Snk + Skn;
      SLT = SLT + SL;

Kako da pokupim Snk i Skn u jednu matricu... Ja sam pokusavao mnogo toga ali nikako da uspem... Jer ovde pomocu for petlje sam samo ispisivao ali kako da to pokupim i da ostane u memoriji pa da koristim u ostalim delovima programa.


Sva vremena su GMT +2. Sada je 18:13.

Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 1999-2024 PC Ekspert - Sva prava pridržana ISSN 1334-2940
Ad Management by RedTyger