n=4;%节点数nl=3;%支路数B1=[130.51i010;230.59i010;341.43i010];X=[10.2i;24i;30;40];%线路参数形成的矩阵V0=[1;1;1;1];%电压矩阵D=[4,0];%短路号矩阵NF=1;%短路点个数B=[0;0;0;1];%常数项矩阵Y=zeros(n);%初始化节点导纳矩阵fori=1:nifX(i,2)~=0;%判断i节点是否非直接接地,若是算自导中接地阻抗的导纳p=X(i,1);Y(p,p)=1./X(i,2);%算出自导中接地支路导纳endend%形成节点导纳矩阵fori=1:nlifB1(i,6)==0%判断变压器的变比是否在低压侧p=B1(i,1);q=B1(i,2);elsep=B1(i,2);q=B1(i,1);%从p→q,变化为1:kendY(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;Y(q,q)=Y(q,q)+1./B1(i,3)+B1(i,4)./2;enddisp('导纳矩阵Y');%输出需要的字符串disp(Y);A=Y;%赋值Y等于A[n,m]=size(A);%用解线性方程组方法,形成矩阵A因子表fori=1:nA(i,i)=1./A(i,i);%第一列元素规格化,即取倒数运算forj=i+1:n%逐列进行消去A(i,j)=A(i,j)*A(i,i);endfork=i+1:n%形成因子表forj=i+1:nA(k,j)=A(k,j)-A(k,i)*A(i,j);endendenddisp('矩阵A的因子表为');disp(A);%B=input('pleaseinput');%利用因子表对常数项进行的前代过程(按列消去)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:1%做n-1次循环,即n-1次消去运算forj=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);l=zeros(nl);fork=1:NF%求各短路点的电流标幺值fori=1:nZ(i,D(k,1))=B(i,1);%将求得的Zik赋值到阻抗相应位置disp(Z(i,D(k,1)));endl(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));%数转换成字符串并赋值给ftts1=('点短路时');ts2=('电流的标幺值lf=');dn=(strcat(ft,ts1,ts2));%将两字符串穿起来并赋值给dndisp(dn);disp(l(D(k,1),D(k,1)));fori=1:n%求各节点的电压标幺值V(i,i)=V0(i,1)-l(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);l(i,i)=(V(p,p)-V(q,q)./k)./B1(i,3);enddisp('各节点的电压标幺值U为(节点号从小到大)');fori=1:n%i从1到n每次循环for函数disp(V(i,i));enddisp('各非接地支路短路电流的标幺值I为(顺序与输入B一样)');fori=1:nldisp(l(i,i));endend%求接地支路短路电流标幺值disp('各接地支路短路电流的标幺值I为(顺序与输入B一样)');fori=1:nifX(i,2)~=0;%判断i节点是否为直接接地e=0;b=X(i,2);l0=(e-V(i,i))./b;disp(l0);endend导纳矩阵Y0.0000-6.9608i0.0000+0.0000i0.0000+1.9608i0.0000+0.0000i0.0000+0.0000i0.0000-1.9449i0.0000+1.6949i0.0000+0.0000i0.0000+1.9608i0.0000+1.6949i0.0000-4.3550i0.0000+0.6993i0.0000+0.0000i0.0000+0.0000i0.0000+0.6993i0.0000-0.6993i矩阵A的因子表为0.0000+0.1437i0.0000+0.0000i-0.2817+0.0000i0.0000+0.0000i0.0000+0.0000i0.0000+0.5142i-0.8715+0.0000i0.0000+0.0000i0.0000+1.9608i0.0000+1.6949i0.0000+0.4300i-0.3007+0.0000i0.0000+0.0000i0.0000+0.0000i0.0000+0.6993i0.0000+2.0449i利用因子表对常数项进行回代的结果为:B=0.0000+0.0000i0.0000+0.0000i0.0000+0.0000i0.0000+2.0449i在因子表的基础上求解线性方程组的解为:X=0.0000+0.1732i0.0000+0.5358i0.0000+0.6149i0.0000+2.0449i4点短路时电流的标幺值lf=0.0000-0.4890i各节点的电压标幺值U为(节点号从小到大)0.91530.73800.69930各非接地支路短路电流的标幺值I为(顺序与输入B一样)0.0000-0.4235i0.0000-0.0655i0.0000-0.4890i各接地支路短路电流的标幺值I为(顺序与输入B一样)0.0000+4.5765i0.0000+0.1845i【说明】:1:方法是先算出节点导纳矩阵Y,然后将其赋值给A,再对A进行解线性方程组方法,求得节点阻抗矩阵(即A的因子表),然后因子表对常数项进行的前代过程(按列消去),求得B,X。然后再计算三相短路的短路电流、各节点电压、各支路的电流。2:本方法主要的关键点是要把解线性方程组的方法去解出A的因子表,即要修改课本上的程序(将第17章的程序与18章的程序衔接上)。这也是本作业的难点。3:通过本作业我明白了计算机计算的快捷性,对处理复杂的电力系统故障等方面的优越性,但是程序的设计是根本保证,没有程序什么都是无济于事。而且有程序也要从中选优,程序也要随着电网的发展与时俱进。