parent
5f1a375fa7
commit
a740b4e4a6
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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
15
run.m
|
|
@ -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
|
||||
|
||||
|
|
|
|||
25
test.m
25
test.m
|
|
@ -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;
|
||||
|
|
@ -69,3 +74,7 @@ eI0Sum=eI0Sum/N;
|
|||
totalTime1Sum=totalTime1Sum/N;
|
||||
totalTime2Sum=totalTime2Sum/N;
|
||||
totalTime0Sum=totalTime0Sum/N;
|
||||
|
||||
interation1Sum=interation1Sum/N;
|
||||
interation2Sum=interation2Sum/N;
|
||||
interation0Sum=interation0Sum/N;
|
||||
Loading…
Reference in New Issue