pes2014/@ForThesis/MaxBranchDeviation.asv

42 lines
2.2 KiB
Plaintext
Raw Normal View History

function [ output_args ] = MaxBranchDeviation( ~, Linei,Linej,Liner,Linex,Lineb,Transfori,Transforj,Transforr,Transforx,Branchi,Branchg,Branchb,Transfork0,Volt0,UAngel0,Volt,UAngel,FileName,PD0,QD0)
%% <20><><EFBFBD><EFBFBD>֧·<D6A7><C2B7><EFBFBD><EFBFBD>ƫ<EFBFBD><C6AB>
% ֧·<D6A7><C2B7><EFBFBD>ʰ<EFBFBD><CAB0><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD>ͱ<EFBFBD>ѹ<EFBFBD><D1B9>
%% <20><><EFBFBD>ü<EFBFBD><C3BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><C4B8>ɹ<EFBFBD><C9B9>ʼ<EFBFBD><CABC><EFBFBD><E3B3B1>ֵ
[Busnum,Balance,PQstandard,Precision,~,~,~,~,~,kmax,~ ,...
~,~,~,~,~,~,~,Pointpoweri,PG,QG,PD,QD,PVi,PVu,~,~,~,~,~,~,~]= openfile2(FileName);
PD=PD0;
QD=QD0;
%% <20>γɽڵ㵼<DAB5>ɾ<EFBFBD><C9BE><EFBFBD>
[~,Y,r,c,Angle] = admmatrix(Busnum,Linei,Linej,Liner,Linex,Lineb,Transfori,Transforj,Transforr,...
Transforx,Transfork0,Branchi,Branchg,Branchb);
[P0,Q0,U,Uangle] = Initial(PG,PD,PQstandard,Pointpoweri,QG,QD,Busnum); %<25><><EFBFBD><EFBFBD><EFBFBD>ʲ<EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD>
%disp('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>i <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD>');
%% ѭ<><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
for i = 0:kmax
[Jacob,PQ,U,Uangle] = jacobian(Busnum,Balance,PVi,PVu,U,Uangle,Y,Angle,P0,Q0,r,c); %<25>γ<EFBFBD><CEB3>ſ˱Ⱦ<CBB1><C8BE><EFBFBD>
% disp('<27><>һ<EFBFBD><D2BB><EFBFBD>ſ˱<C5BF>');
m = max(abs(PQ));
m=full(m);
%fprintf(' %u %.8f \n',i,m);
if m > Precision %<25>жϲ<D0B6>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><E3BEAB>Ҫ<EFBFBD><D2AA>
[Uangle,U] = solvefun(Busnum,Jacob,PQ,Uangle,U); %<25><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̣<EFBFBD><CCA3><EFBFBD><EFBFBD>µ<EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>
else
disp(['<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ',num2str(i),'<27><>']);
break %<25><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3BEAB>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
end
end
Volt0=U;
UAngel0=Uangle;
[dispLineloss0 dispTransloss0]=Lineloss(Linei,Linej,Liner,Linex,Lineb,Transfori,Transforj,Transforr,Transforx,Branchi,Branchg,Branchb,Transfork0,Volt0,UAngel0);
[dispLineloss dispTransloss]=Lineloss(Linei,Linej,Liner,Linex,Lineb,Transfori,Transforj,Transforr,Transforx,Branchi,Branchg,Branchb,Transfork0,Volt,UAngel);
t1=(dispLineloss0(:,3) - dispLineloss(:,3))./dispLineloss0(:,3);
t2=(dispTransloss0(:,3) - dispTransloss(:,3))./dispTransloss0(:,3);
t11=dispLineloss0(:,3)>1e-5;% ̫С<CCAB><D0A1>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
t22=dispTransloss0(:,3)>1e-5;% ̫С<CCAB><D0A1>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
t3=abs([t1(t11);t2(t22)]);
output_args=max(t3(t3~=Inf));
end