添加评价迭代次数的统计。

Signed-off-by: dmy@lab <dmy@lab.lab>
This commit is contained in:
dmy@lab 2015-06-04 11:50:57 +08:00
parent 5f1a375fa7
commit a740b4e4a6
4 changed files with 32 additions and 20 deletions

View File

@ -1,4 +1,4 @@
function [ V1r,V1i,I1r,I1i,isConverged,calcuTime ] = IPMLoop(V1measurement,wV1r,wV1i,I1measurement,wI1r,wI1i,BalI1r,BalI1i,busNum,Loadi,fsY1,Balance,Vref,dI_F,flag,guessIf1,rIf1,noLoadi )
function [ V1r,V1i,I1r,I1i,isConverged,calcuTime,KK ] = IPMLoop(V1measurement,wV1r,wV1i,I1measurement,wI1r,wI1i,BalI1r,BalI1i,busNum,Loadi,fsY1,Balance,Vref,dI_F,flag,guessIf1,rIf1,noLoadi )
%
V1r=Vref*ones(busNum,1);
@ -118,7 +118,7 @@ deltG=func_deltGstate1(busNum,Loadi,boundedLoadi,I1r,I1i);
[Init_Z,Init_L,Init_W,Init_U,Init_Y,V1r,V1i,I1r,I1i]=Modification(Init_Z,Init_L,Init_W,Init_U,Init_Y,deltZ,deltL,deltW,deltU,deltX,deltY,V1r,V1i,I1r,I1i,ContrlCount,Balance,busNum,Loadi,Vref);
Gap=(Init_L'*Init_Z-Init_U'*Init_W);+max(abs(deltX));
% Gap=max([max(abs(Mat_H)),max(Lz),max(Lw) ]);
fprintf('Gap %f :%d\n',full(Gap),KK+1);
% fprintf('Gap %f :%d\n',full(Gap),KK+1);
KK=KK+1;
end
calcuTime=0;

View File

@ -1,4 +1,4 @@
2222
222
1.0179 0.5017 0.5017
0.5017 1.0179 0.5017
0.5017 0.5017 1.0179
@ -11,7 +11,7 @@
-1.9958 5.9597 -0.7417
-1.2595 -0.7417 5.6386
0
222
2222
0.3465 0.1560 0.1560
0.1560 0.3465 0.1560
0.1560 0.1560 0.3465

15
run.m
View File

@ -1,13 +1,13 @@
function [JMeasurement,AME_Volt,AME_VAngle,AME_PD,AME_QD,AME_mVolt,AME_mPD,AME_mQD,isConverged,totalTime1,totalTime2,totalTime0,eV2,eV0,eI2,eI0]=run()
function [JMeasurement,AME_Volt,AME_VAngle,AME_PD,AME_QD,AME_mVolt,AME_mPD,AME_mQD,isConverged,totalTime1,totalTime2,totalTime0,eV2,eV0,eI2,eI0,interation1,interation2,interation0]=run()
%%
%
close all
clc
clear
lineZ=readLineZ('modified-feeder69\lineParameter.txt');
lineZ=readLineZ('feeder104\lineParameter.txt');
[ fsY0, fsY1, fsY2,phaseASpotLoadP,phaseBSpotLoadP,phaseCSpotLoadP ...
phaseASpotLoadQ,phaseBSpotLoadQ,phaseCSpotLoadQ,setIJ,nodeNum,Balance,phaseABCY ...
cap]=dataRead(lineZ,'modified-feeder69\data.txt');
cap]=dataRead(lineZ,'feeder104\data1.txt');
%
% for I=1:length(phaseASpotLoadP)
% roll=mod(round(rand()*10),3);
@ -431,8 +431,9 @@ for II=1:3
dI_F=100000000000000;
if II==1
% fprintf('\n');
[ V1r,V1i,I1r,I1i,isConverged1,calcuTime ]=IPMLoop(V1measurement,wV1r,wV1i,I1measurement,wI1r,wI1i,BalI1r,BalI1i,busNum,Loadi,fsY11,Balance,1,dI_F,2,guessIf1,rIf1,noLoadi );
[ V1r,V1i,I1r,I1i,isConverged1,calcuTime,KK ]=IPMLoop(V1measurement,wV1r,wV1i,I1measurement,wI1r,wI1i,BalI1r,BalI1i,busNum,Loadi,fsY11,Balance,1,dI_F,2,guessIf1,rIf1,noLoadi );
totalTime1=calcuTime;
interation1=KK;
fprintf('%f\n',totalTime1);
V1r1=V1r;
end
@ -440,14 +441,16 @@ for II=1:3
% while 0
if II==2
fprintf('\n');
[ V2r,V2i,I2r,I2i,isConverged2,calcuTime ]=IPMLoop(V2measurement,wV2r,wV2i,I2measurement,wI2r,wI2i,BalI2r,BalI2i,busNum,Loadi,fsY22,Balance,0,dI_F,3,guessIf2,rIf2,noLoadi );
[ V2r,V2i,I2r,I2i,isConverged2,calcuTime,KK ]=IPMLoop(V2measurement,wV2r,wV2i,I2measurement,wI2r,wI2i,BalI2r,BalI2i,busNum,Loadi,fsY22,Balance,0,dI_F,3,guessIf2,rIf2,noLoadi );
totalTime2=calcuTime;
interation2=KK;
fprintf('%f\n',totalTime2);
end
if II==3
fprintf('\n');
[ V0r,V0i,I0r,I0i,isConverged0,calcuTime ]=IPMLoop(V0measurement,wV0r,wV0i,I0measurement,wI0r,wI0i,BalI0r,BalI0i,busNum,Loadi,fsY00,Balance,0,dI_F,1,guessIf0,rIf0,noLoadi );
[ V0r,V0i,I0r,I0i,isConverged0,calcuTime,KK ]=IPMLoop(V0measurement,wV0r,wV0i,I0measurement,wI0r,wI0i,BalI0r,BalI0i,busNum,Loadi,fsY00,Balance,0,dI_F,1,guessIf0,rIf0,noLoadi );
totalTime0=calcuTime;
interation0=KK;
fprintf('%f\n',totalTime0);
end

