pes2014-wronglowervoltagebound/jacobian_M2.m

84 lines
2.7 KiB
Mathematica
Raw Normal View History

2012-05-22 11:33:21 +08:00
function [Jacob]=jacobian_M2(Busnum,Volt,Y,Angle,AngleIJMat)
%**************************************************************************
% <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
temp1=Volt'*Volt.*Y;
AngleIJ=AngleIJMat-Angle;
temp2=sum(temp1.*sin(AngleIJ),2);
temp3 = sum(temp1.*cos(AngleIJ),2);
temp4=diag(temp2);
temp5=diag(temp3);
%t1=Volt'*ones(1,Busnum).*Y;
t1=ones(Busnum,1)*Volt.*Y;
t11=Volt'*ones(1,Busnum).*Y;
%t1=Volt'*Volt.*Y;
t2=sum(t1.*sin(AngleIJ),2);
t3=sum(t1.*cos(AngleIJ),2);
t4=diag(t2);
t5=diag(t3);
H = -temp1.*sin(AngleIJ)+temp4;%
L = -t11.*sin(AngleIJ);%
%L(1:Busnum,1:Busnum)=-temp44+;
L=L-t4;
N=-t11.*cos(AngleIJ);%
%N(1:Busnum,1:Busnum)=-temp55-diag(diag(temp11.*cos(Angle) ) );
N=N-t5;
J = temp1.*cos(AngleIJ)-temp5;%
%%%%
%t=diag(Volt);
%N=t*N;%*t;
%L=t*L;%*t;
%%%%
%%
%<EFBFBD><EFBFBD><EFBFBD>޹<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Q
% ƽ<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>
% t1(1:)
% <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>
t1=zeros(2*Busnum);
t1(1:2:2*Busnum,1:2:2*Busnum)=H;
t1(1:2:2*Busnum,2:2:2*Busnum)=N;
t1(2:2:2*Busnum,1:2:2*Busnum)=J;
t1(2:2:2*Busnum,2:2:2*Busnum)=L;
Jacob=t1;
end
% function Jacob=jacobian_M1(Busnum,PVi,PVu,U,Uangle,Y,Angle,r,c)
% AngleIJ = Uangle(r) - Uangle(c)- Angle';
% U(PVi) = PVu;
% 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;
%
%
% t1=zeros(2*Busnum);
% t1(1:2:2*Busnum,1:2:2*Busnum)=H;
% t1(1:2:2*Busnum,2:2:2*Busnum)=N;
% t1(2:2:2*Busnum,1:2:2*Busnum)=J;
% t1(2:2:2*Busnum,2:2:2*Busnum)=L;
% % t1(1:)
% % 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>
% Jacob=t1;
%
% end