把电压放目标函数中,电流移除目标函数。
Signed-off-by: dugg@lab-desk <dugg@lab-desk>
This commit is contained in:
parent
ec67f3a775
commit
058671a01b
2
FormLw.m
2
FormLw.m
|
|
@ -1,5 +1,5 @@
|
|||
function Lw=FormLw(Loadi,Mat_G,Init_U)
|
||||
|
||||
upper=5*sparse(ones(length(Loadi)*1,1));
|
||||
upper=0.1*sparse(ones(length(Loadi)*1,1));
|
||||
Lw=Mat_G+Init_U-upper;
|
||||
end
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
function [ V1r,V1i,I1r,I1i ] = IPMLoop(measurement,BalI1r,BalI1i,busNum,Loadi,fsY1,Balance,Vref )
|
||||
function [ V1r,V1i,I1r,I1i ] = IPMLoop(Vmeasurement,Imeasurement,BalI1r,BalI1i,busNum,Loadi,fsY1,Balance,Vref )
|
||||
%把每个序的循环写在这个函数中。其实也就是内点法循环。
|
||||
V1r=1*ones(busNum,1);
|
||||
V1i=0*ones(busNum,1);
|
||||
|
|
@ -41,7 +41,7 @@ while(abs(Gap)>0.000001)
|
|||
%% 开始构建ddg
|
||||
ddg=func_ddg(busNum,Loadi,Init_Z,Init_W);
|
||||
%% 开始构建deltF
|
||||
deltF=func_deltF(measurement,busNum,fsY1,Loadi,V1r,V1i,I1r,I1i);
|
||||
deltF=func_deltF(Vmeasurement,Imeasurement,busNum,fsY1,Loadi,V1r,V1i,I1r,I1i);
|
||||
% deltF=0;
|
||||
%%
|
||||
Luu=Init_U.*Init_W+Init_u*ones(RestraintCount,1);
|
||||
|
|
@ -62,7 +62,7 @@ while(abs(Gap)>0.000001)
|
|||
fprintf('Gap %f\n',full(Gap));
|
||||
KK=KK+1;
|
||||
end
|
||||
f=sum(([real(measurement);imag(measurement)]-[-I1r;-I1i]).^2);
|
||||
f=sum(([real(Imeasurement);imag(Imeasurement)]-[-I1r;-I1i]).^2)+sum((real(Vmeasurement)-V1r(Loadi)).^2)+sum((real(Vmeasurement)-V1i(Loadi)).^2);
|
||||
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -1,10 +1,12 @@
|
|||
650 4.16
|
||||
0
|
||||
601 650 632 2000
|
||||
602 632 631 2000
|
||||
602 632 631 1800
|
||||
602 631 630 1700
|
||||
0
|
||||
632 30 0 0
|
||||
0
|
||||
630 80 70 60 50 40 30
|
||||
631 40 10 11 50 30 30
|
||||
632 120 120 120 110 90 90
|
||||
0
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
function deltF=func_deltF(measurement,busNum,fsY11,Loadi,V1r,V1i,I1r,I1i)
|
||||
function deltF=func_deltF(Vmeasurement,Imeasurement,busNum,fsY11,Loadi,V1r,V1i,I1r,I1i)
|
||||
%t1=PG(setdiff(PVi,Balance));
|
||||
% t2=Volt'*Volt;
|
||||
% t3=real(GB).*cos(AngleIJMat)+imag(GB).*sin(AngleIJMat);
|
||||
|
|
@ -8,8 +8,10 @@ function deltF=func_deltF(measurement,busNum,fsY11,Loadi,V1r,V1i,I1r,I1i)
|
|||
% PPG=([PQ(1),PBal])';%暂时用土办法处理一下
|
||||
%%
|
||||
deltF=[
|
||||
zeros(busNum*2,1);
|
||||
-2*( [real(measurement);imag(measurement)]-[I1r;I1i]);
|
||||
%zeros(busNum*2,1);
|
||||
sparse(Loadi,1,-2*(real(Vmeasurement)-V1r(Loadi)),busNum,1);
|
||||
sparse(Loadi,1,-2*(imag(Vmeasurement)-V1i(Loadi)),busNum,1);
|
||||
-0*( [real(Imeasurement);imag(Imeasurement)]-[I1r;I1i]);
|
||||
];
|
||||
|
||||
end
|
||||
|
|
@ -1,7 +1,10 @@
|
|||
function deltdeltF=func_deltdeltF(busNum,fsY11,Loadi)
|
||||
|
||||
deltdeltF=[
|
||||
zeros(busNum*2,busNum*2+length(Loadi)*2);
|
||||
zeros(length(Loadi)*2,busNum*2),2*eye(length(Loadi)*2);
|
||||
%zeros(busNum*2,busNum*2+length(Loadi)*2);
|
||||
sparse(Loadi,Loadi,2,busNum,busNum*2+length(Loadi)*2);
|
||||
sparse(Loadi,busNum+Loadi,2,busNum,busNum*2+length(Loadi)*2);
|
||||
zeros(length(Loadi)*2,busNum*2),0*eye(length(Loadi)*2);
|
||||
%sparse(Loadi,busNum*2+Loadi,2,busNum,busNum*2+length(Loadi)*2);
|
||||
];
|
||||
end
|
||||
14
run.m
14
run.m
|
|
@ -235,10 +235,16 @@ mIf2=-If2;
|
|||
fprintf('正序\n');
|
||||
BalI1r=real(-sum(mIf1));
|
||||
BalI1i=imag(-sum(mIf1));
|
||||
% inv(fsY11)*(mIf1);
|
||||
measurement=-mIf1(Loadi);
|
||||
[ V1r,V1i,I1r,I1i ]=IPMLoop(measurement,BalI1r,BalI1i,busNum,Loadi,fsY11,Balance,1 );
|
||||
f=sum(([real(measurement);imag(measurement)]-[-I1r;-I1i]).^2);
|
||||
%µçѹ
|
||||
mfsY11=fsY11;
|
||||
mfsY11(:,Balance)=0;
|
||||
mfsY11(Balance,:)=0;
|
||||
mfsY11=mfsY11+sparse(Balance,Balance,ones(length(Balance),1),busNum,busNum);
|
||||
mV1=inv(mfsY11)*(mIf1)+1;
|
||||
Vmeasurement=mV1(Loadi);
|
||||
Imeasurement=-mIf1(Loadi);
|
||||
[ V1r,V1i,I1r,I1i ]=IPMLoop(Vmeasurement,Imeasurement,BalI1r,BalI1i,busNum,Loadi,fsY11,Balance,1 );
|
||||
f=sum(([real(Imeasurement);imag(Imeasurement)]-[-I1r;-I1i]).^2)+sum((real(Vmeasurement)-V1r(Loadi)).^2)+sum((imag(Vmeasurement)-V1i(Loadi)).^2);
|
||||
fprintf('目标值 %f\n',full(f));
|
||||
%% 算负序的
|
||||
fprintf('负序\n');
|
||||
|
|
|
|||
Loading…
Reference in New Issue