77 lines
2.3 KiB
Plaintext
77 lines
2.3 KiB
Plaintext
function [Jacob]=jacobian_M4(Busnum,Volt,Y,Angle,AngleIJMat)
|
||
%**************************************************************************
|
||
% 程序功能 : 子函数——形成雅可比矩阵Jacobian
|
||
% 编 者:
|
||
% 编制时间:2010.12
|
||
%**************************************************************************
|
||
%% 分别求雅克比矩阵的子阵H,L,N,J及有功无功分量P,Q
|
||
temp1=Volt'*Volt.*Y;
|
||
AngleIJ=AngleIJMat-Angle;
|
||
tt1=temp1.*sin(AngleIJ);
|
||
tt2=temp1.*cos(AngleIJ);
|
||
tt3=diag(tt1);
|
||
tt4=diag(tt2);
|
||
tt5=tt1-diag(tt3);
|
||
tt6=tt2-diag(tt4);
|
||
temp2=sum(tt5,2);
|
||
temp3 = sum(tt6,2);
|
||
HH=temp2;
|
||
JJ=temp3;
|
||
t1=ones(Busnum,1)*Volt.*Y;
|
||
t11=Volt'*ones(1,Busnum).*Y;
|
||
t2=sum(t1.*sin(AngleIJ),2);
|
||
t3=sum(t1.*cos(AngleIJ),2);
|
||
t4=diag(t1.*sin(AngleIJ));
|
||
t5=diag(t1.*cos(AngleIJ));
|
||
NN=-diag(t3)-diag(t5);
|
||
LL=-diag(t2)+diag(t4);
|
||
H = -temp1.*sin(AngleIJ);
|
||
L = -t11.*sin(AngleIJ);%
|
||
N=-t11.*cos(AngleIJ);%
|
||
J = temp1.*cos(AngleIJ);%
|
||
H=H-diag(diag(H));
|
||
N=N-diag(N));
|
||
J=J-diag(J);
|
||
L=L-diag(L);
|
||
H=H+diag(HH);
|
||
N=N+diag(NN);
|
||
J=J+diag(JJ);
|
||
L=L+diag(LL);
|
||
|
||
|
||
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); % 计算雅克比矩阵可利用的中间变量
|
||
% 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); % 形成功率不平衡分量列向量
|
||
% %Jacob = cat(1,cat(2,H,N),cat(2,J,L)); % 形成Jacobian矩阵
|
||
% Jacob=t1;
|
||
%
|
||
% end |