function Jacob=jacobian_M(Busnum,Volt,Y,Angle,AngleIJMat) %************************************************************************** % 程序功能 : 子函数——形成雅可比矩阵Jacobian % 编 者: % 编制时间:2010.12 %************************************************************************** %% 分别求雅克比矩阵的子阵H,L,N,J及有功无功分量P,Q temp1=-Volt'*Volt.*Y; AngleIJ=AngleIJMat-Angle; temp11=Volt'*ones(1,Busnum).*Y; temp2=sum(temp1.*sin(AngleIJ),2); temp22 = sum(temp11.*sin(AngleIJ),2); temp3 = sum(temp1.*cos(AngleIJ),2); temp33 = sum(temp11.*cos(AngleIJ),2); temp4=diag(temp2); temp44=diag(temp22); temp5=diag(temp3); temp55=diag(temp33); %计算Lii的累加项 t1=ones(Busnum,1)*Volt.*Y; t2=sum(t1.*sin(AngleIJ),2); t3=sum(t1.*cos(AngleIJ),2); t4=diag(t2); H = temp1.*sin(AngleIJ)-temp4;% L = -temp11.*sin(AngleIJ);% %L(1:Busnum,1:Busnum)=-temp44+; L=L-t3.* N=-temp11.*cos(AngleIJ);% N(1:Busnum,1:Busnum)=-temp55-diag(diag(temp11.*cos(Angle) ) ); J = -temp1.*cos(AngleIJ)+temp5;% %% %Q = Q0+temp2'; %求有功分量P %P = P0+temp3'; %求无功分量Q %% 处理平衡节点和pv节点 % H(:,Balance) = 0; % H(Balance,:) = 0; % H(Balance,Balance) = 100; % 平衡节点对应的对角元素置一个有限数 % L(:,PVi) = 0; % L(PVi,:) = 0; % L = L+sparse(PVi,PVi,ones(1,length(PVi)),Busnum,Busnum); % PV节点对应的对角元素置为1 % J(:,Balance) = 0; % J(PVi,:) = 0; % N(:,PVi) = 0; % N(Balance,:) = 0; % Q(PVi) = 0; % 将pv节点的无功不平衡分量置零 % P(Balance) = 0; % 平衡节点的有功功率不平衡分量置零 %% 合成PQ和雅可比矩阵 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