⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dpq_jac.m

📁 程序实现用牛顿-拉夫逊迭代法进行潮流计算。不仅有潮流计算
💻 M
字号:
%*******************************
%Filename:DPQ_jac.m
%Author:Hweel_Zheng(郑奕辉)     
%First created:2008.08.23      
%Last mended:2008.08.25
%******************************
function [deltaPQ,Jac,iP,iQ]=DPQ_jac(bus,Y)
%计算功率偏差并形成雅可比矩阵的子函数
%---------------------------------------------------
%先计算功率偏差
%ΔPi=Pi-∑jUiUj(Gijcosδij+Bijsinδij )  i=1,2,...n
%ΔQi=Qi-∑jUiUj(Gijsinδij-Bijcosδij )
nb=size(bus);
cta=bus(:,3);
U=bus(:,2);
G=real(Y);B=imag(Y);
P=bus(:,4);Q=bus(:,5);

iP=0;iQ=0;
for i=1:nb-1
    addP(i)=0;  %addP(i)=∑jUiUj(Gijcosδij+Bijsinδij )
    addQ(i)=0;  %addQ(i)=∑jUiUj(Gijsinδij-Bijcosδij )
    for jl=1:nb
        addP(i)=addP(i)+U(i)*U(jl)*(G(i,jl)*cos(cta(i)-cta(jl))+...
            B(i,jl)*sin(cta(i)-cta(jl)));
        addQ(i)=addQ(i)+U(i)*U(jl)*(G(i,jl)*sin(cta(i)-cta(jl))-...
            B(i,jl)*cos(cta(i)-cta(jl)));
    end
    iP=iP+1;
    DP(iP)=P(i)-addP(i);
    if bus(i,6)==1
        iQ=iQ+1;
        DQ(iQ)=Q(i)-addQ(i);
    end
end
delP=DP';
delQ=DQ';
deltaPQ=[delP;delQ];
%---------------------------------------------------------
%下面形成雅可比矩阵
H=zeros(iP,iP);N=zeros(iP,iQ);
K=zeros(iQ,iP);L=zeros(iQ,iQ);

for i=1:iP
    for jl=1:iP
        if jl~=i
            H(i,jl)=0-U(i)*U(jl)*(G(i,jl)*sin(cta(i)-cta(jl))-...
                B(i,jl)*cos(cta(i)-cta(jl)));
        elseif jl==i
            H(i,jl)=addQ(i)+U(i)^2*B(i,jl);
        end
    end
end
for i=1:iP
    for jl=1:iQ
        if jl~=i
            N(i,jl)=0-U(i)*U(jl)*(G(i,jl)*cos(cta(i)-cta(jl))+...
                B(i,jl)*sin(cta(i)-cta(jl)));
        elseif jl==i
            N(i,jl)=0-U(i)^2*G(i,jl)-addP(i);
        end
    end
end
for i=1:iQ
    for j1=1:iP
        if j1~=i
            K(i,j1)= U(i)*U(j1)*(G(i,j1)*cos(cta(i)-cta(j1))+...
                B(i,j1)*sin(cta(i)-cta(j1)));
        elseif j1==i
            K(i,j1)=U(i)^2*G(i,j1)-addP(i);
        end
    end
end
for i=1:iQ
    for j1=1:iQ
        if j1~=i
            L(i,j1)=0-U(i)*U(j1)*(G(i,j1)*sin(cta(i)-cta(j1))-...
                B(i,j1)*cos(cta(i)-cta(j1)));
        elseif j1==i
            L(i,j1)=U(i)^2*B(i,j1)-addQ(i);
        end
    end
end
Jac=[H,N;K,L];%形成雅可比矩阵
%Jac

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -