pes2014-wronglowervoltagebound/Lineloss.m

28 lines
1.0 KiB
Matlab

%% 计算线损
function Lineloss(Linei,Linej,Liner,Linex,Lineb2,Transi,Transj,Transr,Transx,k0,Volt,Angle)
%format long
fprintf('功率为有名值\n');
fprintf('节点号\t节点号\t有功损耗 MW\t无功损耗 MVar')
cmpVolt=Volt.*cos(Angle)+1i*Volt.*sin(Angle);
cmpVolt=cmpVolt';
y0=1i*Lineb2;
%yj0=1i*standardinput(:,7);
yij=1./(Liner+1i*Linex);
%% 线路损耗
Sij=cmpVolt(Linei).*conj( cmpVolt(Linei) .* y0 + ( cmpVolt(Linei)- cmpVolt(Linej) ).*yij );
Sji=cmpVolt(Linej).*conj( cmpVolt(Linej) .*y0 + ( cmpVolt(Linej)- cmpVolt(Linei) ).*yij );
%Sij1==Sij2
deltLineS=Sij+Sji;
dispLineloss=[Linei Linej real(deltLineS)*100 imag(deltLineS)*100];
%full(dispLineloss)
dispLineloss=sortrows(dispLineloss,-3);
full(dispLineloss)
%% 以下是变压器损耗
yij=1./(Transr+1i*Transx);
Sij=cmpVolt(Transi)./k0.*conj( ( cmpVolt(Transi)./k0- cmpVolt(Transj) ).*yij );
Sji=cmpVolt(Transj).*conj( ( cmpVolt(Transj)- cmpVolt(Transi)./k0 ).*yij );
deltTransS=Sij+Sji;
dispTransloss=[Transi Transj real(deltTransS)*100 imag(deltTransS)*100];
dispTransloss=sortrows(dispTransloss,-3);
full(dispTransloss)
end