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);
|
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);
|
[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=(Init_L'*Init_Z-Init_U'*Init_W);+max(abs(deltX));
|
||||||
% Gap=max([max(abs(Mat_H)),max(Lz),max(Lw) ]);
|
% 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;
|
KK=KK+1;
|
||||||
end
|
end
|
||||||
calcuTime=0;
|
calcuTime=0;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
2222
|
222
|
||||||
1.0179 0.5017 0.5017
|
1.0179 0.5017 0.5017
|
||||||
0.5017 1.0179 0.5017
|
0.5017 1.0179 0.5017
|
||||||
0.5017 0.5017 1.0179
|
0.5017 0.5017 1.0179
|
||||||
|
|
@ -11,7 +11,7 @@
|
||||||
-1.9958 5.9597 -0.7417
|
-1.9958 5.9597 -0.7417
|
||||||
-1.2595 -0.7417 5.6386
|
-1.2595 -0.7417 5.6386
|
||||||
0
|
0
|
||||||
222
|
2222
|
||||||
0.3465 0.1560 0.1560
|
0.3465 0.1560 0.1560
|
||||||
0.1560 0.3465 0.1560
|
0.1560 0.3465 0.1560
|
||||||
0.1560 0.1560 0.3465
|
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
|
close all
|
||||||
clc
|
clc
|
||||||
clear
|
clear
|
||||||
lineZ=readLineZ('modified-feeder69\lineParameter.txt');
|
lineZ=readLineZ('feeder104\lineParameter.txt');
|
||||||
[ fsY0, fsY1, fsY2,phaseASpotLoadP,phaseBSpotLoadP,phaseCSpotLoadP ...
|
[ fsY0, fsY1, fsY2,phaseASpotLoadP,phaseBSpotLoadP,phaseCSpotLoadP ...
|
||||||
phaseASpotLoadQ,phaseBSpotLoadQ,phaseCSpotLoadQ,setIJ,nodeNum,Balance,phaseABCY ...
|
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)
|
% for I=1:length(phaseASpotLoadP)
|
||||||
% roll=mod(round(rand()*10),3);
|
% roll=mod(round(rand()*10),3);
|
||||||
|
|
@ -431,8 +431,9 @@ for II=1:3
|
||||||
dI_F=100000000000000;
|
dI_F=100000000000000;
|
||||||
if II==1
|
if II==1
|
||||||
% fprintf('正序\n');
|
% 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;
|
totalTime1=calcuTime;
|
||||||
|
interation1=KK;
|
||||||
fprintf('正序时间%f\n',totalTime1);
|
fprintf('正序时间%f\n',totalTime1);
|
||||||
V1r1=V1r;
|
V1r1=V1r;
|
||||||
end
|
end
|
||||||
|
|
@ -440,14 +441,16 @@ for II=1:3
|
||||||
% while 0
|
% while 0
|
||||||
if II==2
|
if II==2
|
||||||
fprintf('负序\n');
|
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;
|
totalTime2=calcuTime;
|
||||||
|
interation2=KK;
|
||||||
fprintf('负序时间%f\n',totalTime2);
|
fprintf('负序时间%f\n',totalTime2);
|
||||||
end
|
end
|
||||||
if II==3
|
if II==3
|
||||||
fprintf('零序\n');
|
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;
|
totalTime0=calcuTime;
|
||||||
|
interation0=KK;
|
||||||
fprintf('零序时间%f\n',totalTime0);
|
fprintf('零序时间%f\n',totalTime0);
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
13
test.m
13
test.m
|
|
@ -18,10 +18,13 @@ eV2Sum=0;
|
||||||
eV0Sum=0;
|
eV0Sum=0;
|
||||||
eI2Sum=0;
|
eI2Sum=0;
|
||||||
eI0Sum=0;
|
eI0Sum=0;
|
||||||
|
interation1Sum=0;
|
||||||
|
interation2Sum=0;
|
||||||
|
interation0Sum=0;
|
||||||
N=200;
|
N=200;
|
||||||
loopN=1;
|
loopN=1;
|
||||||
while 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
|
if isConverged==0
|
||||||
continue
|
continue
|
||||||
end
|
end
|
||||||
|
|
@ -41,7 +44,9 @@ while 1
|
||||||
eV0Sum=eV0Sum+eV0;
|
eV0Sum=eV0Sum+eV0;
|
||||||
eI2Sum=eI2Sum+eI2;
|
eI2Sum=eI2Sum+eI2;
|
||||||
eI0Sum=eI0Sum+eI0;
|
eI0Sum=eI0Sum+eI0;
|
||||||
|
interation1Sum=interation1Sum+interation1;
|
||||||
|
interation2Sum=interation2Sum+interation2;
|
||||||
|
interation0Sum=interation0Sum+interation0;
|
||||||
%ʱ¼ä
|
%ʱ¼ä
|
||||||
totalTime1Sum=totalTime1Sum+totalTime1;
|
totalTime1Sum=totalTime1Sum+totalTime1;
|
||||||
totalTime2Sum=totalTime2Sum+totalTime2;
|
totalTime2Sum=totalTime2Sum+totalTime2;
|
||||||
|
|
@ -69,3 +74,7 @@ eI0Sum=eI0Sum/N;
|
||||||
totalTime1Sum=totalTime1Sum/N;
|
totalTime1Sum=totalTime1Sum/N;
|
||||||
totalTime2Sum=totalTime2Sum/N;
|
totalTime2Sum=totalTime2Sum/N;
|
||||||
totalTime0Sum=totalTime0Sum/N;
|
totalTime0Sum=totalTime0Sum/N;
|
||||||
|
|
||||||
|
interation1Sum=interation1Sum/N;
|
||||||
|
interation2Sum=interation2Sum/N;
|
||||||
|
interation0Sum=interation0Sum/N;
|
||||||
Loading…
Reference in New Issue