ncp_sigmoid/Sigmoid函数法/readData_RPP.m

70 lines
4.2 KiB
Mathematica
Raw Permalink Normal View History

function [nodeNum,lineNum,capacity,kmax,accuracy,balNum,balNode,mtrLine,mtrGround,mtrTrans,runPara,Pg,Qg,Pd,Qd,pvNum,pvNode,pvV,pvQmin,pvQmax,...
mtrCapacitor,pgNum,pgNode,a,b,c,Pmin,Pmax,Vmin,Vmax,centrPara]=readData_RPP(data)
%<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
%<EFBFBD><EFBFBD>дʱ<EFBFBD>2010<EFBFBD><EFBFBD>10<EFBFBD><EFBFBD>
%% <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD><EFBFBD>Ϊ0<EFBFBD><EFBFBD><EFBFBD>к<EFBFBD>
zeroIndex=find(data(:,1)==0);
%% <EFBFBD><EFBFBD>ȡϵͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
nodeNum=data(1,1); %ϵͳ<EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>
capacity=data(1,3); %<EFBFBD><EFBFBD>׼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
accuracy=data(1,4); %<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
balNum=zeroIndex(2)-zeroIndex(1)-1; %ƽ<EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>
balNode=data(zeroIndex(1)+1:zeroIndex(2)-1,2); %ƽ<EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
kmax=100; %<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
centrPara=0.1; %<EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>
%% <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
mtrLine=data(zeroIndex(2)+1:zeroIndex(3)-1,:);
lineNum=length(mtrLine);
%% <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD>֧·<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
mtrTrans=data(zeroIndex(3)+1:zeroIndex(4)-1,:);
%% <EFBFBD><EFBFBD>ȡ<EFBFBD>ӵ<EFBFBD>֧·<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
mtrGround=data(zeroIndex(5)+1:zeroIndex(6)-1,:);
%% <EFBFBD><EFBFBD><EFBFBD>ɵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
mtrCapacitor=data(zeroIndex(6)+1:zeroIndex(7)-1,:);
%% <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>в<EFBFBD><EFBFBD><EFBFBD>
runPara=data(zeroIndex(8)+1:zeroIndex(9)-1,:);
pqNode=runPara(:,2);
Pg=sparse(nodeNum,1);
Qg=Pg;Pd=Pg;Qd=Pg;
Pg(pqNode)=runPara(:,3); %<EFBFBD>ڵ<EFBFBD><EFBFBD>й<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Qg(pqNode)=runPara(:,4); %<EFBFBD>ڵ<EFBFBD><EFBFBD>޹<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Pd(pqNode)=runPara(:,5); %<EFBFBD>ڵ<EFBFBD><EFBFBD>й<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Qd(pqNode)=runPara(:,6); %<EFBFBD>ڵ<EFBFBD><EFBFBD>޹<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
%% <EFBFBD>й<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
mtrPGLimit=data(zeroIndex(9)+1:zeroIndex(10)-1,:);
pgNum=zeroIndex(10)-zeroIndex(9)-1; %<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD><EFBFBD>
pgNode=mtrPGLimit(:,3); %<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>
c=sparse(mtrPGLimit(:,3),ones(pgNum,1),mtrPGLimit(:,8),nodeNum,1);
b=sparse(mtrPGLimit(:,3),ones(pgNum,1),mtrPGLimit(:,9),nodeNum,1);
a=sparse(mtrPGLimit(:,3),ones(pgNum,1),mtrPGLimit(:,10),nodeNum,1);
Pmin=sparse(mtrPGLimit(:,3),ones(pgNum,1),mtrPGLimit(:,4),nodeNum,1); %<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Pmax=sparse(mtrPGLimit(:,3),ones(pgNum,1),mtrPGLimit(:,5),nodeNum,1); %<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
%% <EFBFBD>޹<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
mtrQGLimit=data(zeroIndex(11)+1:zeroIndex(12)-1,:);
pvNum=zeroIndex(12)-zeroIndex(11)-1;
pvNode=sparse(mtrQGLimit(:,3),ones(pvNum,1),mtrQGLimit(:,3),nodeNum,1);
pvNode=find(pvNode); %PV<EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
pvV=sparse(mtrQGLimit(:,3),ones(pvNum,1),mtrQGLimit(:,4),nodeNum,1); %PV<EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ
pvQmin=sparse(mtrQGLimit(:,3),ones(pvNum,1),mtrQGLimit(:,5),nodeNum,1); %<EFBFBD>޹<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
pvQmax=sparse(mtrQGLimit(:,3),ones(pvNum,1),mtrQGLimit(:,6),nodeNum,1); %<EFBFBD>޹<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
%% <EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
mtrVLimit=data(zeroIndex(13)+1:zeroIndex(14)-1,:);
VLimitNum=zeroIndex(14)-zeroIndex(13)-1; %<EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD>ƵĽڵ<EFBFBD><EFBFBD><EFBFBD>
Vmin=sparse(mtrVLimit(:,2),ones(VLimitNum,1),mtrVLimit(:,3),nodeNum,1);
Vmax=sparse(mtrVLimit(:,2),ones(VLimitNum,1),mtrVLimit(:,4),nodeNum,1);
Vmin=0.9*ones(nodeNum,1); %<EFBFBD>ǵ<EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Vmax=1.15*ones(nodeNum,1);
node_Z=data(zeroIndex(14)+1:zeroIndex(15)-1,1); %<EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD><EFBFBD>Щ<EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0.8-1.2
Vmin(node_Z)=0.85;
Vmax(node_Z)=1.15;
node_220=data(zeroIndex(15)+1:zeroIndex(16)-1,1); %220kV<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͻڵ<EFBFBD>
Vmin(node_220)=0.95;
Vmax(node_220)=1.1;
node_750=data(zeroIndex(16)+1:zeroIndex(17)-1,1); %750kV<EFBFBD>ڵ<EFBFBD>
Vmin(node_750)=1;
Vmax(node_750)=1.1;
node_Monitor=data(zeroIndex(17)+1:zeroIndex(18)-1,1); %<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD>800kV<EFBFBD><EFBFBD><EFBFBD><EFBFBD>վ220<EFBFBD><EFBFBD>363kVĸ<EFBFBD>߽ڵ<EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Vmin(node_Monitor)=1;
Vmax(node_Monitor)=1.1;