基于matlab的电力系统潮流计算课程设计(毕业论文) 联系客服

发布时间 : 星期一 文章基于matlab的电力系统潮流计算课程设计(毕业论文)更新完毕开始阅读0a4ddc40590216fc700abb68a98271fe900eaf16

%UB=input('请输入电压基准值:UB='); YB=SB./UB./UB; BB1=B1; BB2=B2; for i=1:nl

B1(i,3)=B1(i,3)*YB; B1(i,4)=B1(i,4)./YB; end

disp('B1矩阵B1='); disp(B1) for i=1:n

B2(i,1)=B2(i,1)./SB; B2(i,2)=B2(i,2)./SB; B2(i,3)=B2(i,3)./UB; B2(i,4)=B2(i,4)./UB; B2(i,5)=B2(i,5)./SB; end

disp('B2矩阵B2='); disp(B2) end

% % %--------------------------------------------------- for i=1:nl %支路数

if B1(i,6)==0 %左节点处于低压侧 p=B1(i,1);q=B1(i,2); else

p=B1(i,2);q=B1(i,1); end

Y(p,q)=Y(p,q)-1./(B1(i,3)*B1(i,5)); %非对角元 Y(q,p)=Y(p,q);

Y(q,q)=Y(q,q)+1./(B1(i,3)*B1(i,5)^2)+B1(i,4)./2; %对角元K侧

Y(p,p)=Y(p,p)+1./B1(i,3)+B1(i,4)./2; %对角元1侧 end

%求导纳矩阵

disp('导纳矩阵 Y='); disp(Y)

%---------------------------------------------------------- G=real(Y);B=imag(Y); %分解出导纳阵的实部和虚部

for i=1:n %给定各节点初始电压的实部和虚部 e(i)=real(B2(i,3)); f(i)=imag(B2(i,3));

V(i)=B2(i,4); %PV节点电压给定模值 end

for i=1:n %给定各节点注入功率

S(i)=B2(i,1)-B2(i,2); %i节点注入功率SG-SL B(i,i)=B(i,i)+B2(i,5); %i节点无功补偿量 end

%===================================================================

P=real(S);Q=imag(S);

ICT1=0;IT2=1;N0=2*n;N=N0+1;a=0; while IT2~=0

IT2=0;a=a+1; for i=1:n

if i~=isb %非平衡节点 C(i)=0;D(i)=0; for j1=1:n

C(i)=C(i)+G(i,j1)*e(j1)-B(i,j1)*f(j1);%Σ(Gij*ej-Bij*fj)

D(i)=D(i)+G(i,j1)*f(j1)+B(i,j1)*e(j1);%Σ(Gij*fj+Bij*ej)

end

P1=C(i)*e(i)+f(i)*D(i);%节点功率P计算eiΣ(Gij*ej-Bij*fj)+fiΣ(Gij*fj+Bij*ej)

Q1=C(i)*f(i)-e(i)*D(i);%节点功率Q计算fiΣ(Gij*ej-Bij*fj)-eiΣ(Gij*fj+Bij*ej)

%求P',Q'

V2=e(i)^2+f(i)^2; %电压模平方

%========= 以下针对非PV节点来求取功率差及Jacobi矩阵元素 =========

if B2(i,6)~=3 %非PV节点 DP=P(i)-P1; %节点有功功率差 DQ=Q(i)-Q1; %节点无功功率差

%=============== 以上为除平衡节点外其它节点的功率计算 =================

%================= 求取Jacobi矩阵 =================== for j1=1:n

if j1~=isb&j1~=i %非平衡节点&非对角元 X1=-G(i,j1)*e(i)-B(i,j1)*f(i); % dP/de=-dQ/df

X2=B(i,j1)*e(i)-G(i,j1)*f(i); % dP/df=dQ/de

X3=X2; % X2=dp/df X3=dQ/de X4=-X1; % X1=dP/de X4=dQ/df p=2*i-1;q=2*j1-1;

J(p,q)=X3;J(p,N)=DQ;m=p+1; J(m,q)=X1;J(m,N)=DP;q=q+1; J(p,q)=X4;J(m,q)=X2;

elseif j1==i&j1~=isb %非平衡节点&对角元 X1=-C(i)-G(i,i)*e(i)-B(i,i)*f(i);% dP/de X2=-D(i)+B(i,i)*e(i)-G(i,i)*f(i);% dP/df X3=D(i)+B(i,i)*e(i)-G(i,i)*f(i); % dQ/de X4=-C(i)+G(i,i)*e(i)+B(i,i)*f(i);% dQ/df p=2*i-1;q=2*j1-1;J(p,q)=X3;J(p,N)=DQ;%扩展列△Q

m=p+1;

J(m,q)=X1;q=q+1;J(p,q)=X4;J(m,N)=DP;%扩展列△P

J(m,q)=X2; end end else

%=============== 下面是针对PV节点来求取Jacobi矩阵的元素 ===========

DP=P(i)-P1; % PV节点有功误差 DV=V(i)^2-V2; % PV节点电压误差 for j1=1:n

if j1~=isb&j1~=i %非平衡节点&非对角元 X1=-G(i,j1)*e(i)-B(i,j1)*f(i); % dP/de X2=B(i,j1)*e(i)-G(i,j1)*f(i); % dP/df X5=0;X6=0;

p=2*i-1;q=2*j1-1;J(p,q)=X5;J(p,N)=DV; m=p+1;

J(m,q)=X1;J(m,N)=DP;q=q+1;J(p,q)=X6; J(m,q)=X2;

elseif j1==i&j1~=isb %非平衡节点&对角元 X1=-C(i)-G(i,i)*e(i)-B(i,i)*f(i);% dP/de X2=-D(i)+B(i,i)*e(i)-G(i,i)*f(i);% dP/df X5=-2*e(i); X6=-2*f(i);

p=2*i-1;q=2*j1-1;J(p,q)=X5;J(p,N)=DV; m=p+1;

J(m,q)=X1;J(m,N)=DP;q=q+1;J(p,q)=X6; J(m,q)=X2; end end end end end

%========= 以上为求雅可比矩阵的各个元素 ===================== for k=3:N0 % N0=2*n (从第三行开始,第一、二行是平衡节点)

k1=k+1;N1=N; % N=N0+1 即 N=2*n+1扩展列△P、△Q

for k2=k1:N1 % 扩展列△P、△Q

J(k,k2)=J(k,k2)./J(k,k); % 非对角元规格化 end

J(k,k)=1; % 对角元规格化 if k~=3 % 不是第三行

%============================================================

k4=k-1;

for k3=3:k4 % 用k3行从第三行开始到当前行前的k4行消去

for k2=k1:N1 % k3行后各行下三角元素 J(k3,k2)=J(k3,k2)-J(k3,k)*J(k,k2);%消去运算 end

J(k3,k)=0; end

if k==N0 break; end

%========================================== for k3=k1:N0 for k2=k1:N1

J(k3,k2)=J(k3,k2)-J(k3,k)*J(k,k2);%消去运算 end

J(k3,k)=0; end else

for k3=k1:N0 for k2=k1:N1

J(k3,k2)=J(k3,k2)-J(k3,k)*J(k,k2);%消去运算 end

J(k3,k)=0; end end end

%====上面是用线性变换方式将Jacobi矩阵化成单位矩阵===== for k=3:2:N0-1 L=(k+1)./2;

e(L)=e(L)-J(k,N); %修改节点电压实部 k1=k+1;

f(L)=f(L)-J(k1,N); %修改节点电压虚部 end

%------修改节点电压-----------