用功率因数定QD的上限。

Signed-off-by: unknown <dmy@dmy-PC.(none)>
This commit is contained in:
unknown 2012-11-16 22:23:43 +08:00
parent 0bc157a3ba
commit 6e6e5e34d8
2 changed files with 10 additions and 4 deletions

View File

@ -1,4 +1,4 @@
function Lw=FormLw(Mat_G,Init_U,GenU,Busnum,PVQU,PD0,QD0,Loadi,KK) function Lw=FormLw(Mat_G,Init_U,GenU,Busnum,PVQU,PD,PD0,QD0,Loadi,KK,PF)
KK=999; KK=999;
%PU=GenU(:,2);% %PU=GenU(:,2);%
PU=5*ones(length(GenU(:,2)),1); PU=5*ones(length(GenU(:,2)),1);
@ -15,6 +15,7 @@ QDU=QD0(Loadi);
QDU(QDU>0)=1.200*QDU(QDU>0); QDU(QDU>0)=1.200*QDU(QDU>0);
QDU(QDU<0)=0.800*QDU(QDU<0); QDU(QDU<0)=0.800*QDU(QDU<0);
QDU(QDU==0)=0.200; QDU(QDU==0)=0.200;
%QDU=1.2*PD(Loadi).*sqrt(1 -PF.^2)./PF;
t1=([PU',QU',PDU',QDU',VoltU])'; t1=([PU',QU',PDU',QDU',VoltU])';
t2=Mat_G+Init_U'-t1; t2=Mat_G+Init_U'-t1;
Lw=t2; Lw=t2;

11
OPF.m
View File

@ -2,14 +2,16 @@ tic
clc clc
clear clear
[kmax,Precision,UAngel,Volt,Busnum,PVi,PVu,Balance,Y,Angle,P0,Q0,r,c,GB,Linei,Linej,Transfori,Transforj,GenU,GenL,GenC,PG,QG,PD,QD,CenterA,PGi,PVQU,PVQL,Liner,Linex,Lineb,Transforr,Transforx,Transfork0]= ... [kmax,Precision,UAngel,Volt,Busnum,PVi,PVu,Balance,Y,Angle,P0,Q0,r,c,GB,Linei,Linej,Transfori,Transforj,GenU,GenL,GenC,PG,QG,PD,QD,CenterA,PGi,PVQU,PVQL,Liner,Linex,Lineb,Transforr,Transforx,Transfork0]= ...
pf('ieee118.dat'); pf('ieee30.dat');
%pf('D:\Project\\\\\9223-1_0.5_120%.txt'); %pf('D:\Project\\\\\9223-1_0.5_120%.txt');
%pf('D:\Project\\\919.txt'); %pf('D:\Project\\\919.txt');
%pf('c:/file31.txt'); %pf('c:/file31.txt');
%% %%
%atan(PD(QD~=0 | PD~=0)./QD(QD~=0 | PD~=0)); Loadi=QD~=0 | PD~=0;
PF=sqrt(PD(Loadi).^2./(QD(Loadi).^2+PD(Loadi).^2))
%%
Volt; Volt;
UAngel*180/3.1415926; UAngel*180/3.1415926;
%% PG %% PG
@ -22,6 +24,7 @@ QG0=QG;
PD0=PD; PD0=PD;
QD0=QD; QD0=QD;
PDReal=PD;% PDReal=PD;%
QDReal=QD;%ÕæÖµ
%PD0(12)=PD0(12)+0.001; %PD0(12)=PD0(12)+0.001;
%% %%
PG0(Balance)=PGBal(Balance); PG0(Balance)=PGBal(Balance);
@ -71,7 +74,7 @@ while(abs(Gap)>Precision)
Mat_H=FormH(Busnum,Volt,PG,PD,QG,QD,Y,UAngel,r,c,Angle,QD_NON_ZERO,QD_NON_ZERO_IND,Loadi); Mat_H=FormH(Busnum,Volt,PG,PD,QG,QD,Y,UAngel,r,c,Angle,QD_NON_ZERO,QD_NON_ZERO_IND,Loadi);
Ly=Mat_H; Ly=Mat_H;
Lz=FormLz(Mat_G,Init_L,GenL,Busnum,PVQL,PD0,QD0,Loadi,KK); Lz=FormLz(Mat_G,Init_L,GenL,Busnum,PVQL,PD0,QD0,Loadi,KK);
Lw=FormLw(Mat_G,Init_U,GenU,Busnum,PVQU,PD0,QD0,Loadi,KK); Lw=FormLw(Mat_G,Init_U,GenU,Busnum,PVQU,PD,PD0,QD0,Loadi,KK,PF);
Lx=FormLx(deltF,deltH,Init_Y,deltG,Init_Z,Init_W); Lx=FormLx(deltF,deltH,Init_Y,deltG,Init_Z,Init_W);
YY=FormYY(Lul,Lz,Ly,Luu,Lw,Lx); YY=FormYY(Lul,Lz,Ly,Luu,Lw,Lx);
%% %%
@ -93,6 +96,8 @@ DrawGap(plotGap);
% absPDLoad=abs( (PD(Loadi)-PD0(Loadi))./PD0(Loadi) ); % absPDLoad=abs( (PD(Loadi)-PD0(Loadi))./PD0(Loadi) );
absPDLoad=abs( (PD(Loadi)-PDReal(Loadi))./PDReal(Loadi) ); absPDLoad=abs( (PD(Loadi)-PDReal(Loadi))./PDReal(Loadi) );
maxPDError=max(absPDLoad) maxPDError=max(absPDLoad)
absQDLoad=abs( (QD(Loadi)-QDReal(Loadi))./QDReal(Loadi) );
maxQDError=max(absQDLoad)
disp('index'); disp('index');
Loadi(absPDLoad==maxPDError); Loadi(absPDLoad==maxPDError);
%% 线 %% 线