parent
a14a61ce76
commit
f1a1f9be85
|
|
@ -1,6 +0,0 @@
|
|||
function DrawGap(plotGap)
|
||||
x=find(plotGap);
|
||||
ts=size(x,2);
|
||||
|
||||
|
||||
end
|
||||
12
FormAA.asv
12
FormAA.asv
|
|
@ -1,12 +0,0 @@
|
|||
function AA=FormAA(L_1Z,deltG,U_1W,Hcoma,deltH)
|
||||
tOnes=eye(14);
|
||||
tZeros=zeros(14);
|
||||
AA=[
|
||||
tOnes,L_1Z,tZeros,tZeros,tZeros,zeros(14,10);
|
||||
tZeros,tOnes,tZeros,tZeros,-deltG',zeros(14,10);
|
||||
tZeros,tZeros,tOnes,U_1W,tZeros,zeros(14,10);
|
||||
tZeros,tZeros,tZeros,tOnes,deltG,zeros(14,10);
|
||||
tZeros,tZeros,tZeros,tZeros,Hcoma,deltH;
|
||||
zeros(10,14),zeros(10,14),zeros(10,14),zeros(10,14),deltH',zeros(10,10);
|
||||
];
|
||||
end
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
function AlphaP=FormAlphaP(Init_L,deltL,Init_U,deltU)
|
||||
ti=deltL(delt)
|
||||
t1=-Init_L./deltL';
|
||||
t2=-Init_U./deltU';
|
||||
t3=[t1,t2];
|
||||
t4=t3()
|
||||
end
|
||||
11
FormG.asv
11
FormG.asv
|
|
@ -1,11 +0,0 @@
|
|||
function Mat_G=FormG(Volt,PVi,PGi,PG,QG,PD,QD,Loadi)
|
||||
|
||||
Mat_G=[
|
||||
PG(PGi);
|
||||
QG(PVi);
|
||||
sparse(PD(Loadi));
|
||||
sparse(QD(Loadi));
|
||||
Volt';
|
||||
|
||||
];
|
||||
end
|
||||
31
FormH.asv
31
FormH.asv
|
|
@ -1,31 +0,0 @@
|
|||
function Mat_H=FormH(Busnum,GB,AngleIJMat,Volt,PG,PD,QG,QD,Y)
|
||||
t1=real(GB).*cos(AngleIJMat)+imag(GB).*sin(AngleIJMat);
|
||||
t2=Volt'*Volt;
|
||||
t3=t1.*t2;
|
||||
t4=sum(-t3,2);%P
|
||||
t5=real(GB).*sin(AngleIJMat)-imag(GB).*cos(AngleIJMat);
|
||||
t6=t2.*t5;
|
||||
t7=sum(-t6,2);%Q
|
||||
t8=PG-PD;
|
||||
t9=QG-QD;
|
||||
%Mat_H=([(PG-PD)',(QG-QD)'])'+([t4',t7'])';
|
||||
Mat_H(1:2:2*Busnum)=t8(1:Busnum)+t4(1:Busnum);
|
||||
Mat_H(2:2:2*Busnum)=t9(1:Busnum)+t7(1:Busnum);
|
||||
Mat_H=Mat_H';
|
||||
%%
|
||||
QDcos=textread('300glys.txt');
|
||||
t=QD(PD==0 &&);
|
||||
aa=QD;
|
||||
QD(QD~=0)=PD(QD~=0)./tan(QDcos);
|
||||
QD(PD==0)=t;
|
||||
%%
|
||||
%%%%一下是学姐给的公式
|
||||
AngleIJ=AngleIJMat-angle(GB);
|
||||
%dP=PG-PD-diag(Volt)*Y*cos(AngleIJ)*Volt';
|
||||
dP=PG-PD-diag(Volt)*Y.*cos(AngleIJ)*Volt';
|
||||
dQ=QG-QD-diag(Volt)*Y.*sin(AngleIJ)*Volt';
|
||||
%Mat_H(1:2:2*Busnum)=dP(1:Busnum);暂时改一下 20111227
|
||||
%Mat_H(2:2:2*Busnum)=dQ(1:Busnum);暂时改一下 20111227
|
||||
Mat_H=[dP;dQ;];
|
||||
|
||||
end
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
function FormYY(Init_L,Lul.Lz,Init_U,Luu,Lw,Lz,LxComa)
|
||||
t=[
|
||||
-
|
||||
]
|
||||
end
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
function [Init_Z,Init_L,Init_W,Init_U,Init_Y,deltZ,deltL,deltW,deltU,deltX,deltY,PG,QG,Volt,UAngel]=Modification(Init_Z,Init_L,Init_W,Init_U,Init_Y,deltZ,deltL,deltW,deltU,deltX,deltY,PG,QG,Volt,UAngel,PVi,ContrlCount,Balance,Busnum,PGi)
|
||||
AlphaP=FormAlphaP(Init_L,deltL,Init_U,deltU);
|
||||
fprintf('AlphaP %f\n',AlphaP);
|
||||
AlphaD=FormAlphaD(Init_Z,deltZ,Init_W,deltW);
|
||||
fprintf('AlphaD %f\n',AlphaD);
|
||||
|
||||
Init_Z=Init_Z+AlphaD*deltZ';
|
||||
Init_L=Init_L+AlphaP*deltL';
|
||||
Init_W=Init_W+AlphaD*deltW';
|
||||
Init_U=Init_U+AlphaP*deltU';
|
||||
Init_Y=Init_Y+AlphaD*deltY';
|
||||
PG(PVi)=PG(PGi)+deltX(size(PGi,1));
|
||||
QG(PVi)=QG(PVi)+deltX(size(PGi,1)+1,1:(size(PVi,1)+size(PGi,1)));
|
||||
t=deltX(size(PVi,1)+size(PGi,1)+1,ContrlCount)';
|
||||
t(2*Balance-1)=0;
|
||||
Volt=Volt+AlphaP*t(2:2:2*Busnum);
|
||||
UAngel=UAngel+AlphaP*t(1:2:2*Busnum);
|
||||
end
|
||||
|
|
@ -1,31 +0,0 @@
|
|||
function [G,B,GB,Y,r,c,Angle] = admmatrix(Busnum,Linei,Linej,Liner,Linex,Lineb,Transfori...
|
||||
,Transforj,Transforr,Transforx,Transfork0,Branchi,Branchb)
|
||||
%**************************************************************************
|
||||
% 程序功能 : 子函数——形成节点导纳矩阵Y
|
||||
% 编 者:
|
||||
% 编制时间:2010.12
|
||||
%**************************************************************************
|
||||
%% 支路导纳计算
|
||||
G = -sparse(Linei,Linej,Liner./(Liner.^2+Linex.^2),Busnum,Busnum) - sparse(Linej,Linei,Liner./(Liner.^2+Linex.^2),Busnum,Busnum);
|
||||
G = G - sparse(1:Busnum,1:Busnum,sum(G,2)'); % 计算各线路支路电导
|
||||
B = sparse(Linei,Linej,Linex./(Liner.^2+Linex.^2),Busnum,Busnum)+sparse(Linej,Linei,Linex./(Liner.^2+Linex.^2),Busnum,Busnum);
|
||||
B = B - sparse(1:Busnum,1:Busnum,sum(B,2)')+sparse(Linei,Linei,Lineb,Busnum,Busnum)+sparse(Linej,Linej,Lineb,Busnum,Busnum);
|
||||
%% 变压器支路计算
|
||||
if Transfori>0
|
||||
mr = Transforr./(Transforr.^2+Transforx.^2); % 计算变压器支路电导
|
||||
mx = -Transforx./(Transforr.^2+Transforx.^2); % 计算变压器支路电纳
|
||||
G = G-sparse(Transfori,Transforj,mr./Transfork0,Busnum,Busnum)-sparse(Transforj,Transfori,mr./Transfork0,Busnum,Busnum)...
|
||||
+sparse(Transfori,Transfori,mr./Transfork0./Transfork0,Busnum,Busnum)+sparse(Transforj,Transforj,mr,Busnum,Busnum);
|
||||
B = B-sparse(Transfori,Transforj,mx./Transfork0,Busnum,Busnum)-sparse(Transforj,Transfori,mx./Transfork0,Busnum,Busnum)...
|
||||
+sparse(Transfori,Transfori,mx./Transfork0./Transfork0,Busnum,Busnum)+sparse(Transforj,Transforj,mx,Busnum,Busnum);
|
||||
end
|
||||
%% 接地支路计算
|
||||
if Branchi>0 % 判断有无接地支路
|
||||
B = B+sparse(Branchi,Branchi,Branchb,Busnum,Busnum);
|
||||
end
|
||||
%% 化作极坐标形式
|
||||
GB = G+B.*1i; %将电导,电纳合并,写成复数形式
|
||||
Y = abs(GB); %求节点导纳幅值
|
||||
[r,c] = find(Y);
|
||||
Angle = angle(GB(GB~=0)); %求节点导纳角度
|
||||
%Angle=angle(GB);
|
||||
|
|
@ -1,54 +0,0 @@
|
|||
function deltG=func_deltG(Busnum,PVi,PGi,Loadi,PD,QD)
|
||||
sizeLoadi=size(Loadi,1);
|
||||
%dg3 PD-M*b-t-PD0
|
||||
dg3_dPD=sparse(1:size(Loadi,1),1:size(Loadi,1),ones(size(Loadi,1),1),size(Loadi,1),size(Loadi,1));
|
||||
%dg32 PD+M*B+t+PD0
|
||||
dg32_dPD=dg3_dPD;
|
||||
dg4_dPD=sparse(size(Loadi,1),length(Loadi));
|
||||
dg42_dPD=dg4_dPD;
|
||||
dg5_dPD=sparse(size(Loadi,1),Busnum);
|
||||
dg6_dPD=dg5_dPD;
|
||||
dg7_dPD=sparse(sizeLoadi,Busnum);
|
||||
dgPD_dPD
|
||||
%%
|
||||
dg3_dQD=sparse(length(Loadi),length(Loadi));
|
||||
dg32_dQD=dg3_dQD;
|
||||
dg4_dQD=sparse(1:size(Loadi,1),1:size(Loadi,1),ones(size(Loadi,1),1),size(Loadi,1),size(Loadi,1));
|
||||
dg42_dQD=dg4_dQD;
|
||||
dg5_dQD=sparse(size(Loadi,1),Busnum);
|
||||
dg6_dQD=dg5_dQD;
|
||||
dg7_dQD=sparse(sizeLoadi,Busnum);
|
||||
%%
|
||||
dg3_dx=sparse(2*Busnum,sizeLoadi);
|
||||
dg32_dx=dg3_dx;
|
||||
dg4_dx=sparse(2*Busnum,length(Loadi));
|
||||
dg42_dx=dg4_dx;
|
||||
dg5_dx=[sparse(1:Busnum,1:Busnum,ones(Busnum,1),Busnum,Busnum);
|
||||
sparse(Busnum,Busnum);
|
||||
];
|
||||
dg6_dx=dg5_dx;
|
||||
dg7_dx=sparse(2*Busnum,Busnum);
|
||||
%%
|
||||
dg3_dvbi=sparse(Busnum,sizeLoadi);
|
||||
dg32_dvbi=dg3_dvbi;
|
||||
dg4_dvbi=sparse(Busnum,length(Loadi));
|
||||
dg42_dvbi=dg4_dvbi;
|
||||
dg5_dvbi=sparse(Busnum,Busnum);
|
||||
dg6_dvbi=sparse(Busnum,Busnum);
|
||||
dg7_dvbi=sparse(eye(Busnum,Busnum));
|
||||
%%
|
||||
dg3_dPDbi=sparse(-eye(sizeLoadi));
|
||||
dg32_dPDbi=sparse(eye(sizeLoadi));
|
||||
dg4_dPDbi=sparse(length(Loadi),length(Loadi));
|
||||
dg42_dPDbi=dg4_dPDbi;
|
||||
dg5_dPDbi=sparse(length(Loadi),Busnum);
|
||||
dg6_dPDbi=sparse(length(Loadi),Busnum);
|
||||
dg7_dPDbi=sparse(length(Loadi),Busnum);
|
||||
%%
|
||||
deltG=[dg3_dPD,dg32_dPD,dg4_dPD,dg42_dPD,dg5_dPD,dg6_dPD,dg7_dPD;
|
||||
dg3_dQD,dg32_dQD,dg4_dQD,dg42_dQD,dg5_dQD,dg6_dQD,dg7_dQD;
|
||||
dg3_dx,dg32_dx,dg4_dx,dg42_dx,dg5_dx,dg6_dx,dg7_dx;
|
||||
dg3_dvbi,dg32_dvbi,dg4_dvbi,dg42_dvbi,dg5_dvbi,dg6_dvbi,dg7_dvbi;
|
||||
dg3_dPDbi,dg32_dPDbi,dg4_dPDbi,dg42_dPDbi,dg5_dPDbi,dg6_dPDbi,dg7_dPDbi;
|
||||
];
|
||||
end
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
function [new_G,new_B,GB,Y,r,c,Angle] = modifyadmmatrix(ii,jj,G,GG,B,BB)
|
||||
%**************************************************************************
|
||||
% 程序功能 : 子函数——形成节点导纳矩阵Y
|
||||
% 编 者:
|
||||
% 编制时间:2010.12
|
||||
%**************************************************************************
|
||||
%% 支路导纳计算
|
||||
new_G=G;
|
||||
new_G(ii,jj)=new_G(ii,jj)-G(ii,jj);
|
||||
new_G(jj,ii)=new_G(jj,ii)-G(jj,ii);
|
||||
new_G(ii,ii)=new_G(ii,ii)+G(ii,jj);
|
||||
new_G(jj,jj)=new_G(jj,jj)+G(ii,jj);
|
||||
|
||||
%% 化作极坐标形式
|
||||
GB = G+B.*1i; %将电导,电纳合并,写成复数形式
|
||||
Y = abs(GB); %求节点导纳幅值
|
||||
[r,c] = find(Y);
|
||||
Angle = angle(GB(GB~=0)); %求节点导纳角度
|
||||
64
openfile.asv
64
openfile.asv
|
|
@ -1,64 +0,0 @@
|
|||
function [Busnum,Balance,PQstandard,Precision,Linei,Linej,Liner,Linex,Lineb,kmax,Transfori ,...
|
||||
Transforj,Transforr,Transforx,Transfork0,Branchi,Branchb,Pointpoweri,PG,QG,PD,QD,PVi,PVu,Gen,GenU,GenL,GenC,CenterA,PGi,PVQU,PVQL] = openfile(FileName)
|
||||
%**************************************************************************
|
||||
% 程序简介 : 子函数——读取潮流计算所需数据
|
||||
% 编 者:
|
||||
% 编制时间 :2010.12
|
||||
%**************************************************************************
|
||||
data = dlmread(FileName); % 一次读入全部数据
|
||||
Busnum= data(1,1); % 节点数
|
||||
PQstandard = data(1,3); % 基准容量
|
||||
kmax = data(1,4); %最大迭代次数
|
||||
Precision = data(2,1); % 精度
|
||||
Balance = data(3,2); % 生成1到节点号的列向量
|
||||
CenterA=data(1,5); %中心参数
|
||||
LineNum=data(1,2); %支路数
|
||||
%% 各参数矩阵分块
|
||||
zeroRow = find(data(:,1)==0); %查找第一列元素为零的行号
|
||||
line = data(zeroRow(1)+1:zeroRow(2)-1,:); % 形成线路参数矩阵
|
||||
ground = data(zeroRow(2)+1:zeroRow(3)-1,:); % 形成对地支路参数矩阵
|
||||
tran = data(zeroRow(3)+1:zeroRow(4)-1,:); % 形成变压器参数矩阵
|
||||
buspq = data(zeroRow(4)+1:zeroRow(5)-1,:); % 形成节点功率参数矩阵
|
||||
PV = data(zeroRow(5)+1:zeroRow(6)-1,:); % 形成pv节点功率参数矩阵
|
||||
Gen=data(zeroRow(6)+1:zeroRow(7)-1,:);
|
||||
%% 线路参数矩阵分块
|
||||
Linei = line(:,2); % 节点i
|
||||
Linej= line(:,3); % 节点j
|
||||
Liner = line(:,4); % 线路电阻
|
||||
Linex = line(:,5); % 线路电抗
|
||||
Lineb = line(:,6); % b/2
|
||||
%% 对地支路参数矩阵
|
||||
Branchi = ground(:,1); % 对地支路节点号
|
||||
Branchb = ground(:,2); % 对地支路的导纳
|
||||
%% 变压器参数矩阵
|
||||
Transfori = tran(:,2); % 节点i
|
||||
Transforj= tran(:,3); % 节点j
|
||||
Transforr = tran(:,4); % 变压器电阻
|
||||
Transforx= tran(:,5); % 变压器电抗
|
||||
Transfork0 = tran(:,6); % 变压器变比
|
||||
%% 节点功率参数矩阵
|
||||
Pointpoweri = buspq(:,1);
|
||||
PG=buspq(:,2); % 发电机有功
|
||||
QG=buspq(:,3); % 发电机无功
|
||||
PD=buspq(:,4); % 负荷有功
|
||||
QD=buspq(:,5); % 负荷无功
|
||||
%% pv节点功率参数矩阵
|
||||
PVi = PV(:,1); % PV节点的节点号
|
||||
PVu = PV(:,2); % PV节点电压
|
||||
PVQL=PV(:,3);%PV节点无功下限
|
||||
PVQU=PV(:,4); %PV节点无功上限
|
||||
%% 发电机参数
|
||||
%GenU=Gen(:,[1 5 6]);
|
||||
%GenL=Gen(:,[1 7 8]);
|
||||
GenC=Gen(:,[1 2:4]);
|
||||
t=GenC(:,2);
|
||||
GenC(:,2)=GenC(:,4);
|
||||
GenC(:,4)=t;
|
||||
t=Gen(:,[1 5]);
|
||||
%GenL=[t,PVQL(PVi)];
|
||||
GenL=t;%有功下界
|
||||
t=Gen(:,[1 6]);
|
||||
%GenU=[t,PVQU(PVi)];
|
||||
GenU=t;%有功上届
|
||||
PGi=Gen(:,1);%发电机节点号
|
||||
end
|
||||
Loading…
Reference in New Issue