parent
0561f915c9
commit
ff2f5510d8
17
dataRead.m
17
dataRead.m
|
|
@ -1,15 +1,22 @@
|
||||||
function [ fsY0, fsY1, fsY2,phaseASpotLoadP,phaseBSpotLoadP,phaseCSpotLoadP ...
|
function [ fsY0, fsY1, fsY2,phaseASpotLoadP,phaseBSpotLoadP,phaseCSpotLoadP ...
|
||||||
phaseASpotLoadQ,phaseBSpotLoadQ,phaseCSpotLoadQ,setIJ,nodeNum,Balance,phaseABCY] = dataRead(lineZ,dataFile )
|
phaseASpotLoadQ,phaseBSpotLoadQ,phaseCSpotLoadQ,setIJ,nodeNum,Balance,phaseABCY] = dataRead(lineZ,dataFile )
|
||||||
data=dlmread(dataFile);
|
data=dlmread(dataFile);
|
||||||
|
baseHighU=data(1,2);
|
||||||
|
fsY0=0;
|
||||||
|
fsY1=0;
|
||||||
|
fsY2=0;
|
||||||
zeroEntries=find(data(:,1)==0);
|
zeroEntries=find(data(:,1)==0);
|
||||||
lines=data(zeroEntries(1)+1:zeroEntries(2)-1,:);
|
lines=data(zeroEntries(1)+1:zeroEntries(2)-1,:);
|
||||||
[setIJ,nodeNum]=numberNode(lines);
|
[setIJ,nodeNum]=numberNode(lines);
|
||||||
|
if size(setIJ,2)>size(setIJ,1)
|
||||||
|
setIJ=setIJ';
|
||||||
|
end
|
||||||
Balance=data(1,1);
|
Balance=data(1,1);
|
||||||
Balance=nodeNum(setIJ==Balance);
|
Balance=nodeNum(setIJ==Balance);
|
||||||
%%three-phase
|
%%three-phase
|
||||||
phaseABCY=sparse(3*length(nodeNum),3*length(nodeNum));
|
phaseABCY=sparse(3*length(nodeNum),3*length(nodeNum));
|
||||||
%% 601 begin
|
%% 601 begin
|
||||||
[fs30,fs31,fs32,retphaseABCY]=lineWithConfig(setIJ,nodeNum,lineZ,lines,601);
|
[fs30,fs31,fs32,retphaseABCY]=lineWithConfig(setIJ,nodeNum,lineZ,lines,601,baseHighU);
|
||||||
%phaseABCY ÈýÏàµÄµ¼ÄɾØÕó3n x 3n ά
|
%phaseABCY ÈýÏàµÄµ¼ÄɾØÕó3n x 3n ά
|
||||||
fsY0=fs30;
|
fsY0=fs30;
|
||||||
fsY1=fs31;
|
fsY1=fs31;
|
||||||
|
|
@ -17,12 +24,18 @@ fsY2=fs32;
|
||||||
phaseABCY=phaseABCY+retphaseABCY;
|
phaseABCY=phaseABCY+retphaseABCY;
|
||||||
% 601 end
|
% 601 end
|
||||||
%% 602 begin
|
%% 602 begin
|
||||||
[fs30,fs31,fs32,retphaseABCY]=lineWithConfig(setIJ,nodeNum,lineZ,lines,602);
|
[fs30,fs31,fs32,retphaseABCY]=lineWithConfig(setIJ,nodeNum,lineZ,lines,602,baseHighU);
|
||||||
fsY0=fsY0+fs30;
|
fsY0=fsY0+fs30;
|
||||||
fsY1=fsY1+fs31;
|
fsY1=fsY1+fs31;
|
||||||
fsY2=fsY2+fs32;
|
fsY2=fsY2+fs32;
|
||||||
phaseABCY=phaseABCY+retphaseABCY;
|
phaseABCY=phaseABCY+retphaseABCY;
|
||||||
% 602 end
|
% 602 end
|
||||||
|
%%
|
||||||
|
[fs30,fs31,fs32,retphaseABCY]=lineWithConfig(setIJ,nodeNum,lineZ,lines,123,baseHighU);
|
||||||
|
fsY0=fsY0+fs30;
|
||||||
|
fsY1=fsY1+fs31;
|
||||||
|
fsY2=fsY2+fs32;
|
||||||
|
phaseABCY=phaseABCY+retphaseABCY;
|
||||||
%% spot load
|
%% spot load
|
||||||
busNum=length(nodeNum);
|
busNum=length(nodeNum);
|
||||||
spotloads=data(zeroEntries(3)+1:zeroEntries(4)-1,:);
|
spotloads=data(zeroEntries(3)+1:zeroEntries(4)-1,:);
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,21 @@
|
||||||
function [ fs30,fs31,fs32,phaseABCY ] = lineWithConfig(setIJ,nodeNum,lineZ,lines,config )
|
function [ fs30,fs31,fs32,phaseABCY ] = lineWithConfig(setIJ,nodeNum,lineZ,lines,config,baseHighU )
|
||||||
phase3Entry=find(lines(:,1)==config);
|
phase3Entry=find(lines(:,1)==config);
|
||||||
|
if isempty(phase3Entry)
|
||||||
|
fs30=0;
|
||||||
|
fs31=0;
|
||||||
|
fs32=0;
|
||||||
|
phaseABCY=0;
|
||||||
|
fprintf('warning: line type %d not found.\n',config)
|
||||||
|
return;
|
||||||
|
end
|
||||||
phase3Line=lines(phase3Entry,:);
|
phase3Line=lines(phase3Entry,:);
|
||||||
phase3Line(:,4)=phase3Line(:,4)/1000;
|
phase3Line(:,4)=phase3Line(:,4)/1000;
|
||||||
entry=find(lineZ(:,1)==config);
|
entry=find(lineZ(:,1)==config);
|
||||||
phase3R=lineZ(entry+1:entry+3,:);
|
phase3R=lineZ(entry+1:entry+3,:);
|
||||||
phase3X=lineZ(entry+5:entry+7,:);
|
phase3X=lineZ(entry+5:entry+7,:);
|
||||||
phase3B2=lineZ(entry+9:entry+11,:);
|
phase3B2=lineZ(entry+9:entry+11,:);
|
||||||
phase3Y=1./(phase3R+1j*phase3X);%原始的三相导纳
|
phase3Z=phase3R+1j*phase3X;
|
||||||
%phase3Y=1./(1j*phase3X);%原始的三相导纳
|
phase3Y=inv(phase3Z);
|
||||||
%让对角和非对角相等
|
%让对角和非对角相等
|
||||||
phase3Y(1,3)=phase3Y(1,2);
|
phase3Y(1,3)=phase3Y(1,2);
|
||||||
phase3Y(3,1)=phase3Y(2,1);
|
phase3Y(3,1)=phase3Y(2,1);
|
||||||
|
|
@ -15,18 +23,7 @@ phase3Y(3,2)=phase3Y(3,1);
|
||||||
phase3Y(2,3)=phase3Y(1,3);
|
phase3Y(2,3)=phase3Y(1,3);
|
||||||
phase3Y(2,2)=phase3Y(1,1);
|
phase3Y(2,2)=phase3Y(1,1);
|
||||||
phase3Y(3,3)=phase3Y(1,1);
|
phase3Y(3,3)=phase3Y(1,1);
|
||||||
% phase3Y(1,3)=10;
|
|
||||||
% phase3Y(3,2)=10;
|
|
||||||
% phase3Y(2,3)=10;
|
|
||||||
% phase3Y(2,2)=phase3Y(1,1);
|
|
||||||
% phase3Y(3,3)=phase3Y(1,1);
|
|
||||||
% phase3Y(1,2)=10;
|
|
||||||
% phase3Y(2,1)=10;
|
|
||||||
% phase3Y(3,1)=10;
|
|
||||||
% phase3Y(1,3)=10;
|
|
||||||
%标幺值
|
%标幺值
|
||||||
baseHighU=4.16;
|
|
||||||
baseLowU=0.48;
|
|
||||||
baseS=1;
|
baseS=1;
|
||||||
baseY=baseS/(baseHighU^2);
|
baseY=baseS/(baseHighU^2);
|
||||||
phase3Y=phase3Y/baseY;
|
phase3Y=phase3Y/baseY;
|
||||||
|
|
@ -41,7 +38,7 @@ Tf2p=inv(Tp2f);
|
||||||
% Tf2p=[1 1 1;
|
% Tf2p=[1 1 1;
|
||||||
% 1 a^2 a;
|
% 1 a^2 a;
|
||||||
% 1 a a^2];
|
% 1 a a^2];
|
||||||
fs3Y=Tp2f*phase3Y*Tf2p;
|
% fs3Y=Tp2f*phase3Y*Tf2p;
|
||||||
Zl=phase3Y(1,1);
|
Zl=phase3Y(1,1);
|
||||||
Zm=phase3Y(2,1);
|
Zm=phase3Y(2,1);
|
||||||
fs3Y=3/3*diag([Zl+2*Zm,Zl-Zm,Zl-Zm]);%这里不是1/3,IEEE上的公式错了。
|
fs3Y=3/3*diag([Zl+2*Zm,Zl-Zm,Zl-Zm]);%这里不是1/3,IEEE上的公式错了。
|
||||||
|
|
|
||||||
6
run.m
6
run.m
|
|
@ -2,7 +2,7 @@ clc
|
||||||
clear
|
clear
|
||||||
lineZ=readLineZ('.\feeder13\lineParameter.txt');
|
lineZ=readLineZ('.\feeder13\lineParameter.txt');
|
||||||
[ fsY0, fsY1, fsY2,phaseASpotLoadP,phaseBSpotLoadP,phaseCSpotLoadP ...
|
[ fsY0, fsY1, fsY2,phaseASpotLoadP,phaseBSpotLoadP,phaseCSpotLoadP ...
|
||||||
phaseASpotLoadQ,phaseBSpotLoadQ,phaseCSpotLoadQ,setIJ,nodeNum,Balance,phaseABCY]=dataRead(lineZ,'.\feeder13\data2.txt');
|
phaseASpotLoadQ,phaseBSpotLoadQ,phaseCSpotLoadQ,setIJ,nodeNum,Balance,phaseABCY]=dataRead(lineZ,'.\feeder13\data1.txt');
|
||||||
a=exp(1j*2*pi/3);
|
a=exp(1j*2*pi/3);
|
||||||
Tp2f=1/3*[1 1 1;
|
Tp2f=1/3*[1 1 1;
|
||||||
1 a a^2;
|
1 a a^2;
|
||||||
|
|
@ -81,10 +81,6 @@ while(k<=kmax && maxD> EPS)
|
||||||
end
|
end
|
||||||
Vf1=Vmf1.*exp(1j*Vaf1);
|
Vf1=Vmf1.*exp(1j*Vaf1);
|
||||||
%%
|
%%
|
||||||
V=[1.0*exp(1j*0);1.0*exp(-1j*pi/180*120);1.0*exp(1j*pi/180*120)];
|
|
||||||
abs(Tp2f*V);
|
|
||||||
Tf2p*Tp2f*V;
|
|
||||||
%%
|
|
||||||
(Vf0.*conj(fsY00*Vf0)+Vf1.*conj(fsY11*Vf1)+Vf2.*conj(fsY22*Vf2))*3;
|
(Vf0.*conj(fsY00*Vf0)+Vf1.*conj(fsY11*Vf1)+Vf2.*conj(fsY22*Vf2))*3;
|
||||||
conj(Tf2p*[If0(2);If1(2);If2(2)]).*(Tf2p*[Vf0(2);Vf1(2);Vf2(2)]);
|
conj(Tf2p*[If0(2);If1(2);If2(2)]).*(Tf2p*[Vf0(2);Vf1(2);Vf2(2)]);
|
||||||
IpABC=Tf2p*conj([If0';If1';If2']);
|
IpABC=Tf2p*conj([If0';If1';If2']);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue