diff --git a/IPMLoop.m b/IPMLoop.m index 6a62c69..eaaa770 100644 --- a/IPMLoop.m +++ b/IPMLoop.m @@ -1,4 +1,5 @@ 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 ) + %把每个序的循环写在这个函数中。其实也就是内点法循环。 V1r=Vref*ones(busNum,1); V1i=0*ones(busNum,1); @@ -107,7 +108,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 toc diff --git a/calIWi.m b/calIWi.m index 7a6a787..f017232 100644 --- a/calIWi.m +++ b/calIWi.m @@ -1,8 +1,12 @@ -function [ output_args ] = calIWi( Vr,Vi,sigmaP,sigmaQ ) +function [ output_args ] = calIWi( Vr,Vi,sigmaP,sigmaQ ,P,Q) dIrdP=(Vi./(Vr.^2+Vi.^2)).^2.*(sigmaP.^2); dIrdQ=(Vr./(Vr.^2+Vi.^2)).^2.*(sigmaQ.^2); -%dIrdVr=(P.*(Vr.^2+Vi.^2)-2*(P.*Vr+Q.*Vi).*Vr)./(Vr.^2+Vi.^2); -%dIrdVr=(Q.*(Vr.^2+Vi.^2)-2*(P.*Vr+Q.*Vi).*Vi)./(Vr.^2+Vi.^2); -output_args=max(abs([dIrdP,dIrdQ]),[],2); +dIrdVr=-(Q.*(Vr.^2+Vi.^2)-2*(Q.*Vr-P.*Vi).*Vr)./(Vr.^2+Vi.^2); +dIrdVi=-(P.*(Vr.^2+Vi.^2)-2*(Q.*Vr-P.*Vi).*Vi)./(Vr.^2+Vi.^2); +% dIrdVr=(dIrdVr).^2*0.1; +% dIrdVi=(dIrdVi).^2*0.1; +dIrdVr=zeros(size(dIrdVr)); +dIrdVi=zeros(size(dIrdVi)); +output_args=max(abs([dIrdP,dIrdQ,dIrdVr,dIrdVi]),[],2); end diff --git a/calIWr.m b/calIWr.m index a4c9012..e8d1410 100644 --- a/calIWr.m +++ b/calIWr.m @@ -1,9 +1,13 @@ -function [ output_args ] = calIWr(Vr,Vi,sigmaP,sigmaQ ) +function [ output_args ] = calIWr(Vr,Vi,sigmaP,sigmaQ,P,Q ) %计算电流实部的方差 dIrdP=(Vr./(Vr.^2+Vi.^2)).^2.*(sigmaP.^2); dIrdQ=(Vi./(Vr.^2+Vi.^2)).^2.*(sigmaQ.^2); -%dIrdVr=(P.*(Vr.^2+Vi.^2)-2*(P.*Vr+Q.*Vi).*Vr)./(Vr.^2+Vi.^2); -%dIrdVr=(Q.*(Vr.^2+Vi.^2)-2*(P.*Vr+Q.*Vi).*Vi)./(Vr.^2+Vi.^2); -output_args=max(abs([dIrdP,dIrdQ]),[],2); +dIrdVr=(P.*(Vr.^2+Vi.^2)-2*(P.*Vr+Q.*Vi).*Vr)./(Vr.^2+Vi.^2); +% dIrdVr=(dIrdVr).^2.*0.1; +dIrdVi=(Q.*(Vr.^2+Vi.^2)-2*(P.*Vr+Q.*Vi).*Vi)./(Vr.^2+Vi.^2); +% dIrdVi=(dIrdVi).^2.*0.1; +dIrdVr=zeros(size(dIrdVr)); +dIrdVi=zeros(size(dIrdVi)); +output_args=max(abs([dIrdP,dIrdQ,dIrdVr,dIrdVi]),[],2); end diff --git a/func_deltF.m b/func_deltF.m index e94101f..6dd956c 100644 --- a/func_deltF.m +++ b/func_deltF.m @@ -7,10 +7,10 @@ function deltF=func_deltF(V1measurement,wV1r,wV1i,I1measurement,wI1r,wI1i,busNum % PBal=t5(Balance); % PPG=([PQ(1),PBal])';%暂时用土办法处理一下 -% wV1r=1000*ones(length(wV1r),1); -% wV1i=1000*ones(length(wV1i),1); -% wI1r=3300*ones(length(wI1r),1); -% wI1i=3300*ones(length(wI1i),1); +% wV1r=(0.01)^2.*ones(length(wV1r),1); +% wV1i=(0.01)^2.*ones(length(wV1i),1); +% wI1r=(0.03)^2.*ones(length(wI1r),1); +% wI1i=(0.03)^2.*ones(length(wI1i),1); %% deltF=[ diff --git a/func_deltdeltF.m b/func_deltdeltF.m index ef0f2a7..aa1605e 100644 --- a/func_deltdeltF.m +++ b/func_deltdeltF.m @@ -1,13 +1,18 @@ function deltdeltF=func_deltdeltF(busNum,fsY11,Loadi,wV1r,wV1i,wI1r,wI1i,V1measurement,V1r,V1i) -% wV1r=1000*ones(length(wV1r),1); -% wV1i=1000*ones(length(wV1i),1); -% wI1r=3300*ones(length(wI1r),1); -% wI1i=3300*ones(length(wI1i),1); +% wV1r=(0.01)^2*ones(length(wV1r),1); +% wV1i=(0.01)^2*ones(length(wV1i),1); +% wI1r=(0.03)^2*ones(length(wI1r),1); +% wI1i=(0.03)^2*ones(length(wI1i),1); +W2=wV1r.*wV1r; +t1=-2*V1r(Loadi).*V1r(Loadi)+ abs(V1measurement).^2; +t2=-(V1r(Loadi).^2+ V1i(Loadi).^2); +ttt=-4*(t1+t2 )./W2; +t3=-4*V1r(Loadi).*( -2*V1i(Loadi))./W2; deltdeltF=[ %zeros(busNum*2,busNum*2+length(Loadi)*2); - sparse(Loadi,Loadi,-4*( -2*V1r(Loadi).*V1r(Loadi)+ abs(V1measurement).^2-(V1r(Loadi).^2+ V1i(Loadi).^2) )./[wV1r.*wV1r],busNum,busNum),sparse(Loadi,Loadi+busNum,-4*V1r(Loadi).*( -2*V1i(Loadi))./[wV1r.*wV1r],busNum,busNum+length(Loadi)*2); - sparse(Loadi,Loadi,-4*V1i(Loadi).*( -2*V1r(Loadi))./[wV1i.*wV1i],busNum,busNum),sparse(Loadi,Loadi+busNum,-4*( -2*V1i(Loadi).*V1i(Loadi)+ abs(V1measurement).^2-(V1r(Loadi).^2+ V1i(Loadi).^2) )./[wV1i.*wV1i],busNum,busNum+length(Loadi)*2); - zeros(length(Loadi)*2,busNum*2),2*eye(length(Loadi)*2)*diag(1./[wI1r.^2;wI1i.^2]); + sparse(Loadi,Loadi,ttt,busNum,busNum),sparse(Loadi,Loadi+busNum,t3,busNum,busNum+length(Loadi)*2); + sparse(Loadi,Loadi,-4*V1i(Loadi).*( -2*V1r(Loadi))./W2,busNum,busNum),sparse(Loadi,Loadi+busNum,-4*( -2*V1i(Loadi).*V1i(Loadi)+ abs(V1measurement).^2-(V1r(Loadi).^2+ V1i(Loadi).^2) )./W2,busNum,busNum+length(Loadi)*2); + sparse(length(Loadi)*2,busNum*2),2*eye(length(Loadi)*2)*diag(1./[wI1r.^2;wI1i.^2]); %sparse(Loadi,busNum*2+Loadi,2,busNum,busNum*2+length(Loadi)*2); ]; end \ No newline at end of file diff --git a/lineWithConfig.m b/lineWithConfig.m index b810d2d..73dd7c7 100644 --- a/lineWithConfig.m +++ b/lineWithConfig.m @@ -11,7 +11,9 @@ if isempty(entry) fprintf('warning: line type %d not found.\n',config) return; end -phase3R=0.5*lineZ(entry+1:entry+3,:); +% phase3R=lineZ(entry+1:entry+3,:)*2; +% phase3X=lineZ(entry+5:entry+7,:)/2; +phase3R=lineZ(entry+1:entry+3,:); phase3X=lineZ(entry+5:entry+7,:); phase3B2=lineZ(entry+9:entry+11,:); phase3Z=phase3R+1j*phase3X; diff --git a/modified-feeder138/data.txt b/modified-feeder138/data.txt new file mode 100644 index 0000000..f2feb31 --- /dev/null +++ b/modified-feeder138/data.txt @@ -0,0 +1,270 @@ +1000 12.66 +0 +222 1000 1 1 +222 1 2 1 +222 2 3 3 +222 3 4 50 +222 4 5 730 +222 5 6 760 +222 6 7 185 +222 7 8 99 +222 8 9 1638 +222 9 10 374 +222 10 11 1442 +222 11 12 2060 +222 12 13 2088 +222 13 14 2116 +222 14 15 393 +222 15 16 748 +222 16 17 10 +222 17 18 655 +222 18 19 421 +222 19 20 683 +222 20 21 28 +222 21 22 318 +222 22 23 692 +222 23 24 1497 +222 24 25 617 +222 25 26 346 +222 2 27 9 +222 27 28 128 +222 28 29 795 +222 29 30 140 +222 30 31 702 +222 31 32 1678 +222 32 33 3416 +222 33 34 2948 +222 2 277 9 +222 277 288 128 +222 288 65 210 +222 65 66 60 +222 66 67 4 +222 67 68 1456 +222 68 69 620 +222 69 70 82 +222 70 88 18 +222 88 89 217 +222 89 90 2 +222 3 35 7 +222 35 36 172 +222 36 37 580 +222 37 38 164 +222 7 40 185 +222 40 41 663 +222 8 42 384 +222 42 43 406 +222 43 44 567 +222 44 45 562 +222 45 46 3180 +222 46 47 1567 +222 47 48 608 +222 48 49 772 +222 49 50 1015 +222 50 51 194 +222 51 52 290 +222 52 53 1421 +222 53 54 2082 +222 10 55 402 +222 55 56 9 +222 11 57 1478 +222 57 58 9 +222 1000 1001 1 +222 1001 1002 1 +222 1002 1003 3 +222 1003 1004 50 +222 1004 1005 730 +222 1005 1006 760 +222 1006 1007 185 +222 1007 1008 99 +222 1008 1009 1638 +222 1009 1010 374 +222 1010 1011 1442 +222 1011 1012 2060 +222 1012 1013 2088 +222 1013 1014 2116 +222 1014 1015 393 +222 1015 1016 748 +222 1016 1017 10 +222 1017 1018 655 +222 1018 1019 421 +222 1019 1020 683 +222 1020 1021 28 +222 1021 1022 318 +222 1022 1023 692 +222 1023 1024 1497 +222 1024 1025 617 +222 1025 1026 346 +222 1002 1027 9 +222 1027 1028 128 +222 1028 1029 795 +222 1029 1030 140 +222 1030 1031 702 +222 1031 1032 1678 +222 1032 1033 3416 +222 1033 1034 2948 +222 1002 1277 9 +222 1277 1288 128 +222 1288 1065 210 +222 1065 1066 60 +222 1066 1067 4 +222 1067 1068 1456 +222 1068 1069 620 +222 1069 1070 82 +222 1070 1088 18 +222 1088 1089 217 +222 1089 1090 2 +222 1003 1035 7 +222 1035 1036 172 +222 1036 1037 580 +222 1037 1038 164 +222 1007 1040 185 +222 1040 1041 663 +222 1008 1042 384 +222 1042 1043 406 +222 1043 1044 567 +222 1044 1045 562 +222 1045 1046 3180 +222 1046 1047 1567 +222 1047 1048 608 +222 1048 1049 772 +222 1049 1050 1015 +222 1050 1051 194 +222 1051 1052 290 +222 1052 1053 1421 +222 1053 1054 2082 +222 1010 1055 402 +222 1055 1056 9 +222 1011 1057 1478 +222 1057 1058 9 +0 +692 0 0 0 +0 +5 36.2 34.9 36.1 34.8 36.3 35 +6 51.5 48 51.4 47.9 51.6 48.1 +7 25 18 24.9 17.9 25.1 18.1 +8 48 45.3 47.9 45.2 48.1 45.4 +9 36.9 33.9 36.8 33.8 37 34 +10 48.3 34.7 48.2 34.6 48.4 34.8 +11 48.3 34.7 48.2 34.6 48.4 34.8 +12 9.33 5.17 9.23 5.07 9.43 5.27 +13 9.33 5.17 9.23 5.07 9.43 5.27 +15 15.2 10 15.1 99 15.3 10.1 +16 58 49.7 57.9 49.6 58.1 49.8 +17 20 11.7 19.9 11.6 20.1 11.8 +19 37.7 36.3 37.6 36.2 37.8 36.4 +20 38 2.7 37.9 26.9 38.1 27.1 +21 46.4 45.8 46.3 45.7 46.5 45.9 +23 47.3 44.7 47.2 44.6 47.4 44.8 +25 32.2 30.9 32.1 30.8 32.3 31 +26 32.2 30.9 32.1 30.8 32.3 31 +27 8.67 6.2 8.57 6.1 8.77 6.3 +28 36.2 33.7 36.1 33.6 36.3 33.8 +277 46.7 44.2 46.6 44.1 46.8 44.3 +288 8.67 6.18 8.57 6.08 8.77 6.28 +32 4.67 3.33 4.57 3.23 4.77 3.43 +33 44.5 42.7 44.4 42.6 44.6 42.8 +34 32.9 33.2 32.8 32.1 33 32.3 +36 64.3 56.8 64.2 56.7 64.4 56.9 +37 128 91.5 12.8 91.4 12.8 91.6 +38 128 91.5 12.8 91.4 12.8 91.6 +40 43.5 39.4 43.4 39.3 43.6 39.5 +41 45.5 42.2 45.4 42.1 45.6 42.3 +42 31.5 31.2 31.4 31.1 31.6 31.3 +43 46.8 44.3 46.7 44.2 46.9 44.4 +44 8 5.73 7.9 5.63 8.1 5.83 +48 33.3 24 33.2 23.9 33.4 24.1 +50 415 296 415 296 415 296 +51 78.7 75.7 78.6 75.6 78.8 75.8 +53 75.7 54 75.6 53.9 75.8 54.1 +54 87.7 82 87.6 81.9 87.8 82.1 +55 74 72.3 73.9 72.2 74.1 72.4 +56 36 34.3 35.9 34.2 36.1 34.4 +57 39.3 36.7 39.2 36.6 39.4 36.8 +58 80.3 77.7 80.2 77.6 80.4 77.8 +70 43.3 42.8 43.2 42.7 43.4 42.9 +89 13.1 8.77 13 86.7 13.2 8.87 +90 51.1 46.8 51 46.7 51.2 46.9 +66 35.5 33.2 35.4 33.1 35.6 33.3 +67 35.5 33.2 35.4 33.1 35.6 33.3 +68 7.07 3.67 6.97 3.57 7.17 3.77 +1005 36.2 34.9 36.1 34.8 36.3 35 +1006 51.5 48 51.4 47.9 51.6 48.1 +1007 25 18 24.9 17.9 25.1 18.1 +1008 48 45.3 47.9 45.2 48.1 45.4 +1009 36.9 33.9 36.8 33.8 37 34 +1010 48.3 34.7 48.2 34.6 48.4 34.8 +1011 48.3 34.7 48.2 34.6 48.4 34.8 +1012 9.33 5.17 9.23 5.07 9.43 5.27 +1013 9.33 5.17 9.23 5.07 9.43 5.27 +1015 15.2 10 15.1 99 15.3 10.1 +1016 58 49.7 57.9 49.6 58.1 49.8 +1017 20 11.7 19.9 11.6 20.1 11.8 +1019 37.7 36.3 37.6 36.2 37.8 36.4 +1020 38 2.7 37.9 26.9 38.1 27.1 +1021 46.4 45.8 46.3 45.7 46.5 45.9 +1023 47.3 44.7 47.2 44.6 47.4 44.8 +1025 32.2 30.9 32.1 30.8 32.3 31 +1026 32.2 30.9 32.1 30.8 32.3 31 +1027 8.67 6.2 8.57 6.1 8.77 6.3 +1028 36.2 33.7 36.1 33.6 36.3 33.8 +1277 46.7 44.2 46.6 44.1 46.8 44.3 +1288 8.67 6.18 8.57 6.08 8.77 6.28 +1032 4.67 3.33 4.57 3.23 4.77 3.43 +1033 44.5 42.7 44.4 42.6 44.6 42.8 +1034 32.9 33.2 32.8 32.1 33 32.3 +1036 64.3 56.8 64.2 56.7 64.4 56.9 +1037 128 91.5 12.8 91.4 12.8 91.6 +1038 128 91.5 12.8 91.4 12.8 91.6 +1040 43.5 39.4 43.4 39.3 43.6 39.5 +1041 45.5 42.2 45.4 42.1 45.6 42.3 +1042 31.5 31.2 31.4 31.1 31.6 31.3 +1043 46.8 44.3 46.7 44.2 46.9 44.4 +1044 8 5.73 7.9 5.63 8.1 5.83 +1048 33.3 24 33.2 23.9 33.4 24.1 +1050 415 296 415 296 415 296 +1051 78.7 75.7 78.6 75.6 78.8 75.8 +1053 75.7 54 75.6 53.9 75.8 54.1 +1054 87.7 82 87.6 81.9 87.8 82.1 +1055 74 72.3 73.9 72.2 74.1 72.4 +1056 36 34.3 35.9 34.2 36.1 34.4 +1057 39.3 36.7 39.2 36.6 39.4 36.8 +1058 80.3 77.7 80.2 77.6 80.4 77.8 +1070 43.3 42.8 43.2 42.7 43.4 42.9 +1089 13.1 8.77 13 86.7 13.2 8.87 +1090 51.1 46.8 51 46.7 51.2 46.9 +1066 35.5 33.2 35.4 33.1 35.6 33.3 +1067 35.5 33.2 35.4 33.1 35.6 33.3 +1068 7.07 3.67 6.97 3.57 7.17 3.77 +0 +600 632 645 500 +602 632 633 500 +601 633 634 600 +600 645 646 300 +601 650 632 2000 +602 684 652 800 +601 632 671 2000 +600 671 684 300 +602 671 680 1000 +600 671 692 300 +602 684 611 300 +601 692 675 500 +0 +632 0 0 0 +0 +634 160 110 120 90 120 90 +645 123 102 170 125 133 110 +646 172 150 230 132 0 211 160 +652 128 86 30 10 80 70 +671 385 220 385 220 385 220 +675 485 190 68 60 290 212 +692 142 140 153 121 170 151 +611 156 142 185 60 170 80 +0 +634 160 110 120 90 120 90 +645 123 102 170 125 133 110 +646 17 15 23 13 21 16 +652 128 86 30 10 80 70 +675 85 10 68 60 20 12 +611 52 42 85 60 70 40 +680 12 4 10 6 7 4 + diff --git a/modified-feeder138/feeder69.txt b/modified-feeder138/feeder69.txt new file mode 100644 index 0000000..7a2d917 --- /dev/null +++ b/modified-feeder138/feeder69.txt @@ -0,0 +1,172 @@ +69 68 1 1.00E-06 9 +0 +1 1 1 +0 +1 1 2 3.12E-06 1.50E-05 0 0 +2 2 3 3.12E-06 1.50E-05 0 0 +3 3 4 9.36E-06 4.49E-05 0 0 +4 4 5 0.001566052 0.000366868 0 0 +5 5 6 0.002283567 0.002325993 0 0 +6 6 7 0.002377155 0.002422078 0 0 +7 7 8 0.000575259 5.86E-05 0 0 +8 8 9 0.000307595 0.00031321 0 0 +9 9 10 0.005109948 0.003377932 0 0 +10 10 11 0.001167988 0.00077242 0 0 +11 11 12 0.004438605 0.002933697 0 0 +12 12 13 0.00642643 0.004242692 0 0 +13 13 14 0.00651378 0.004305084 0 0 +14 14 15 0.00660113 0.004362486 0 0 +15 15 16 0.001226637 0.000811103 0 0 +16 16 17 0.002354694 0.001544839 0 0 +17 17 18 2.93E-05 2.00E-05 0 0 +18 18 19 0.002043979 0.001351422 0 0 +19 19 20 0.001313987 0.000861017 0 0 +20 20 21 0.002131329 0.001408823 0 0 +21 21 22 8.73E-05 5.74E-05 0 0 +22 22 23 0.000992665 0.000656369 0 0 +23 23 24 0.002160653 0.001428789 0 0 +24 24 25 0.004671953 0.00308843 0 0 +25 25 26 0.001927305 0.001274055 0 0 +26 26 27 0.001080639 0.000713771 0 0 +27 3 28 2.75E-05 0.000134768 0 0 +28 28 29 0.000399312 0.001952886 0 0 +29 29 30 0.002481975 0.001640924 0 0 +30 30 31 0.000437996 0.000289501 0 0 +31 31 32 0.002189978 0.001447507 0 0 +32 32 33 0.005234733 0.003513947 0 0 +33 33 34 0.010656644 0.007045364 0 0 +34 34 35 0.009196659 0.006080776 0 0 +35 3 36 2.75E-05 0.000134768 0 0 +36 36 37 0.000399312 0.001952886 0 0 +37 37 38 0.000656993 0.001534856 0 0 +38 38 39 0.000189673 0.000442987 0 0 +39 39 40 1.12E-05 2.62E-05 0 0 +40 40 41 0.004544048 0.010617961 0 0 +41 41 42 0.001934168 0.004520963 0 0 +42 42 43 0.000255809 0.000596473 0 0 +43 43 44 5.74E-05 0.000144751 0 0 +44 44 45 0.000679455 0.001713299 0 0 +45 45 46 5.62E-06 1.50E-05 0 0 +46 4 47 2.12E-05 0.000104819 0 0 +47 47 48 0.00053096 0.002599273 0 0 +48 48 49 0.001808135 0.008848508 0 0 +49 49 50 0.000512867 0.002509428 0 0 +50 8 51 0.000579003 0.000590233 0 0 +51 51 52 0.002070808 0.001390106 0 0 +52 9 53 0.00108563 0.001105596 0 0 +53 53 54 0.001266568 0.001290277 0 0 +54 54 55 0.001773196 0.00180564 0 0 +55 55 56 0.001755102 0.00178817 0 0 +56 56 57 0.009920412 0.006659779 0 0 +57 57 58 0.004952095 0.003281847 0 0 +58 58 59 0.001897981 0.001255338 0 0 +59 59 60 0.002408976 0.001462481 0 0 +60 60 61 0.003166421 0.003225694 0 0 +61 61 62 0.000607703 0.000618934 0 0 +62 62 63 0.000904692 0.000920914 0 0 +63 63 64 0.004432989 0.004515971 0 0 +64 64 65 0.006495062 0.006616104 0 0 +65 11 66 0.001255338 0.000762437 0 0 +66 66 67 2.93E-05 1.75E-05 0 0 +67 12 68 0.004613304 0.003049747 0 0 +68 68 69 2.93E-05 2.00E-05 0 0 +0 +0 +0 +0 +0 +0 A A B B C C +1 -1 1 0 0 0 0 0 0 +2 -1 2 0 0 0 0 0 0 +3 -1 3 0 0 0 0 0 0 +4 -1 4 0 0 0 0 0 0 +5 -1 5 0 0 0.0362 0.0349 0.0361 0.0348 0.0363 0.035 0 0 0 0 +6 -1 6 0 0 0.0515 0.048 0.0514 0.0479 0.0516 0.0481 0.0026 0.0022 0 0 +7 -1 7 0 0 0.025 0.018 0.0249 0.0179 0.0251 0.0181 0.0404 0.03 0 0 +8 -1 8 0 0 0.048 0.0453 0.0479 0.0452 0.0481 0.0454 0.075 0.054 0 0 +9 -1 9 0 0 0.0369 0.0339 0.0368 0.0338 0.037 0.034 0.03 0.022 0 0 +10 -1 10 0 0 0.0483 0.0347 0.0482 0.0346 0.0484 0.0348 0.028 0.019 0 0 +11 -1 11 0 0 0.0483 0.0347 0.0482 0.0346 0.0484 0.0348 0.145 0.104 0 0 +12 -1 12 0 0 0.00933 0.00517 0.00923 0.00507 0.00943 0.00527 0.145 0.104 0 0 +13 -1 13 0 0 0.00933 0.00517 0.00923 0.00507 0.00943 0.00527 0.008 0.005 0 0 +14 -1 14 0 0 0.008 0.0055 0 0 +15 -1 15 0 0 0.0152 0.01 0.0151 0.099 0.0153 0.0101 0 0 0 0 +16 -1 16 0 0 0.058 0.0497 0.0579 0.0496 0.0581 0.0498 0.0455 0.03 0 0 +17 -1 17 0 0 0.02 0.0117 0.0199 0.0116 0.0201 0.0118 0.06 0.035 0 0 +18 -1 18 0 0 0.06 0.035 0 0 +19 -1 19 0 0 0.0377 0.0363 0.0376 0.0362 0.0378 0.0364 0 0 0 0 +20 -1 20 0 0 0.0464 0.0458 0.0463 0.0457 0.0465 0.0459 0.001 0.0006 0 0 +21 -1 21 0 0 0.0464 0.0458 0.0463 0.0457 0.0465 0.0459 0.114 0.081 0 0 +22 -1 22 0 0 0.005 0.0035 0 0 +23 -1 23 0 0 0.0473 0.0447 0.0472 0.0446 0.0474 0.0448 0 0 0 0 +24 -1 24 0 0 0.028 0.02 0 0 +25 -1 25 0 0 0.0322 0.0309 0.0321 0.0308 0.0323 0.031 0 0 0 0 +26 -1 26 0 0 0.0322 0.0309 0.0321 0.0308 0.0323 0.031 0.014 0.01 0 0 +27 -1 27 0 0 0.014 0.01 0 0 +28 -1 28 0 0 0.026 0.0186 0 0 +29 -1 29 0 0 0.026 0.0186 0 0 +30 -1 30 0 0 0 0 0 0 +31 -1 31 0 0 0 0 0 0 +32 -1 32 0 0 0 0 0 0 +33 -1 33 0 0 0.014 0.01 0 0 +34 -1 34 0 0 0.0195 0.014 0 0 +35 -1 35 0 0 0.006 0.004 0 0 +36 -1 36 0 0 0.026 0.01855 0 0 +37 -1 37 0 0 0.026 0.01855 0 0 +38 -1 38 0 0 0 0 0 0 +39 -1 39 0 0 0.024 0.017 0 0 +40 -1 40 0 0 0.024 0.017 0 0 +41 -1 41 0 0 0.0012 0.001 0 0 +42 -1 42 0 0 0 0 0 0 +43 -1 43 0 0 0.006 0.0043 0 0 +44 -1 44 0 0 0 0 0 0 +45 -1 45 0 0 0.03922 0.0266 0 0 +46 -1 46 0 0 0.03922 0.0263 0 0 +47 -1 47 0 0 0 0 0 0 +48 -1 48 0 0 0.079 0.0564 0 0 +49 -1 49 0 0 0.3847 0.2745 0 0 +50 -1 50 0 0 0.3847 0.2744 0 0 +51 -1 51 0 0 0.0405 0.0283 0 0 +52 -1 52 0 0 0.0036 0.0027 0 0 +53 -1 53 0 0 0.00435 0.0035 0 0 +54 -1 54 0 0 0.0264 0.019 0 0 +55 -1 55 0 0 0.024 0.0172 0 0 +56 -1 56 0 0 0 0 0 0 +57 -1 57 0 0 0 0 0 0 +58 -1 58 0 0 0 0 0 0 +59 -1 59 0 0 0.1 0.072 0 0 +60 -1 60 0 0 0 0 0 0 +61 -1 61 0 0 1.244 0.888 0 0 +62 -1 62 0 0 0.032 0.023 0 0 +63 -1 63 0 0 0 0 0 0 +64 -1 64 0 0 0.227 0.162 0 0 +65 -1 65 0 0 0.059 0.042 0 0 +66 -1 66 0 0 0.018 0.013 0 0 +67 -1 67 0 0 0.018 0.013 0 0 +68 -1 68 0 0 0.028 0.02 0 0 +69 -1 69 0 0 0.028 0.02 0 0 +0 +1 1 1 1 0 0 0 0 +0 1 0 +0 +1 1 1 1 1 +0 -1 1 +0 +1 1 0.999 1.001 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 diff --git a/modified-feeder138/feeder69.xlsx b/modified-feeder138/feeder69.xlsx new file mode 100644 index 0000000..f951c26 Binary files /dev/null and b/modified-feeder138/feeder69.xlsx differ diff --git a/modified-feeder138/feeder69ieee.txt b/modified-feeder138/feeder69ieee.txt new file mode 100644 index 0000000..dbb9240 --- /dev/null +++ b/modified-feeder138/feeder69ieee.txt @@ -0,0 +1,166 @@ +69 68 1 20 0.1 +1.00E-06 2 +1 1 +0 +1 1 2 3.12E-06 1.50E-05 0 0 +2 2 3 3.12E-06 1.50E-05 0 0 +3 3 4 9.36E-06 4.49E-05 0 0 +4 4 5 0.001566052 0.000366868 0 0 +5 5 6 0.002283567 0.002325993 0 0 +6 6 7 0.002377155 0.002422078 0 0 +7 7 8 0.000575259 5.86E-05 0 0 +8 8 9 0.000307595 0.00031321 0 0 +9 9 10 0.005109948 0.003377932 0 0 +10 10 11 0.001167988 0.00077242 0 0 +11 11 12 0.004438605 0.002933697 0 0 +12 12 13 0.00642643 0.004242692 0 0 +13 13 14 0.00651378 0.004305084 0 0 +14 14 15 0.00660113 0.004362486 0 0 +15 15 16 0.001226637 0.000811103 0 0 +16 16 17 0.002354694 0.001544839 0 0 +17 17 18 2.93E-05 2.00E-05 0 0 +18 18 19 0.002043979 0.001351422 0 0 +19 19 20 0.001313987 0.000861017 0 0 +20 20 21 0.002131329 0.001408823 0 0 +21 21 22 8.73E-05 5.74E-05 0 0 +22 22 23 0.000992665 0.000656369 0 0 +23 23 24 0.002160653 0.001428789 0 0 +24 24 25 0.004671953 0.00308843 0 0 +25 25 26 0.001927305 0.001274055 0 0 +26 26 27 0.001080639 0.000713771 0 0 +27 3 28 2.75E-05 0.000134768 0 0 +28 28 29 0.000399312 0.001952886 0 0 +29 29 30 0.002481975 0.001640924 0 0 +30 30 31 0.000437996 0.000289501 0 0 +31 31 32 0.002189978 0.001447507 0 0 +32 32 33 0.005234733 0.003513947 0 0 +33 33 34 0.010656644 0.007045364 0 0 +34 34 35 0.009196659 0.006080776 0 0 +35 3 36 2.75E-05 0.000134768 0 0 +36 36 37 0.000399312 0.001952886 0 0 +37 37 38 0.000656993 0.001534856 0 0 +38 38 39 0.000189673 0.000442987 0 0 +39 39 40 1.12E-05 2.62E-05 0 0 +40 40 41 0.004544048 0.010617961 0 0 +41 41 42 0.001934168 0.004520963 0 0 +42 42 43 0.000255809 0.000596473 0 0 +43 43 44 5.74E-05 0.000144751 0 0 +44 44 45 0.000679455 0.001713299 0 0 +45 45 46 5.62E-06 1.50E-05 0 0 +46 4 47 2.12E-05 0.000104819 0 0 +47 47 48 0.00053096 0.002599273 0 0 +48 48 49 0.001808135 0.008848508 0 0 +49 49 50 0.000512867 0.002509428 0 0 +50 8 51 0.000579003 0.000590233 0 0 +51 51 52 0.002070808 0.001390106 0 0 +52 9 53 0.00108563 0.001105596 0 0 +53 53 54 0.001266568 0.001290277 0 0 +54 54 55 0.001773196 0.00180564 0 0 +55 55 56 0.001755102 0.00178817 0 0 +56 56 57 0.009920412 0.006659779 0 0 +57 57 58 0.004952095 0.003281847 0 0 +58 58 59 0.001897981 0.001255338 0 0 +59 59 60 0.002408976 0.001462481 0 0 +60 60 61 0.003166421 0.003225694 0 0 +61 61 62 0.000607703 0.000618934 0 0 +62 62 63 0.000904692 0.000920914 0 0 +63 63 64 0.004432989 0.004515971 0 0 +64 64 65 0.006495062 0.006616104 0 0 +65 11 66 0.001255338 0.000762437 0 0 +66 66 67 2.93E-05 1.75E-05 0 0 +67 12 68 0.004613304 0.003049747 0 0 +68 68 69 2.93E-05 2.00E-05 0 0 +0 +0 +0 +1 0 0 0 0 +2 0 0 0 0 +3 0 0 0 0 +4 0 0 0 0 +5 0 0 0 0 +6 0 0 0.0026 0.0022 +7 0 0 0.0404 0.03 +8 0 0 0.075 0.054 +9 0 0 0.03 0.022 +10 0 0 0.028 0.019 +11 0 0 0.145 0.104 +12 0 0 0.145 0.104 +13 0 0 0.008 0.005 +14 0 0 0.008 0.0055 +15 0 0 0 0 +16 0 0 0.0455 0.03 +17 0 0 0.06 0.035 +18 0 0 0.06 0.035 +19 0 0 0 0 +20 0 0 0.001 0.0006 +21 0 0 0.114 0.081 +22 0 0 0.005 0.0035 +23 0 0 0 0 +24 0 0 0.028 0.02 +25 0 0 0 0 +26 0 0 0.014 0.01 +27 0 0 0.014 0.01 +28 0 0 0.026 0.0186 +29 0 0 0.026 0.0186 +30 0 0 0 0 +31 0 0 0 0 +32 0 0 0 0 +33 0 0 0.014 0.01 +34 0 0 0.0195 0.014 +35 0 0 0.006 0.004 +36 0 0 0.026 0.01855 +37 0 0 0.026 0.01855 +38 0 0 0 0 +39 0 0 0.024 0.017 +40 0 0 0.024 0.017 +41 0 0 0.0012 0.001 +42 0 0 0 0 +43 0 0 0.006 0.0043 +44 0 0 0 0 +45 0 0 0.03922 0.0266 +46 0 0 0.03922 0.0263 +47 0 0 0 0 +48 0 0 0.079 0.0564 +49 0 0 0.3847 0.2745 +50 0 0 0.3847 0.2744 +51 0 0 0.0405 0.0283 +52 0 0 0.0036 0.0027 +53 0 0 0.00435 0.0035 +54 0 0 0.0264 0.019 +55 0 0 0.024 0.0172 +56 0 0 0 0 +57 0 0 0 0 +58 0 0 0 0 +59 0 0 0.1 0.072 +60 0 0 0 0 +61 0 0 1.244 0.888 +62 0 0 0.032 0.023 +63 0 0 0 0 +64 0 0 0.227 0.162 +65 0 0 0.059 0.042 +66 0 0 0.018 0.013 +67 0 0 0.018 0.013 +68 0 0 0.028 0.02 +69 0 0 0.028 0.02 +0 +1 1 -100 100 0 0 0 0 +0 +1 10 10 10 0 10 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 diff --git a/modified-feeder138/lineParameter.txt b/modified-feeder138/lineParameter.txt new file mode 100644 index 0000000..1775b9b --- /dev/null +++ b/modified-feeder138/lineParameter.txt @@ -0,0 +1,53 @@ +2221 +3.0179 1.5017 1.5017 +1.5017 3.0179 1.5017 +1.5017 1.5017 3.0179 +0 +0.3465 0.1560 0.1560 +0.1560 0.3465 0.1560 +0.1560 0.1560 0.3465 +0 +6.2998 -1.9958 -1.2595 +-1.9958 5.9597 -0.7417 +-1.2595 -0.7417 5.6386 +0 +222 +0.3465 0.1560 0.1560 +0.1560 0.3465 0.1560 +0.1560 0.1560 0.3465 +0 +1.0179 0.5017 0.5017 +0.5017 1.0179 0.5017 +0.5017 0.5017 1.0179 +0 +6.2998 -1.9958 -1.2595 +-1.9958 5.9597 -0.7417 +-1.2595 -0.7417 5.6386 +0 +601 +0.3465 0.1560 0.1580 +0.1560 0.3375 0.1535 +0.1580 0.1535 0.3414 +0 +1.0179 0.5017 0.4236 +0.5017 1.0478 0.3849 +0.4236 0.3849 1.0348 +0 +6.2998 -1.9958 -1.2595 +-1.9958 5.9597 -0.7417 +-1.2595 -0.7417 5.6386 +0 +602 +0.7526 0.1580 0.1560 +0.1580 0.7475 0.1535 +0.1560 0.1535 0.7436 +0 +1.1814 0.4236 0.5017 +0.4236 1.1983 0.3849 +0.5017 0.3849 1.2112 +0 +5.6990 -1.0817 -1.6905 +-1.0817 5.1795 -0.6588 +-1.6905 -0.6588 5.4246 +0 + diff --git a/modified-feeder138/~$feeder69.xlsx b/modified-feeder138/~$feeder69.xlsx new file mode 100644 index 0000000..1e59d2c Binary files /dev/null and b/modified-feeder138/~$feeder69.xlsx differ diff --git a/modified-feeder69/lineParameter.txt b/modified-feeder69/lineParameter.txt index 75dee0d..9817bdd 100644 --- a/modified-feeder69/lineParameter.txt +++ b/modified-feeder69/lineParameter.txt @@ -1,7 +1,7 @@ -222 -3.0179 1.5017 1.5017 -1.5017 3.0179 1.5017 -1.5017 1.5017 3.0179 +2222 +1.0179 0.5017 0.5017 +0.5017 1.0179 0.5017 +0.5017 0.5017 1.0179 0 0.3465 0.1560 0.1560 0.1560 0.3465 0.1560 @@ -11,7 +11,7 @@ -1.9958 5.9597 -0.7417 -1.2595 -0.7417 5.6386 0 -2221 +222 0.3465 0.1560 0.1560 0.1560 0.3465 0.1560 0.1560 0.1560 0.3465 diff --git a/run.m b/run.m index e318296..1a055f3 100644 --- a/run.m +++ b/run.m @@ -8,6 +8,38 @@ lineZ=readLineZ('modified-feeder69\lineParameter.txt'); [ fsY0, fsY1, fsY2,phaseASpotLoadP,phaseBSpotLoadP,phaseCSpotLoadP ... phaseASpotLoadQ,phaseBSpotLoadQ,phaseCSpotLoadQ,setIJ,nodeNum,Balance,phaseABCY ... cap]=dataRead(lineZ,'modified-feeder69\data.txt'); +%负荷不平衡 +% for I=1:length(phaseASpotLoadP) +% roll=mod(round(rand()*10),3); +% if roll==0 +% phaseBSpotLoadP(I)=phaseBSpotLoadP(I)+phaseASpotLoadP(I)*.45; +% phaseCSpotLoadP(I)=phaseCSpotLoadP(I)+phaseASpotLoadP(I)*.45; +% phaseASpotLoadP(I)=phaseASpotLoadP(I)*.10; +% +% phaseBSpotLoadQ(I)=phaseBSpotLoadQ(I)+phaseASpotLoadQ(I)*.45; +% phaseCSpotLoadQ(I)=phaseCSpotLoadQ(I)+phaseASpotLoadQ(I)*.45; +% phaseASpotLoadQ(I)=phaseASpotLoadQ(I)*.10; +% end +% if roll==1 +% phaseASpotLoadP(I)=phaseASpotLoadP(I)+phaseBSpotLoadP(I)*.45; +% phaseCSpotLoadP(I)=phaseCSpotLoadP(I)+phaseBSpotLoadP(I)*.45; +% phaseBSpotLoadP(I)=phaseBSpotLoadP(I)*.10; +% +% phaseASpotLoadQ(I)=phaseASpotLoadQ(I)+phaseBSpotLoadQ(I)*.45; +% phaseCSpotLoadQ(I)=phaseCSpotLoadQ(I)+phaseBSpotLoadQ(I)*.45; +% phaseBSpotLoadQ(I)=phaseBSpotLoadQ(I)*.10; +% end +% if roll==2 +% phaseASpotLoadP(I)=phaseASpotLoadP(I)+phaseCSpotLoadP(I)*.45; +% phaseBSpotLoadP(I)=phaseBSpotLoadP(I)+phaseCSpotLoadP(I)*.45; +% phaseCSpotLoadP(I)=phaseCSpotLoadP(I)*.10; +% +% phaseASpotLoadQ(I)=phaseASpotLoadQ(I)+phaseCSpotLoadQ(I)*.45; +% phaseBSpotLoadQ(I)=phaseBSpotLoadQ(I)+phaseCSpotLoadQ(I)*.45; +% phaseCSpotLoadQ(I)=phaseCSpotLoadQ(I)*.10; +% end +% end + a=exp(1j*2*pi/3); Tp2f=1/3*[1 1 1; 1 a a^2; @@ -68,6 +100,7 @@ phaseASpotLoadQ=phaseASpotLoadQ*xs; phaseBSpotLoadQ=phaseBSpotLoadQ*xs; phaseCSpotLoadQ=phaseCSpotLoadQ*xs; + while(k<=kmax && maxD> EPS) k=k+1; %把补偿电容看作负荷 @@ -217,12 +250,12 @@ I1measurement=mIf1(Loadi); % wI1r=abs(real(I1measurement)).*sigma; % wI1i=abs(imag(I1measurement)).*sigma; -IArW=calIWr(real(mVoltpA),imag(mVoltpA),mphaseASpotLoadP*sigma,mphaseASpotLoadQ*sigma ); -IAiW=calIWi(real(mVoltpA),imag(mVoltpA),mphaseASpotLoadP*sigma,mphaseASpotLoadQ*sigma ); -IBrW=calIWr(real(mVoltpB),imag(mVoltpB),mphaseBSpotLoadP*sigma,mphaseBSpotLoadQ*sigma ); -IBiW=calIWi(real(mVoltpB),imag(mVoltpB),mphaseBSpotLoadP*sigma,mphaseBSpotLoadQ*sigma ); -ICrW=calIWr(real(mVoltpC),imag(mVoltpC),mphaseCSpotLoadP*sigma,mphaseCSpotLoadQ*sigma ); -ICiW=calIWi(real(mVoltpC),imag(mVoltpC),mphaseCSpotLoadP*sigma,mphaseCSpotLoadQ*sigma ); +IArW=calIWr(real(mVoltpA),imag(mVoltpA),mphaseASpotLoadP*sigma,mphaseASpotLoadQ*sigma,mphaseASpotLoadP,mphaseASpotLoadQ ); +IAiW=calIWi(real(mVoltpA),imag(mVoltpA),mphaseASpotLoadP*sigma,mphaseASpotLoadQ*sigma,mphaseASpotLoadP,mphaseASpotLoadQ ); +IBrW=calIWr(real(mVoltpB),imag(mVoltpB),mphaseBSpotLoadP*sigma,mphaseBSpotLoadQ*sigma,mphaseBSpotLoadP,mphaseBSpotLoadQ ); +IBiW=calIWi(real(mVoltpB),imag(mVoltpB),mphaseBSpotLoadP*sigma,mphaseBSpotLoadQ*sigma,mphaseBSpotLoadP,mphaseBSpotLoadQ ); +ICrW=calIWr(real(mVoltpC),imag(mVoltpC),mphaseCSpotLoadP*sigma,mphaseCSpotLoadQ*sigma,mphaseCSpotLoadP,mphaseCSpotLoadQ ); +ICiW=calIWi(real(mVoltpC),imag(mVoltpC),mphaseCSpotLoadP*sigma,mphaseCSpotLoadQ*sigma,mphaseCSpotLoadP,mphaseCSpotLoadQ ); % wI1r=sqrt((IArW+ICrW+IBrW)/9 ); wI1r=sqrt(1/9*(IArW+0.5^2.*IBrW+0.8668^2.*IBiW+0.5^2.*ICrW+0.866^2.*ICiW)); @@ -314,10 +347,11 @@ wV0i=sqrt(2*( (abs(mVoltpA).*sigma).^2+(abs(mVoltpB).*sigma).^2+(abs(mVoltpC).*s wV0r=wV0r(Loadi); wV0i=wV0i(Loadi); % matlabpool local 3 +%% 用三相方差确定三序方差 %% 不同量测配置 % noLoadi=[1,8,10,12]; -noLoadi=[1:4:max(Loadi)]; +noLoadi=[1:9:max(Loadi)]; noLoadi=Loadi(1:6:end); % noLoadi=[1,19]; % noLoadi=[4,3,2,5,6,7,11,14,22]; @@ -353,34 +387,62 @@ totalTime1=0;% totalTime2=0;%负序时间 totalTime0=0;%零序时间 toc +% parpool(2); +% matlabpool local 3; + +V1r1=0; +V1i=0; +I1r=0; +I1i=0; +isConverged1=0; +calcuTime=0; +totalTime1=0; +V2r=0; +V2i=0; +I2r=0; +I2i=0; +isConverged2=0; +totalTime2=0; +V0r=0; +V0i=0; +I0r=0; +I0i=0; +isConverged0=0; +totalTime0=0; + tic for II=1:3 dI_F=100000000000000; 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 ); - totalTime1=calcuTime + totalTime1=calcuTime; + fprintf('正序时间%f\n',totalTime1); + V1r1=V1r; end +% end +% 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 ); - totalTime2=calcuTime + totalTime2=calcuTime; + fprintf('负序时间%f\n',totalTime2); end if II==3 fprintf('零序\n'); - tic [ 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 ); - totalTime0=calcuTime + totalTime0=calcuTime; + fprintf('零序时间%f\n',totalTime0); end end -toc -% matlabpool close - +fprintf('总时间 %f\n',toc); +% matlabpool close % f=sum(([real(I0measurement);imag(I0measurement)]-[I0r;I0i]).^2)+sum((real(rV0)-V0r).^2)+sum((imag(rV0)-V0i).^2); % fprintf('目标值 %f\n',full(f)); %% 把三序合成三相 % 三相电压 + SEVf0=V0r+1j*V0i; SEVf1=V1r+1j*V1i; SEVf2=V2r+1j*V2i;