您好,欢迎访问三七文档
一、三相短路故障计算MATLAB程序n=4;%独立节点数nl=3;%支路数B1=[130.51i010;230.59i010;341.43i010];%线路参数形成的矩阵X=[10.2i;24i;30;40];%对地阻抗形成的矩阵V0=[1;1;1;1];%各节点的初电压标幺值形成的列矩阵D=[40];%短路点阻抗组成的矩阵NF=1;%短路点数目B=[0;0;0;1];%常数项矩阵(短路点对应为1,其余节点对应为0)Y=zeros(n);%初始化节点导纳矩阵fori=1:n%初始化节点是否非直接接地ifX(i,2)~=0;%判断i节点是否非直接接地p=X(i,1);Y(p,p)=1./X(i,2);%算自导中接地阻抗的导纳endend%形成节点导纳矩阵fori=1:nlifB1(i,6)==0%判断变压器的变比是否在低压侧(it=0说明i侧为低压侧;it=1说明i侧为高压侧)p=B1(i,1);q=B1(i,2);elsep=B1(i,2);q=B1(i,1);endY(p,q)=Y(p,q)-1./B1(i,3)*B1(i,5);%节点互导纳Y(q,p)=Y(p,q);%节点互导纳Y(p,p)=Y(p,p)+1./B1(i,3)*B1(i,5)^2+B1(i,4)./2;%节点导纳=自导纳+X修正量Y(q,q)=Y(q,q)+1./B1(i,3)+B1(i,4)./2;enddisp('导纳矩阵');disp(Y);%输出导纳矩阵A=Y;[n,m]=size(A);%解线性方程组,形成矩阵因子表Afori=1:nA(i,i)=1./A(i,i);forj=i+1:nA(i,j)=A(i,j)*A(i,i);%矩阵规格化endfork=i+1:nforj=i+1:nA(k,j)=A(k,j)-A(k,i)*A(i,j);endendenddisp('矩阵A的因子表为');disp(A);B=input('请输入常数项矩阵(短路点对应为1,其余节点对应为0),:B=');%利用因子表对常数项进行的前代过程(修正矩阵B)fori=1:nB(i)=B(i)*A(i,i);forj=i+1:nB(j)=B(j)-A(j,i)*B(i);endenddisp('利用因子表对常数项进行会带的结果为:B=');disp(B)%利用因子表的上三角回带过程fori=n-1:-1:1forj=i+1:-1:2B(j-1)=B(j-1)-A(j-1,i+1)*B(i+1);endenddisp('在因子表的基础上求解线性方程组的解为:X=');disp(B);%解出各节点电压即得到Zik,此时B为列向量V0=input('请输入由各节点的初始电压标幺值形成的列矩阵:V0=');D=input('请输入由短路号、短路点阻抗组成的矩阵:D=');NF=input('请输入短路点的数目:NF=');Z=zeros(n);V=zeros(n);I=zeros(nl);fork=1:NF%求各短路点的电流标幺值disp('短路点与其他各节点的互阻抗');fori=1:nZ(i,D(k,1))=B(i,1);disp(Z(i,D(k,1)));endI(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)));fori=1:nV(i,i)=V0(i,1)-I(D(k,1),D(k,1))*Z(i,D(k,1));%求各节点的电压标幺值电压end%求非接地支路的短路电流标幺值fori=1:nlifB1(i,6)==0%判断该支路是否为含有变压器支路且变比在低压侧k=B1(i,5);elsek=1./B1(i,5);endp=B1(i,1);q=B1(i,2);I(i,i)=(V(p,p)-V(q,q)./k)./B1(i,3);%各支路短路电流=支路残压/支路阻抗(标幺值)enddisp('各节点的电压标幺值U为(节点号从小到大排):');fori=1:ndisp(V(i,i));enddisp('各接地支路短路电流的标幺值I为(顺序同您输入B时一样');fori=1:nifX(i,2)~=0;%判断i节点是否为直接接地e=0;b=X(i,2);Ii0=(e-V(i,i))./b;disp(Ii0);endenddisp('各非接地支路短路电流的标幺值I为(顺序同您输入B时一样):');fori=1:nldisp(I(i,i));endend二、程序输出结果导纳矩阵0-6.9608i00+1.9608i000-1.9449i0+1.6949i00+1.9608i0+1.6949i0-4.3550i0+0.6993i000+0.6993i0-0.6993i矩阵A的因子表为0+0.1437i0-0.2817000+0.5142i-0.871500+1.9608i0+1.6949i0+0.4300i-0.3007000+0.6993i0+2.0449i请输入常数项矩阵(短路点对应为1,其余节点对应为0),:B=[0;0;0;1]利用因子表对常数项进行会带的结果为:B=0000+2.0449i在因子表的基础上求解线性方程组的解为:X=0+0.1732i0+0.5358i0+0.6149i0+2.0449i请输入由各节点的初始电压标幺值形成的列矩阵:V0=[1;1;1;1]请输入由短路号、短路点阻抗组成的矩阵:D=[4,0]请输入短路点的数目:NF=1短路点与其他各节点的互阻抗0+0.1732i0+0.5358i0+0.6149i0+2.0449i4点短路时电流的标幺值If=0-0.4890i各节点的电压标幺值U为(节点号从小到大排):0.91530.73800.69930各接地支路短路电流的标幺值I为(顺序同您输入B时一样0+4.5765i0+0.1845i各非接地支路短路电流的标幺值I为(顺序同您输入B时一样):0-0.4235i0-0.0655i0-0.4890i三、程序说明1、短路电流计算的计算机方法(MATLAB算法)短路电流计算实质上就是求解交流电路的稳态电流,其数学模型也就是网络的线性代数方程组。短路故障的计算必须预先形成节点阻抗矩阵,目前形成阻抗矩阵的方法有两种,一种是节点导纳矩阵求逆(导纳矩阵法),一种是用支路追加法。一般选用网络节点方程,即用节点阻抗矩阵或节点导纳矩阵描述的网络方程。本例中采用节点导纳矩阵描述的网络方程。2、短路故障计算的步骤(1)、输入已知数据:短路点的数目NF、节点数n、支路数nl、支路参数矩阵B1、各节点的初电压标幺值形成的列矩阵V0、短路点阻抗组成的矩阵D、故障点。(2)、形成节点导纳矩阵(3)、解线性方程组,形成矩阵因子表(4)、计算短路电流(5)、计算各节点故障分量电压(6)、计算故障后全电压=故障前电压+故障分量电压(7)、计算任意支路电流3、本例程序的优缺点及解决的问题电力系统短路电流计算是电力系统运行、分析的重要环节,是电力设计中最重要的计算之一。传统的短路电流计算是以手工计算为基础进行的,先通过相关电路知识化简所求的电力网络,求出各电源点对短路点的转移阻抗,进而计算出电抗Xjs,再查找运算曲线,最终求得短路电流的周期分量。传统的手工计算过程非常繁杂,工作量大,容易出错。随着电网规模的扩大传统的手工计算已经不能满足现代电力网络设计的要求。此时,采用计算机辅助计算显得势在必行。在实际的计算机计算中有两种思路来解决这个问题,一种是通过节点导纳矩阵求逆(导纳矩阵法),另一种是用支路追加法。应用中第一种算法用的较多,第二种用的较少,在潮流计算中用到了节点导纳矩阵,它可以很容易的根据网络接线及参数直接形成,而且具有对称性和稀疏性,可有效的节约内存空间,提高运算速度。但是,短路电流的计算却大不相同,使用导纳矩阵的最终目的是形成节点阻抗矩阵(满矩阵),最终存储的也是阻抗矩阵的元素。因此,通常意义上说的导纳矩阵的优势难以体现。本题通过节点导纳矩阵的方法计算出各短路点电流、电压以及各支路电压。解决了手工计算的计算量大、易错的问题。3.1、占用空间与时间性能比较以前短路电流计算多用于离线计算,现如今越来越多的在线应用软件增加了短路电流计算的功能,因而提高计算速度,减小内存容量是研究多种算法的目的之一。在采用支路追加法时,形成阻抗矩阵的速度主要决定于追加链支所需要的运算量。而节点导纳矩阵最大的优势是容易直观写出矩阵的各元素。但是我们应该看到,求逆的结果必然导致该方法比支路追加法占用的内存量要大,并且随着电网规模的增加,它的增长趋势是呈指数的。3.2、算法误差分析通过查询实验资料可以看出,对于6节点的系统,当保留6位小数时,两种方法所求的节点阻抗矩阵一致,但是当运行大节点系统时,如233节点的电网,两者的误差就比较明显了,但也只在104数量级上。
本文标题:短路故障计算
链接地址:https://www.777doc.com/doc-4964501 .html