📄 dlzd.m
字号:
%本程序的功能是计算三相短路的短路电流,各节点电压,各支路电流
NF=input('请输入短路点的数目:NF=');
n=input('请输入独立节点数:n=');
nl=input('请输入支路数:nl=');
B=input('请输入由线路参数形成的矩阵:B=');
V0=input('请输入由各节点的初电压标幺值形成的列矩阵:VO');
D=input('请输入由短路号,短路点阻抗组成的矩阵D=');
m=0;Z=zeros(n);V=zeros(n);I=zeros(nl);
for k1=1:nl;
p=B(k1,1);q=B(kl,2);
if B(k1,6)==0;
k=1./B(k1,5);
else k=B(k1,5);
end
if p==0
if q>m %追加接地树支
Z(q,q)=B(k1,3);m=m+1;
else %追加接地连支
for i=1:m
Z(i,m+1)=-Z(i,q);Z(m+1,i)=-Z(q,i);
end
Z(m+1,m+1)=Z(q,q)+B(kl,3);
for i=1:m
for j=1:m
Z(i,j)=Z(i,j)-Z(i,m+1)*Z(m+1,j)./Z(m+1,m+1);
end
Z(i,m+1)=0;
end
for i=1:m+1
Z(m+1,i)=0;
end
end
else if q>m %追加不接地树支
for i=1:m
Z(i,q)=Z(i,p)*k;Z(q,i)=Z(p,i)*k;
end
Z(q,q)=k^2*Z(p,p)+k^2*B(K1,3);
m=m+1;
else
for i=1:m %追加不接地连支
Z(i,m+1)=k*Z(i,p)-Z(i,q);
Z(m+1,i)=k*Z(p,i)-Z(q,i);
end
Z(m+1,m+1)=k^2*Z(p,p)+Z(q,q)-2*k*Z(p,q)+k^2*B(k1,3);
for i=1:m
for j=1:m
Z(i,j)=Z(i,j)-Z(i,m+1)*Z(m+1,j)./Z(m+1,m+1);
end
Z(i,m+1)=0;
end
for i=1:m+1
Z(m+1,i)=0;
end
end
end
end
for k=1:NF %求各短路点的电流标幺值
I(D(k,1),D(k,1))=V0(D(k,1),1)./(Z(D(k,1),D(k,1))+D(k,2));
ft=num2str(D(k,1));
ts1=('点短路时');
ts2=('电流的标幺值If=');
dn=strcat(ft,ts1,ts2);
disp(dn);
disp( I(D(k,1),D(k,1)));
for i=1:n
V(i,i)=V0(i,1)-I(D(k,1),D(k,1))*Z(i,D(k,1)); %求各节点的电压标幺值
end
for i=1:nl %求各支路的短路电流标幺值
if B(i,6)==0
k=B(i,5);
else k=1./B(i,5);
end
p=B(i,1);q=B(i,2);
if p==0
e=0;b=B(i,3);
I(i,i)=(e-V(q,q)./k)./b;
else
I(i,i)=(e-V(q,q)./k)./B(i,3);
end
end
disp('各节点的电压标幺值U为(节点号从小到大):');
for i=1:n
disp(V(i,i));
end
disp('各支路短路电流的标幺值I为:');
for i=1:nl
disp (I(i,i));
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -