将openfile2.m修改为可以读取中调的格式
Signed-off-by: unknown <dmy@dmy-PC.(none)>
This commit is contained in:
parent
798e1e88ac
commit
cf14e01a87
8
OPF.m
8
OPF.m
|
|
@ -1,12 +1,14 @@
|
|||
tic
|
||||
clc
|
||||
clear
|
||||
[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]= ...
|
||||
pf('D:\Project\最小化潮流\最小潮流算例\金湖924(2-1)_0.5_85%.txt');
|
||||
pf('D:\Project\×îС»¯³±Á÷\×îС³±Á÷ËãÀý\Ôʼ\standard.txt');
|
||||
%pf('D:\Project\×îС»¯³±Á÷\×îС³±Á÷ËãÀý\Ïɺ£919.txt');
|
||||
%pf('c:/file31.txt');
|
||||
%pf('ieee118PG.dat');
|
||||
|
||||
%% 计算功率因数
|
||||
atan(PD(QD~=0 | PD~=0)./QD(QD~=0 | PD~=0))
|
||||
%atan(PD(QD~=0 | PD~=0)./QD(QD~=0 | PD~=0));
|
||||
Volt;
|
||||
UAngel*180/3.1415926;
|
||||
%% 通过潮流计算PG
|
||||
|
|
@ -18,7 +20,7 @@ PG0=PG;
|
|||
PD0=PD;
|
||||
|
||||
PDReal=PD;%真值
|
||||
PD0(12)=PD0(12)+0.001;
|
||||
%PD0(12)=PD0(12)+0.001;
|
||||
%%
|
||||
PG0(Balance)=PGBal(Balance);
|
||||
%%
|
||||
|
|
|
|||
|
|
@ -0,0 +1,84 @@
|
|||
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)
|
||||
%**************************************************************************
|
||||
% 程序简介 : 子函数——读取潮流计算所需数据
|
||||
% 编 者:
|
||||
% 编制时间 :2010.12
|
||||
%**************************************************************************
|
||||
data = dlmread(FileName); % 一次读入全部数据
|
||||
zeroRow = find(data(:,1)==0);
|
||||
Busnum= data(1,1); % 节点数
|
||||
PQstandard = data(1,3); % 基准容量
|
||||
kmax = data(1,4); %最大迭代次数
|
||||
Precision = data(1,4); % 精度
|
||||
%Balance = data(3,2);
|
||||
Balance=data(3:zeroRow(2)-1,2);% 生成1到节点号的列向量
|
||||
%CenterA=data(1,5); %中心参数
|
||||
%LineNum=data(1,2); %支路数
|
||||
Base=data(1,3);
|
||||
%% 各参数矩阵分块
|
||||
|
||||
line = data(zeroRow(2)+1:zeroRow(3)-1,:); % 形成线路参数矩阵
|
||||
ground = data(zeroRow(5)+1:zeroRow(6)-1,:); % 形成对地支路参数矩阵
|
||||
tran = data(zeroRow(3)+1:zeroRow(4)-1,:); % 形成变压器参数矩阵
|
||||
buspq = data(zeroRow(8)+1:zeroRow(9)-1,:); % 形成节点功率参数矩阵
|
||||
PV = data(zeroRow(11)+1:zeroRow(12)-1,:); % 形成pv节点功率参数矩阵
|
||||
GenP=data(zeroRow(9)+1:zeroRow(10)-1,:);
|
||||
GenQ=data(zeroRow(11)+1:zeroRow(12)-1,:);
|
||||
%% 线路参数矩阵分块
|
||||
Linei = line(:,2); % 节点i
|
||||
Linej= line(:,3); % 节点j
|
||||
Liner = line(:,4); % 线路电阻
|
||||
Linex = line(:,5); % 线路电抗
|
||||
Lineb = line(:,6); % b/2
|
||||
%% 对地支路参数矩阵
|
||||
Branchi = ground(:,2); % 对地支路节点号
|
||||
Branchb = ground(:,4); % 对地支路的导纳
|
||||
%% 变压器参数矩阵
|
||||
Transfori = tran(:,3); % 节点i
|
||||
Transforj= tran(:,4); % 节点j
|
||||
Transforr = tran(:,5); % 变压器电阻
|
||||
Transforx= tran(:,6); % 变压器电抗
|
||||
Transfork0 = tran(:,7); % 变压器变比
|
||||
%% 节点功率参数矩阵
|
||||
Pointpoweri = buspq(:,3);
|
||||
PG=buspq(:,5); % 发电机有功
|
||||
QG=buspq(:,6); % 发电机无功
|
||||
PD=buspq(:,7); % 负荷有功
|
||||
QD=buspq(:,8); % 负荷无功
|
||||
%%除以基值
|
||||
PG=PG/Base;
|
||||
QG=QG/Base;
|
||||
PD=PD/Base;
|
||||
QD=QD/Base;
|
||||
%%
|
||||
PD=sparse(PD);
|
||||
QD=sparse(QD);
|
||||
PG=sparse(PG);
|
||||
QG=sparse(QG);
|
||||
%% pv节点功率参数矩阵
|
||||
PVi = PV(:,3); % PV节点的节点号
|
||||
PVu = PV(:,5); % PV节点电压
|
||||
PVQL=PV(:,6);%PV节点无功下限
|
||||
PVQL=PVQL/Base;
|
||||
PVQU=PV(:,7); %PV节点无功上限
|
||||
PVQU=PVQU/Base;
|
||||
%% 发电机参数
|
||||
%GenU=Gen(:,[1 5 6]);
|
||||
%GenL=Gen(:,[1 7 8]);
|
||||
GenC=GenP(:,[3 7:9]);
|
||||
t=GenC(:,2);
|
||||
GenC(:,2)=GenC(:,4);
|
||||
GenC(:,4)=t;
|
||||
%%%%%%%%%%%%%%%%%%%%
|
||||
%GenC(:,2:4)=100*GenC(:,2:4);
|
||||
t=GenP(:,[3 5]);
|
||||
%GenL=[t,PVQL(PVi)];
|
||||
GenL=t;%有功下界
|
||||
GenL(:,2)=GenL(:,2)/Base;
|
||||
t=GenP(:,[3 6]);
|
||||
%GenU=[t,PVQU(PVi)];
|
||||
GenU=t;%有功上届
|
||||
GenU(:,2)=GenU(:,2)/Base;
|
||||
PGi=GenP(:,3);%发电机节点号
|
||||
end
|
||||
|
|
@ -0,0 +1,84 @@
|
|||
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)
|
||||
%**************************************************************************
|
||||
% 程序简介 : 子函数——读取潮流计算所需数据
|
||||
% 编 者:
|
||||
% 编制时间 :2010.12
|
||||
%**************************************************************************
|
||||
data = dlmread(FileName); % 一次读入全部数据
|
||||
zeroRow = find(data(:,1)==0);
|
||||
Busnum= data(1,1); % 节点数
|
||||
PQstandard = data(1,3); % 基准容量
|
||||
kmax = 60;%data(1,4); %最大迭代次数
|
||||
Precision = data(1,4); % 精度
|
||||
%Balance = data(3,2);
|
||||
Balance=data(3:zeroRow(2)-1,2);% 生成1到节点号的列向量
|
||||
CenterA=0.1;%data(1,5); %中心参数
|
||||
LineNum=data(1,2); %支路数
|
||||
Base=data(1,3);
|
||||
%% 各参数矩阵分块
|
||||
|
||||
line = data(zeroRow(2)+1:zeroRow(3)-1,:); % 形成线路参数矩阵
|
||||
ground = data(zeroRow(5)+1:zeroRow(6)-1,:); % 形成对地支路参数矩阵
|
||||
tran = data(zeroRow(3)+1:zeroRow(4)-1,:); % 形成变压器参数矩阵
|
||||
buspq = data(zeroRow(8)+1:zeroRow(9)-1,:); % 形成节点功率参数矩阵
|
||||
PV = data(zeroRow(11)+1:zeroRow(12)-1,:); % 形成pv节点功率参数矩阵
|
||||
GenP=data(zeroRow(9)+1:zeroRow(10)-1,:);
|
||||
GenQ=data(zeroRow(11)+1:zeroRow(12)-1,:);
|
||||
%% 线路参数矩阵分块
|
||||
Linei = line(:,2); % 节点i
|
||||
Linej= line(:,3); % 节点j
|
||||
Liner = line(:,4); % 线路电阻
|
||||
Linex = line(:,5); % 线路电抗
|
||||
Lineb = line(:,6); % b/2
|
||||
%% 对地支路参数矩阵
|
||||
Branchi = ground(:,2); % 对地支路节点号
|
||||
Branchb = ground(:,4); % 对地支路的导纳
|
||||
%% 变压器参数矩阵
|
||||
Transfori = tran(:,3); % 节点i
|
||||
Transforj= tran(:,4); % 节点j
|
||||
Transforr = tran(:,5); % 变压器电阻
|
||||
Transforx= tran(:,6); % 变压器电抗
|
||||
Transfork0 = tran(:,7); % 变压器变比
|
||||
%% 节点功率参数矩阵
|
||||
Pointpoweri = buspq(:,3);
|
||||
PG=buspq(:,5); % 发电机有功
|
||||
QG=buspq(:,6); % 发电机无功
|
||||
PD=buspq(:,7); % 负荷有功
|
||||
QD=buspq(:,8); % 负荷无功
|
||||
%%除以基值
|
||||
PG=PG/Base;
|
||||
QG=QG/Base;
|
||||
PD=PD/Base;
|
||||
QD=QD/Base;
|
||||
%%
|
||||
PD=sparse(PD);
|
||||
QD=sparse(QD);
|
||||
PG=sparse(PG);
|
||||
QG=sparse(QG);
|
||||
%% pv节点功率参数矩阵
|
||||
PVi = PV(:,3); % PV节点的节点号
|
||||
PVu = PV(:,5); % PV节点电压
|
||||
PVQL=PV(:,6);%PV节点无功下限
|
||||
PVQL=PVQL/Base;
|
||||
PVQU=PV(:,7); %PV节点无功上限
|
||||
PVQU=PVQU/Base;
|
||||
%% 发电机参数
|
||||
%GenU=Gen(:,[1 5 6]);
|
||||
%GenL=Gen(:,[1 7 8]);
|
||||
GenC=GenP(:,[3 7:9]);
|
||||
t=GenC(:,2);
|
||||
GenC(:,2)=GenC(:,4);
|
||||
GenC(:,4)=t;
|
||||
%%%%%%%%%%%%%%%%%%%%
|
||||
%GenC(:,2:4)=100*GenC(:,2:4);
|
||||
t=GenP(:,[3 5]);
|
||||
%GenL=[t,PVQL(PVi)];
|
||||
GenL=t;%有功下界
|
||||
GenL(:,2)=GenL(:,2)/Base;
|
||||
t=GenP(:,[3 6]);
|
||||
%GenU=[t,PVQU(PVi)];
|
||||
GenU=t;%有功上届
|
||||
GenU(:,2)=GenU(:,2)/Base;
|
||||
PGi=GenP(:,3);%发电机节点号
|
||||
end
|
||||
2
pf.m
2
pf.m
|
|
@ -10,7 +10,7 @@ function [kmax,Precision,Uangle,U,Busnum,PVi,PVu,Balance,Y,Angle,P0,Q0,r,c,GB,Li
|
|||
tic;
|
||||
%% 读取数据文件
|
||||
[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,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,...
|
||||
Transforx,Transfork0,Branchi,Branchb);
|
||||
|
|
|
|||
Loading…
Reference in New Issue