把线路电流,功率的计算写成函数形式

Signed-off-by: facat <facat@facat.cn>
This commit is contained in:
facat 2013-08-15 21:51:31 +08:00
parent 982c834815
commit 5e07471ce3
4 changed files with 21 additions and 5 deletions

5
BranchI.m Normal file
View File

@ -0,0 +1,5 @@
function [ output_args ] = BranchI( V,lineI,lineJ,lineR,lineX )
output_args=(V(lineI)-V(lineJ))./(lineR+1j*lineX);
end

4
BranchP.m Normal file
View File

@ -0,0 +1,4 @@
function [ output_args ] = BranchP( V,I,lineI,lineB2 )
output_args=real((V(lineI)).*conj(I))+real(V(lineI) .*conj(1j*lineB2.*V(lineI) ) );
end

4
BranchQ.m Normal file
View File

@ -0,0 +1,4 @@
function [ output_args ] = BranchQ( V,I,lineI,lineB2 )
output_args=imag((V(lineI)).*conj(I))+imag(V(lineI) .*conj(1j*lineB2.*V(lineI) ) );
end

13
run.m
View File

@ -33,18 +33,18 @@ lineX=newwordParameter.line.lineX;
lineB2=newwordParameter.line.lineB2;
lineG=real(1./(lineR+1j*lineX));
lineB=imag(1./(lineR+1j*lineX));
cmpBranchI=(cmpV(lineI)-cmpV(lineJ))./(lineR+1j*lineX);%
cmpBranchI=BranchI( cmpV,lineI,lineJ,lineR,lineX );%
rBranchI=abs(cmpBranchI);% ֧·µçÁ÷·ùÖµ
mBranchI=rBranchI.*(normrnd(0,sigma,length(rBranchI),1)+1);%֧·µçÁ÷Á¿²âÁ¿
%% ֧·¹¦ÂÊ
rBranchP=real((cmpV(lineI)).*conj(cmpBranchI))+real(cmpV(lineI) .*conj(1j*lineB2.*cmpV(lineI) ) );
rBranchP= BranchP( cmpV,cmpBranchI,lineI,lineB2 );
% rV=abs(cmpV);
% rA=angle(cmpV);
% a=rV(lineI).^2.*(lineG)-rV(lineI).*rV(lineJ).*(lineG.*cos(rA(lineI)-rA(lineJ) )+lineB.*sin(rA(lineI)-rA(lineJ) ) );
% b=-rV(lineI).^2.*(lineB+lineB2)-rV(lineI).*rV(lineJ).*(lineG.*sin(rA(lineI)-rA(lineJ) )-lineB.*cos(rA(lineI)-rA(lineJ) ) );
% rBranchP=rBranchP(abs(rBranchP)>1e-5);
mBranchP=rBranchP.*(normrnd(0,sigma,length(rBranchP),1)+1);%֧·¹¦ÂÊÁ¿²âÁ¿
rBranchQ=imag((cmpV(lineI)).*conj(cmpBranchI))+imag(cmpV(lineI) .*conj(1j*lineB2.*cmpV(lineI) ) );
rBranchQ=BranchQ( cmpV,cmpBranchI,lineI,lineB2 );
% rBranchQ=rBranchQ(abs(rBranchQ)>1e-5);
mBranchQ=rBranchQ.*(normrnd(0,sigma,length(rBranchQ),1)+1);%֧·¹¦ÂÊÁ¿²âÁ¿
%% ×¢È빦ÂÊ
@ -159,13 +159,16 @@ dLQij_dVi=dLQij_dVi(setdiff( 1:size(dLQij_dVi,1),zerosRXInd),:);
dLQij_dVj=dLQij_dVj(setdiff( 1:size(dLQij_dVj,1),zerosRXInd),:);
dLQij_dThetai=dLQij_dThetai(setdiff( 1:size(dLQij_dThetai,1),zerosRXInd),:);
dLQij_dThetaj=dLQij_dThetaj(setdiff( 1:size(dLQij_dThetaj,1),zerosRXInd),:);
%
mBranchP=mBranchP(setdiff( 1:length(mBranchP),zerosRXInd));
mBranchQ=mBranchQ(setdiff( 1:length(mBranchQ),zerosRXInd));
%% ½øÈëµü´ú
H=[dV_dV ,dV_dTyta;
dLPij_dVi+dLPij_dVj, dLPij_dThetai+dLPij_dThetaj;
dLQij_dVi+dLQij_dVj, dLQij_dThetai+dLQij_dThetaj];%jacobi
% H=[dV_dV];
h=SEVolt;
z=mVolt;
h=[SEVolt;mBranchP;mBranchQ];
z=[mVolt;mBranchP;mBranchQ];
W=sparse(1:length(mVolt),1:length(mVolt),1/sigma.^2,length(mVolt),length(mVolt));
G=H'*W*H;
g=-H'*W*(z-h);