29
test.m
View File

@ -18,10 +18,13 @@ eV2Sum=0;
eV0Sum=0;
eI2Sum=0;
eI0Sum=0;
interation1Sum=0;
interation2Sum=0;
interation0Sum=0;
N=200;
loopN=1;
while 1
[JMeasurement,AME_Volt,AME_VAngle,AME_PD,AME_QD,AME_mVolt,AME_mPD,AME_mQD,isConverged,totalTime1,totalTime2,totalTime0,eV2,eV0,eI2,eI0]=run();
[JMeasurement,AME_Volt,AME_VAngle,AME_PD,AME_QD,AME_mVolt,AME_mPD,AME_mQD,isConverged,totalTime1,totalTime2,totalTime0,eV2,eV0,eI2,eI0,interation1,interation2,interation0]=run();
if isConverged==0
continue
end
@ -29,7 +32,7 @@ while 1
if loopN>N
break;
end
% [JMeasurement]=run();
% [JMeasurement]=run();
AME_VoltSum=AME_VoltSum+AME_Volt;
AME_VAngleSum=AME_VAngleSum+AME_VAngle;
AME_PDSum=AME_PDSum+AME_PD;
@ -41,14 +44,16 @@ while 1
eV0Sum=eV0Sum+eV0;
eI2Sum=eI2Sum+eI2;
eI0Sum=eI0Sum+eI0;
%ʱ¼ä
interation1Sum=interation1Sum+interation1;
interation2Sum=interation2Sum+interation2;
interation0Sum=interation0Sum+interation0;
%ʱ¼ä
totalTime1Sum=totalTime1Sum+totalTime1;
totalTime2Sum=totalTime2Sum+totalTime2;
totalTime0Sum=totalTime0Sum+totalTime0;
% totalTime1Sum=min([totalTime1Sum,totalTime1]);
% totalTime2Sum=min([totalTime2Sum,totalTime2]);
% totalTime0Sum=min([totalTime0Sum,totalTime0]);
totalTime2Sum=totalTime2Sum+totalTime2;
totalTime0Sum=totalTime0Sum+totalTime0;
% totalTime1Sum=min([totalTime1Sum,totalTime1]);
% totalTime2Sum=min([totalTime2Sum,totalTime2]);
% totalTime0Sum=min([totalTime0Sum,totalTime0]);
end
JMeasurementSum=JMeasurementSum/N;
AME_VoltSum=AME_VoltSum/N;
@ -68,4 +73,8 @@ eI0Sum=eI0Sum/N;
% totalTime0Sum=totalTime0Sum+timeOfPrepare;
totalTime1Sum=totalTime1Sum/N;
totalTime2Sum=totalTime2Sum/N;
totalTime0Sum=totalTime0Sum/N;
totalTime0Sum=totalTime0Sum/N;
interation1Sum=interation1Sum/N;
interation2Sum=interation2Sum/N;
interation0Sum=interation0Sum/N;