threephasese-onlyenquationc.../jacobian.m

40 lines
2.2 KiB
Mathematica
Raw Permalink Normal View History

function [Jacob,PQ,U,Uangle]=jacobian(Busnum,Balance,PVi,PVu,U,Uangle,Y,Angle,P0,Q0,r,c)
%**************************************************************************
% <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> : <EFBFBD>Ӻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>γ<EFBFBD><EFBFBD>ſɱȾ<EFBFBD><EFBFBD><EFBFBD>Jacobian
% <EFBFBD><EFBFBD> <EFBFBD>ߣ<EFBFBD>
% <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>2010.12
%**************************************************************************
%% <EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ſ˱Ⱦ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>H,L,N,J<EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><EFBFBD>޹<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>P,Q
AngleIJ = Uangle(r) - Uangle(c)- Angle';
U(PVi) = PVu;
U(Balance)=1;
temp1= -sparse(1:Busnum,1:Busnum,U,Busnum,Busnum)*Y*sparse(1:Busnum,1:Busnum,U,Busnum,Busnum); % <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ſ˱Ⱦ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD>м<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
temp2 = sum(temp1.*sparse(r,c,sin(AngleIJ)),2);
temp3 = sum(temp1.*sparse(r,c,cos(AngleIJ)),2);
temp4=sparse(1:Busnum,1:Busnum,temp2,Busnum,Busnum);
temp5=sparse(1:Busnum,1:Busnum,temp3,Busnum,Busnum);
H = temp1.*sparse(r,c,sin(AngleIJ))-temp4;
L = temp1.*sparse(r,c,sin(AngleIJ))+temp4;
N = temp1.*sparse(r,c,cos(AngleIJ))+temp5;
J = -temp1.*sparse(r,c,cos(AngleIJ))+temp5;
Q = Q0+temp2'; %<EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>P
P = P0+temp3'; %<EFBFBD><EFBFBD><EFBFBD>޹<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Q
%% <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>pv<EFBFBD>ڵ<EFBFBD>
H(:,Balance) = 0;
H(Balance,:) = 0;
%H(Balance,Balance) = 100; % ƽ<EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ĶԽ<EFBFBD>Ԫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
H=H+sparse(Balance,Balance,ones(1,length(Balance)),Busnum,Busnum);
L(:,PVi) = 0;
L(PVi,:) = 0;
L = L+sparse(PVi,PVi,ones(1,length(PVi)),Busnum,Busnum); % PV<EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ĶԽ<EFBFBD>Ԫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ1
J(:,Balance) = 0;
J(PVi,:) = 0;
N(:,PVi) = 0;
N(Balance,:) = 0;
Q(PVi) = 0; % <EFBFBD><EFBFBD>pv<EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>޹<EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
P(Balance) = 0; % ƽ<EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʲ<EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
%% <EFBFBD>ϳ<EFBFBD>PQ<EFBFBD><EFBFBD><EFBFBD>ſɱȾ<EFBFBD><EFBFBD><EFBFBD>
PQ = cat(2,P,Q); % <EFBFBD>γɹ<EFBFBD><EFBFBD>ʲ<EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Jacob = cat(1,cat(2,H,N),cat(2,J,L)); % <EFBFBD>γ<EFBFBD>Jacobian<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
end