parent
8c79065f82
commit
a3fb4e2222
|
|
@ -5,7 +5,7 @@ tic
|
||||||
[kmax,Precision,UAngel,Volt,Busnum,PVi,PVu,Balance,Y,Angle,P0,Q0,r,c,GB, ...
|
[kmax,Precision,UAngel,Volt,Busnum,PVi,PVu,Balance,Y,Angle,P0,Q0,r,c,GB, ...
|
||||||
Linei,Linej,Transfori,Transforj,GenU,GenL,GenC,PG,QG,PD,QD,CenterA,PGi,PVQU,PVQL, ...
|
Linei,Linej,Transfori,Transforj,GenU,GenL,GenC,PG,QG,PD,QD,CenterA,PGi,PVQU,PVQL, ...
|
||||||
Liner,Linex,Lineb,Transforr,Transforx,Transfork0]= ...
|
Liner,Linex,Lineb,Transforr,Transforx,Transfork0]= ...
|
||||||
pf('ieee30.dat');
|
pf('E:/炬절/진쏜<EFBFBD>926_21671693_2012-09-06/newFIle20.txt');
|
||||||
|
|
||||||
%% ³±Á÷µÈʽ
|
%% ³±Á÷µÈʽ
|
||||||
AngleIJ=sparse(r,c,UAngel(r)-UAngel(c)-Angle',Busnum,Busnum);
|
AngleIJ=sparse(r,c,UAngel(r)-UAngel(c)-Angle',Busnum,Busnum);
|
||||||
|
|
@ -33,7 +33,6 @@ dQD=abs(dQ./QD);
|
||||||
maxdPQ=max([dPD(dPD<10);dQD(dQD<10)]);
|
maxdPQ=max([dPD(dPD<10);dQD(dQD<10)]);
|
||||||
|
|
||||||
[Volt,UAngel,Init_Z,Init_W,Init_L,Init_U,Init_Y,PG,QG,RestraintCount,wPG,wQG,wPD,wQD,PD,PD0,QD,randPDind,Loadi,notLoadi]=OPF_Init(Busnum,Balance,PG,QG,Volt,GenU,GenL,PVi,PGi,PVQU,PVQL,PD0,QD0,QD,PD);
|
[Volt,UAngel,Init_Z,Init_W,Init_L,Init_U,Init_Y,PG,QG,RestraintCount,wPG,wQG,wPD,wQD,PD,PD0,QD,randPDind,Loadi,notLoadi]=OPF_Init(Busnum,Balance,PG,QG,Volt,GenU,GenL,PVi,PGi,PVQU,PVQL,PD0,QD0,QD,PD);
|
||||||
|
|
||||||
%% ¶¨Òå±äÁ¿
|
%% ¶¨Òå±äÁ¿
|
||||||
BalVolt=Volt(Balance);
|
BalVolt=Volt(Balance);
|
||||||
Volt=sdpvar(Busnum,1);
|
Volt=sdpvar(Busnum,1);
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
function [GB,Y,r,c,Angle] = admmatrix(Busnum,Linei,Linej,Liner,Linex,Lineb,Transfori...
|
function [GB,Y,r,c,Angle] = admmatrix(Busnum,Linei,Linej,Liner,Linex,Lineb,Transfori...
|
||||||
,Transforj,Transforr,Transforx,Transfork0,Branchi,Branchb)
|
,Transforj,Transforr,Transforx,Transfork0,Branchi,Branchg,Branchb)
|
||||||
%**************************************************************************
|
%**************************************************************************
|
||||||
% 程序功能 : 子函数——形成节点导纳矩阵Y
|
% 程序功能 : 子函数——形成节点导纳矩阵Y
|
||||||
% 编 者:
|
% 编 者:
|
||||||
|
|
@ -22,6 +22,7 @@ end
|
||||||
%% 接地支路计算
|
%% 接地支路计算
|
||||||
if Branchi>0 % 判断有无接地支路
|
if Branchi>0 % 判断有无接地支路
|
||||||
B = B+sparse(Branchi,Branchi,Branchb,Busnum,Busnum);
|
B = B+sparse(Branchi,Branchi,Branchb,Busnum,Busnum);
|
||||||
|
G = G+sparse(Branchi,Branchi,Branchg,Busnum,Busnum);
|
||||||
end
|
end
|
||||||
%% 化作极坐标形式
|
%% 化作极坐标形式
|
||||||
GB = G+B.*1i; %将电导,电纳合并,写成复数形式
|
GB = G+B.*1i; %将电导,电纳合并,写成复数形式
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
function [Busnum,Balance,PQstandard,Precision,Linei,Linej,Liner,Linex,Lineb,kmax,Transfori ,...
|
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,GenU,GenL,GenC,CenterA,PGi,PVQU,PVQL] = openfile2(FileName)
|
Transforj,Transforr,Transforx,Transfork0,Branchi,Branchg,Branchb,Pointpoweri,PG,QG,PD,QD,PVi,PVu,GenU,GenL,GenC,CenterA,PGi,PVQU,PVQL] = openfile2(FileName)
|
||||||
%**************************************************************************
|
%**************************************************************************
|
||||||
% 程序简介 : 子函数——读取潮流计算所需数据
|
% 程序简介 : 子函数——读取潮流计算所需数据
|
||||||
% 编 者:
|
% 编 者:
|
||||||
|
|
@ -34,6 +34,7 @@ Lineb = line(:,6); %
|
||||||
%% 对地支路参数矩阵
|
%% 对地支路参数矩阵
|
||||||
Branchi = ground(:,2); % 对地支路节点号
|
Branchi = ground(:,2); % 对地支路节点号
|
||||||
Branchb = ground(:,4); % 对地支路的导纳
|
Branchb = ground(:,4); % 对地支路的导纳
|
||||||
|
Branchg = ground(:,3); % 对地支路的导纳
|
||||||
%% 变压器参数矩阵
|
%% 变压器参数矩阵
|
||||||
Transfori = tran(:,3); % 节点i
|
Transfori = tran(:,3); % 节点i
|
||||||
Transforj= tran(:,4); % 节点j
|
Transforj= tran(:,4); % 节点j
|
||||||
|
|
@ -54,6 +55,7 @@ QD=QD/Base;
|
||||||
%%
|
%%
|
||||||
PD=sparse(PD);
|
PD=sparse(PD);
|
||||||
QD=sparse(QD);
|
QD=sparse(QD);
|
||||||
|
%QD=PD*sqrt(1-.85^2)/.85;
|
||||||
PG=sparse(PG);
|
PG=sparse(PG);
|
||||||
QG=sparse(QG);
|
QG=sparse(QG);
|
||||||
%% pv节点功率参数矩阵
|
%% pv节点功率参数矩阵
|
||||||
|
|
|
||||||
14
pf.m
14
pf.m
|
|
@ -1,4 +1,4 @@
|
||||||
function [kmax,Precision,Uangle,U,Busnum,PVi,PVu,Balance,Y,Angle,P0,Q0,r,c,GB,Linei,Linej,Transfori,Transforj,GenU,GenL,GenC,PG,QG,PD,QD,CenterA,PGi,PVQU,PVQL,Liner,Linex,Lineb,Transforr,Transforx,Transfork0]=pf(FileName)
|
function [kmax,Precision,Uangle,U,Busnum,PVi,PVu,Balance,Y,Angle,P0,Q0,r,c,GB,Linei,Linej,Transfori,Transforj,GenU,GenL,GenC,PG,QG,PD,QD,CenterA,PGi,PVQU,PVQL,Liner,Linex,Lineb,Transforr,Transforx,Branchi,Branchg,Branchb,Transfork0]=pf(FileName)
|
||||||
%**************************************************************************
|
%**************************************************************************
|
||||||
% 程序名称:电力系统潮流计算程序
|
% 程序名称:电力系统潮流计算程序
|
||||||
% 程序算法:极坐标下的牛顿-拉夫逊法
|
% 程序算法:极坐标下的牛顿-拉夫逊法
|
||||||
|
|
@ -10,10 +10,10 @@ function [kmax,Precision,Uangle,U,Busnum,PVi,PVu,Balance,Y,Angle,P0,Q0,r,c,GB,Li
|
||||||
tic;
|
tic;
|
||||||
%% 读取数据文件
|
%% 读取数据文件
|
||||||
[Busnum,Balance,PQstandard,Precision,Linei,Linej,Liner,Linex,Lineb,kmax,Transfori ,...
|
[Busnum,Balance,PQstandard,Precision,Linei,Linej,Liner,Linex,Lineb,kmax,Transfori ,...
|
||||||
Transforj,Transforr,Transforx,Transfork0,Branchi,Branchb,Pointpoweri,PG,QG,PD,QD,PVi,PVu,GenU,GenL,GenC,CenterA,PGi,PVQU,PVQL]= openfile(FileName);
|
Transforj,Transforr,Transforx,Transfork0,Branchi,Branchg,Branchb,Pointpoweri,PG,QG,PD,QD,PVi,PVu,GenU,GenL,GenC,CenterA,PGi,PVQU,PVQL]= openfile2(FileName);
|
||||||
%% 形成节点导纳矩阵
|
%% 形成节点导纳矩阵
|
||||||
[GB,Y,r,c,Angle] = admmatrix(Busnum,Linei,Linej,Liner,Linex,Lineb,Transfori,Transforj,Transforr,...
|
[GB,Y,r,c,Angle] = admmatrix(Busnum,Linei,Linej,Liner,Linex,Lineb,Transfori,Transforj,Transforr,...
|
||||||
Transforx,Transfork0,Branchi,Branchb);
|
Transforx,Transfork0,Branchi,Branchg,Branchb);
|
||||||
[P0,Q0,U,Uangle] = Initial(PG,PD,PQstandard,Pointpoweri,QG,QD,Busnum); %求功率不平衡量
|
[P0,Q0,U,Uangle] = Initial(PG,PD,PQstandard,Pointpoweri,QG,QD,Busnum); %求功率不平衡量
|
||||||
%disp('迭代次数i 最大不平衡量');
|
%disp('迭代次数i 最大不平衡量');
|
||||||
%% 循环体计算
|
%% 循环体计算
|
||||||
|
|
@ -26,13 +26,9 @@ for i = 0:kmax
|
||||||
if m > Precision %判断不平衡量是否满足精度要求
|
if m > Precision %判断不平衡量是否满足精度要求
|
||||||
[Uangle,U] = solvefun(Busnum,Jacob,PQ,Uangle,U); %求解修正方程,更新电压变量
|
[Uangle,U] = solvefun(Busnum,Jacob,PQ,Uangle,U); %求解修正方程,更新电压变量
|
||||||
else
|
else
|
||||||
%disp(['ÊÕÁ²£¬µü´ú´ÎÊýΪ',num2str(i),'´Î']);
|
disp(['ÊÕÁ²£¬µü´ú´ÎÊýΪ',num2str(i),'´Î']);
|
||||||
break %若满足精度要求,则计算收敛
|
break %若满足精度要求,则计算收敛
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
toc;
|
toc;
|
||||||
PG=PG/PQstandard;
|
end
|
||||||
QG=QG/PQstandard;
|
|
||||||
PD=PD/PQstandard;
|
|
||||||
QD=QD/PQstandard;
|
|
||||||
end
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue