将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
|
tic
|
||||||
|
clc
|
||||||
clear
|
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]= ...
|
[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('c:/file31.txt');
|
||||||
%pf('ieee118PG.dat');
|
%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;
|
Volt;
|
||||||
UAngel*180/3.1415926;
|
UAngel*180/3.1415926;
|
||||||
%% 通过潮流计算PG
|
%% 通过潮流计算PG
|
||||||
|
|
@ -18,7 +20,7 @@ PG0=PG;
|
||||||
PD0=PD;
|
PD0=PD;
|
||||||
|
|
||||||
PDReal=PD;%真值
|
PDReal=PD;%真值
|
||||||
PD0(12)=PD0(12)+0.001;
|
%PD0(12)=PD0(12)+0.001;
|
||||||
%%
|
%%
|
||||||
PG0(Balance)=PGBal(Balance);
|
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;
|
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,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,Branchb);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue