www.pudn.com > OPF.zip > Ymatrix.m, change:2013-01-22,size:2158b


%% *************************************************************** 
%             作者:陆镛 
%             原创日期:2012年11月24号 
%             修改日期:2012年11月24号 
%             函数说明:形成节点导纳幅值和相角矩阵。 
%% *************************************************************** 
function [AmplitudeY,AngleY,I,J,LineY,TransformerY] = Ymatrix(NodeNum,LineI... 
    ,LineJ,LineR,LineX,LineB,GroundI,GroundB,TransformerI,TransformerJ,... 
    TransformerR,TransformerX,TransformerK) 
%% 变量说明:****************************************************** 
% 输入参数说明:NodeNum:节点数  LineI:线路节点i  LineJ:线路节点j  LineR:线路电阻 
% LineX:线路电抗  LineB:线路对地电纳  TransformerI:变压器节点i  TransformerJ:变压器节点j   
% TransformerR:变压器电阻  TransformerX:变压器电抗  TransformerK:变压器变比 
% 输出参数说明:AmplitudeY:节点导纳矩阵幅值  AngleY:节点导纳矩阵相角 
% I:线路、变压器节点i  J:线路、变压器节点j 
%% *************************************************************** 
LineY=1./(LineR+1i*LineX);                                                  %由LineR和LineX算出线路导纳,并赋值给LineY。 
TransformerY=1./(TransformerR+1i*TransformerX);                             %由TransformerR和TransformerX算出变压器导纳,并赋值给TransformerY。 
 
I=[LineI;TransformerI];                                                     %由线路、变压器节点i组成I 
J=[LineJ;TransformerJ];                                                     %由线路、变压器节点j组成J 
 
Y1=sparse([I;J],[J;I],[-LineY;-TransformerY./TransformerK;-LineY;... 
    -TransformerY./TransformerK],NodeNum,NodeNum);                          %稀疏形成节点导纳矩阵非对角线 
Y2=sparse([I;J;GroundI],[I;J;GroundI],[LineY+1i*LineB;... 
    TransformerY./TransformerK./TransformerK;LineY+1i*LineB;... 
    TransformerY;1i*GroundB],NodeNum,NodeNum);                              %稀疏形成节点导纳矩阵的对角线 
 
AmplitudeY=spfun(@abs,Y1+Y2);                                               %从节点导纳矩阵的复数形式中得出节点导纳矩阵幅值。 
AngleY=spfun(@angle,Y1+Y2);                                                 %从节点导纳矩阵的复数形式中得出节点导纳矩阵相角。 
end