52 lines
2.4 KiB
Matlab
52 lines
2.4 KiB
Matlab
function [Y,Yangle,r,c,GB]=YMatrix(Busnum,lineI,lineJ,lineR,lineX,lineB2,groundbranchI,groundbranchB,transI,transJ,transR,transX,transK)
|
|
%% 盄繚
|
|
% t1=-lineR./(lineR.^2+lineX.^2);%萇絳
|
|
% t2=lineX./(lineR.^2+lineX.^2);%萇馨
|
|
% G = +sparse(lineI,lineJ,t1,Busnum,Busnum) + sparse(lineJ,lineI,t1,Busnum,Busnum);
|
|
% B = sparse(lineI,lineJ,t2,Busnum,Busnum)+sparse(lineJ,lineI,t2,Busnum,Busnum);
|
|
% G = G - sparse(1:Busnum,1:Busnum,sum(G,2)');
|
|
% B = B - sparse(1:Busnum,1:Busnum,sum(B,2)');
|
|
t1=lineR+1j*lineX;
|
|
t2=1./t1;
|
|
% realT2=real(t2);
|
|
% imagT2=imag(t2);
|
|
|
|
GB=sparse(lineI,lineJ,-t2,Busnum,Busnum) + sparse(lineJ,lineI,-t2,Busnum,Busnum);
|
|
GB=GB-sparse(1:Busnum,1:Busnum,sum(GB,2));
|
|
% G = +sparse(lineI,lineJ,-realT2,Busnum,Busnum) + sparse(lineJ,lineI,-realT2,Busnum,Busnum);
|
|
% B = sparse(lineI,lineJ,-imagT2,Busnum,Busnum)+sparse(lineJ,lineI,-imagT2,Busnum,Busnum);
|
|
% G = G - sparse(1:Busnum,1:Busnum,sum(G,2)');
|
|
% B = B - sparse(1:Busnum,1:Busnum,sum(B,2)');
|
|
% G=real(GB);
|
|
% B=imag(GB);
|
|
%% 諉華絳馨
|
|
% t3=sparse(lineI,lineI,lineB2,Busnum,Busnum)+sparse(lineJ,lineJ,lineB2,Busnum,Busnum);%諉華盓繚
|
|
%B=B+t3;
|
|
t1=1j*lineB2;
|
|
GB=GB+sparse(lineI,lineI,t1,Busnum,Busnum)+sparse(lineJ,lineJ,t1,Busnum,Busnum);
|
|
% B=imag(GB);
|
|
%% 諉華盓繚
|
|
if isempty(groundbranchI)==0 %準諾
|
|
% B=B+sparse(groundbranchI,groundbranchI,groundbranchB,Busnum,Busnum);
|
|
|
|
GB=GB+sparse(groundbranchI,groundbranchI,1j*groundbranchB,Busnum,Busnum);
|
|
% B=imag(GB);
|
|
end
|
|
%% 曹揤け
|
|
if isempty(transI)==0 %準諾
|
|
% t1 = -transR./(transR.^2+transX.^2);
|
|
% t2 = transX./(transR.^2+transX.^2);
|
|
t1=1./(transR+1j*transX);
|
|
% G = G+sparse(transI,transJ,t1./transK,Busnum,Busnum)+sparse(transJ,transI,t1./transK,Busnum,Busnum)-sparse(transI,transI,t1./transK./transK,Busnum,Busnum)-sparse(transJ,transJ,t1,Busnum,Busnum);
|
|
% B = B+sparse(transI,transJ,t2./transK,Busnum,Busnum)+sparse(transJ,transI,t2./transK,Busnum,Busnum)-sparse(transI,transI,t2./transK./transK,Busnum,Busnum)-sparse(transJ,transJ,t2,Busnum,Busnum);
|
|
GB=GB+sparse(transI,transJ,-t1./transK,Busnum,Busnum)+sparse(transJ,transI,-t1./transK,Busnum,Busnum)+sparse(transI,transI,t1./transK./transK,Busnum,Busnum)+sparse(transJ,transJ,t1,Busnum,Busnum);
|
|
% G=real(GB);
|
|
% B=imag(GB);
|
|
end
|
|
%GB=G+1j*B;
|
|
Y = abs(GB);
|
|
[r,c,Yangle] = find(GB);
|
|
Yangle=angle(Yangle);
|
|
%Yangle=angle(GB);
|
|
%Angle = angle(GB(GB~=0));
|
|
end |