电力系统三相短路计算的MATLAB代码.doc_第1页
电力系统三相短路计算的MATLAB代码.doc_第2页
电力系统三相短路计算的MATLAB代码.doc_第3页
电力系统三相短路计算的MATLAB代码.doc_第4页
电力系统三相短路计算的MATLAB代码.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

用matlab实现电力系统潮流计算 晏鸣宇电力系统三相短路计算a main.mclear tim%打开文件dfile,pathname=uigetfile(*.m,Select Data File);if pathname = 0 error( you must select a valid data file)else lfile =length(dfile); eval(dfile(1:lfile-2);end%定义输出文件output_file=fopen(output.dat,w);%开始计时tic; %求解节点导纳矩阵,其中Ymatrix1是考虑了变比,且支路未近似的导纳矩阵;Ymatrix2是近似变比为1,但是支路未近似计算的节点导纳矩阵;Ymatrix3是近似变比为1,采取近似支路参数1的导纳矩阵;Ymatrix4是近似变比为1,采取近似支路参数2的导纳矩阵。Y = Ymatrix2(bus,line);%对故障点进行导纳修正fixY = FixY(Y,bus,fault);%求注入电流Iinj = Inode(bus,calcSettings);U = fixYIinj;%得到故障支路与其他支路电流Bcurrent = Ibranch( line,U,fault,Y );%如果发生支路三相短路,那么对应该支路的电流修正为-999999-j999999Ib = ReviseBcurrent( fault,Bcurrent );%结束计时tim=toc;fprintf(n程序运行结果);fprintf(n计算完成,共用时%4.4fs,相关结果已保存在output.datn,tim);%输出结果fprintf_result(output_file, Ib);fprintf_result1(Ib);b FixY.mfunction fixY = FixY( Y,bus,fault )%对形成的导纳矩阵进行故障点的修正nb,mb=size(bus);nf,mf= size(fault);fixY = Y;%对发电机节点导纳修正for k=1:nb busType=bus(k,7); if (busType=1) fixY(bus(k,1),bus(k,1) = fixY(bus(k,1),bus(k,1) + 1/1i/bus(k,8); endend%对节点短路和支路短路的导纳矩阵进行修正for k=1:nf nodeI=fault(k,1); nodeJ=fault(k,2); dis=fault(k,3); if (nodeI=0) fixY(nodeJ,nodeJ) = 999999+1i*999999; continue; end if (nodeJ=0) fixY(nodeI,nodeI) = 999999+1i*999999; continue; end if (dis=0)&(nodeI*nodeJ=0) fixY(nodeI,nodeI) = 999999+1i*999999; continue; end if (dis=1)&(nodeI*nodeJ=0) fixY(nodeJ,nodeJ) = 999999+1i*999999; continue; end if (dis=1)&(dis=0)&(nodeI*nodeJ=0) fixY(nodeI,nodeI) = fixY(nodeI,nodeI) - fixY(nodeI,nodeJ)/dis; fixY(nodeJ,nodeJ) = fixY(nodeJ,nodeJ) - fixY(nodeI,nodeJ)/(1-dis); fixY(nodeI,nodeJ)=0; fixY(nodeJ,nodeI)=0; endendend c fprintf_result.mfunction output_args = fprintf_result( output_file, Ib )%将得到的短路电流输入到输出文件中n,m=size(Ib); fprintf( output_file, No. No. vector of I value of In); for k=1:n I=Ib(k,1); J=Ib(k,2); I01=real(Ib(k,3); I02=imag(Ib(k,3); I1=Ib(k,4); if(I02=0) fprintf( output_file, %3d %3d %10.6f+j%10.6f %10.6f,I,J,I01,I02,I1); end if(I02=0) fprintf(%3d %3d %10.6f+j%10.6f %10.6f,I,J,I01,I02,I1); end if(I020 Y(I,I)=Y(I,I)+Yt+Ym; Y(J,J)=Y(J,J)+Yt/(K*K); Y(I,J)=Y(I,J)-Yt/K; Y(J,I)=Y(I,J); end if K0 Y(I,I)=Y(I,I)+Yt+Ym; Y(J,J)=Y(J,J)+K*K*Yt; Y(I,J)=Y(I,J)+K*Yt; Y(J,I)=Y(I,J); endendendi Ymatrix2.mfunction Y = Ymatrix2( bus,line )%考虑变压器变比近似为1,支路参数不等效nb,mb=size(bus);nl,ml=size(line);Y=zeros(nb,nb);for k=1:nl I=line(k,1); J=line(k,2); Zt=line(k,3)+1i*line(k,4); Yt=1/Zt; Ym=line(k,5)+1i*line(k,6); if J=0 Y(I,I)=Y(I,I)+Yt+Ym; Y(J,J)=Y(J,J)+Yt+Ym; Y(I,J)=Y(I,J)-Yt; Y(J,I)=Y(I,J); end if J=0 Y(I,I)=Y(I,I)+Ym; endendendj Ymatrix3.mfunction Y = Ymatrix3( bus,line )%考虑变压器变比为1,采用支路参数近似1nb,mb=size(bus);nl,ml=size(line);Y=zeros(nb,nb);for k=1:nl I=line(k,1); J=line(k,2); Zt=line(k,3)+1i*line(k,4); Yt=imag(1/Zt); Ym=imag(line(k,5)+1i*line(k,6); if J=0 Y(I,I)=Y(I,I)+Yt+Ym; Y(J,J)=Y(J,J)+Yt+Ym; Y(I,J)=Y(I,J)-Yt; Y(J,I)=Y(I,J); end if J=0 Y(I,I)=Y(I,I)+Ym; endendendk Ymatrix4.mfunction Y = Ymatrix4( bus,line )%变压器变比近似为1,采用支路等效参数2 nb,mb=size(bus);nl,ml=size(line);Y=zeros(nb,nb);for k=1:nl I=line(k,1); J=line(k,2); Zt=1i*l

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论