70 lines
4.2 KiB
Mathematica
70 lines
4.2 KiB
Mathematica
|
|
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;
|