?? chaoliu.asv
字號:
function y
clear;
clc;
%nl=5;%網(wǎng)絡(luò)支路數(shù)
%n=5;%網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)
pr=0.00001;%迭代精度
V=[1.05+0i 1 1.05;1+0i 2 0;1+0i 2 0;1+0i 2 0;1.05+0i 3 1.05];
%——V中數(shù)據(jù)依次為——各節(jié)點(diǎn)電壓初始值、節(jié)點(diǎn)分類號('1'為平衡節(jié)點(diǎn),'2'為PQ節(jié)點(diǎn),'3'為PV節(jié)點(diǎn))、節(jié)點(diǎn)給定功率
%節(jié)點(diǎn)電壓、節(jié)點(diǎn)分類號、節(jié)點(diǎn)所接的無功補(bǔ)償設(shè)備容量
b=[2 1 0.03i 0 1.05;3 2 0.08+0.3i 0.5i 1;4 2 0.1+0.35i 0 1;4 3 0.04+0.25i 0.5i 1;3 5 0.015i 0 1.05]
%——b中數(shù)據(jù)依次為——支路始端號、支路末端號、支路阻抗、線路電容、支路變比
%b=[1 5 0.15i 0 1;5 6 0.0025+0.025i 0.0438i 1;6 7 0.001+0.01i 0.0175i 1;6 2 0.15i 0 1;7 8 0.011+0.11i 0.148i 1;8 9 0.001+0.01i 0.0175i 1;9 10 0.0025+0.025i 0.0438i 1;10 3 0.15i 0 1;10 4 0.15i 0 1]
%支路始端號、支路末端號、支路阻抗、線路電容、支路變比
S=[0+0i;-3.7-1.3i;-2-1i;-1.6-0.8i;5];
%各節(jié)點(diǎn)的注入功率
%S=[0+0i;-3.7-1.3i;-7-5i;-1.6-0.8i;5];%各節(jié)點(diǎn)的注入功率
nl=size(b,1);
n=size(V,1);
disp('支路數(shù):')
disp(nl)
disp('節(jié)點(diǎn)數(shù):')
disp(n)
w1=zeros(2*n-2,1);
P=real(S);Q=imag(S);e=zeros(1,n);f=zeros(1,n);E=zeros(1,n);
Y=zeros(n);
for i=1:nl%導(dǎo)納矩陣生成
p=b(i,1);q=b(i,2);
Y(p,q)=Y(p,q)-1./(b(i,3)*b(i,5));
Y(q,p)=Y(p,q);
Y(q,q)=Y(q,q)+1./b(i,3)+b(i,4)./2;
Y(p,p)=Y(p,p)+1./(b(i,3)*b(i,5)^2)+b(i,4)./2;
end
disp('導(dǎo)納矩陣Y:')
disp(Y)
U=zeros(1,n);
G=real(Y);B=imag(Y);
for i=1:n
e(i)=real(V(i,1));f(i)=imag(V(i,1));
U(i)=V(i,3);B(i,i)=B(i,i)+V(i,3);
end
T=0;co=0;d=0;
while T==0
A=0;co=co+1;
for i=2:n %生成雅可比矩陣和功率修正量
for j=2:n
x=0;x1=0;
if V(i,2)==2
for r=1:n
x=x+(e(i)*(G(i,r)*e(r)-B(i,r)*f(r))+f(i)*(G(i,r)*f(r)+B(i,r)*e(r)));
x1=x1+(f(i)*(G(i,r)*e(r)-B(i,r)*f(r))-e(i)*(G(i,r)*f(r)+B(i,r)*e(r)));
end
w(2*i-1)=P(i)-x;
w(2*i)=Q(i)-x1;
else if V(i,2)==3
for r=1:n
x=x+(e(i)*(G(i,r)*e(r)-B(i,r)*f(r))+f(i)*(G(i,r)*f(r)+B(i,r)*e(r)));
end
w(2*i-1)=P(i)-x;
w(2*i)=U(i)^2-(e(i)^2+f(i)^2);
end
end
h=0;h1=0;
if V(i,2)==2
if i==j
for r=1:n
if r==i
continue
end
h=h+(G(i,r)*f(r)+B(i,r)*e(r));
h1=h1+(G(i,r)*e(r)-B(i,r)*f(r));
end
J(2*i-1,2*j-1)=2*G(i,i)*f(i)+h;
J(2*i-1,2*j)=2*G(i,i)*e(i)+h1;
J(2*i,2*j-1)=-2*B(i,i)*f(i)+h1;
J(2*i,2*j)=-2*B(i,i)*e(i)-h;
else
J(2*i-1,2*j-1)=-B(i,j)*e(i)+G(i,j)*f(i);
J(2*i-1,2*j)=G(i,j)*e(i)+B(i,j)*f(i);
J(2*i,2*j-1)=-G(i,j)*e(i)-B(i,j)*f(i);
J(2*i,2*j)=-B(i,j)*e(i)+G(i,j)*f(i);
end
else if V(i,2)==3
if i==j
for r=1:n
if r==i
continue
end
h=h+(G(i,r)*f(r)+B(i,r)*e(r));
h1=h1+(G(i,r)*e(r)-B(i,r)*f(r));
end
J(2*i-1,2*j-1)=2*G(i,i)*f(i)+h;
J(2*i-1,2*j)=2*G(i,i)*e(i)+h1;
J(2*i,2*j-1)=2*f(i);
J(2*i,2*j)=2*e(i);
else
J(2*i-1,2*j-1)=-B(i,j)*e(i)+G(i,j)*f(i);
J(2*i-1,2*j)=G(i,j)*e(i)+B(i,j)*f(i);
J(2*i,2*j-1)=0;
J(2*i,2*j)=0;
end
end
end
end
end
%disp(J)
%disp(w)
for i=3:2*n%高斯消去法求電壓修正量
for j=3:2*n
J1(i-2,j-2)=J(i,j);
end
end
for i=3:2*n
w1(i-2)=w(i);
end
u=zeros(2*n-2,1);
N=2*n-2;
for k=1:N
m=0;
for i=k+1:N
m=J1(i,k)./J1(k,k);
w1(i)=w1(i)-m*w1(k);
for j=k+1:N
J1(i,j)=J1(i,j)-m*J1(k,j);
end
end
end
u(N)=w1(N)./J1(N,N);
for i=N-1:-1:1
c=0;
for k=i+1:N
c=c+J1(i,k)*u(k);
u(i)=(w1(i)-c)./J1(i,i);
end
end
%disp(u)
for i=1:2*n-2
Jd=abs(u(i));
if Jd>pr
A=A+1;
end
end
bm(co)=A;
if A==0
T=1;
else
for i=1:n-1
f(i+1)=f(i+1)+u(2*i-1);
e(i+1)=e(i+1)+u(2*i);
end
d=d+1;
end
end
disp('迭代次數(shù)=')
disp(d)
disp('每次不滿足個數(shù)=')
disp(bm)
for i=1:n
V1(i)=sqrt(e(i)^2+f(i)^2);
O(i)=atan(f(i)./e(i))*180./pi;
end
disp('各節(jié)點(diǎn)電壓大小=')
disp(V1)
disp('各節(jié)點(diǎn)電壓相角=')
disp(O)
E=complex(e,f);
disp('節(jié)點(diǎn)電壓=')
disp(E)
for i=1:n%各節(jié)點(diǎn)功率
o1=0;
for j=1:n
o1=o1+conj(Y(i,j))*conj(E(j));
end
S1(i)=E(i)*o1;
end
disp('各節(jié)點(diǎn)功率=')
disp(S1)
for i=1:nl%各支路首末端功率
p=b(i,1);q=b(i,2);
if b(i,5)==1
S2(p,q)=E(p)*(conj(E(p))*conj(b(i,4)./2)+(conj(E(p))-conj(E(q)))*conj(1./b(i,3)));
S2(q,p)=E(q)*(conj(E(q))*conj(b(i,4)./2)+(conj(E(q))-conj(E(p)))*conj(1./b(i,3)));
else
S2(q,p)=-E(q)*conj(((E(p)./b(i,5))-E(q))./b(i,3));
S2(p,q)=E(p)*conj((E(p)./b(i,5)-E(q))*(1./(b(i,5)*b(i,3))));
end
end
disp('各支路首端功率=')
for i=1:nl
p=b(i,1);q=b(i,2);
disp(S2(p,q))
end
disp('各支路末端功率=')
for i=1:nl
p=b(i,1);q=b(i,2);
disp(S2(q,p))
end
disp('各支路功率損耗=')
for i=1:nl%網(wǎng)絡(luò)總損耗
p=b(i,1);q=b(i,2);
DS(p,q)=S2(p,q)+S2(q,p);
disp(DS(p,q))
end
disp('網(wǎng)絡(luò)總損耗=')
D=0;
for i=1:n
D=D+S1(i);
end
disp(D)
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -