欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    电力系统三相短路计算的MATLAB代码(10页).doc

    • 资源ID:37180052       资源大小:153KB        全文页数:10页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    电力系统三相短路计算的MATLAB代码(10页).doc

    -电力系统三相短路计算的MATLAB代码-第 10 页电力系统三相短路计算clear 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);function 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; endendenda 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) I02=abs(I02); fprintf( output_file, '%3d %3d %10.6f-j%10.6f %10.6f',I,J,I01,I02,I1); end fprintf( output_file, 'n');endendb fprintf_resultfunction output_args = fprintf_result1( Ib )%UNTITLED ÇëÔÚ´Ë´¦ÊäÈ뺯Êý¸ÅÒª n,m=size(Ib); fprintf(' 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('%3d %3d %10.6f+j%10.6f %10.6f',I,J,I01,I02,I1); end if(I02<0) I02=abs(I02); fprintf('%3d %3d %10.6f-j%10.6f %10.6f',I,J,I01,I02,I1); end fprintf('n');endendc Ibranch.mfunction Bcurrent = Ibranch( line,U,fault,Y )%计算短路电流%记录短路故障参数,如短路节点,如为支路短路,记录距离节点的距离%此段计算采用的支路参数未近似,如果计算近似的时候需要修改nl,ml=size(line);Bcurrent=zeros(nl+1,4);faultI=fault(1,1);faultJ=fault(1,2);dis=fault(1,3);faultNode = 0;if(faultI=0) faultNode = faultJ;endif(faultJ=0) faultNode = faultI;endif(dis=1)&&(faultI*faultJ=0) faultNode = faultJ;endif(dis=0)&&(faultI*faultJ=0) faultNode = faultI;endif(faultNode=0) Bcurrent(nl+1,1) = faultNode; Bcurrent(nl+1,2) = faultNode; Iij = 0; Iij1=0;end%计算非故障支路的短路电流for k=1:nl i=line(k,1); j=line(k,2); Ui=U(i); if j=0 Uj=U(j); else Uj=0; end if line(k,2)=0 Ym=line(k,5)+1i*line(k,6); Iij=Ui*Ym; Iij1=abs(Iij); end if line(k,2)=0 Zt=line(k,3)+1i*line(k,4); Yt=1/Zt; Ym=line(k,5)+1i*line(k,6); Iij=(Ui-Uj)*Yt+Ui*Ym; Iij1=abs(Iij); end Bcurrent(k,1)=i; Bcurrent(k,2)=j; Bcurrent(k,3)=Iij; Bcurrent(k,4)=Iij1;end%如果为节点短路,修正短路点的电流大小if(faultNode=0) Bcurrent(nl+1,1) = faultNode; Bcurrent(nl+1,2) = faultNode; Ifault = 0; branchCurrent=0; for k=1:nl I=line(k,1); J=line(k,2); if(I*J=0) continue; end branchCurrent = (U(I)-U(J)/(line(k,3)+1i*line(k,4); if (I=faultNode) Ifault = Ifault - branchCurrent ; else if (J=faultNode) Ifault = Ifault + branchCurrent ; end end end Bcurrent(nl+1,3) = Ifault; Bcurrent(nl+1,4) = abs(Bcurrent(nl+1,3);end %如果为支路短路,修正短路支路的短路电流大小if(dis=0)&&(dis=1)&&(faultI*faultJ=0) Bcurrent(nl+1,1) = faultI; Bcurrent(nl+1,2) = faultJ; Bcurrent(nl+1,3) = U(faultI)*Y(faultI,faultJ)/dis + U(faultJ)*Y(faultI,faultJ)/(1-dis); Bcurrent(nl+1,4) = abs(Bcurrent(nl+1,3);endendd Inode.mfunction Iinj = Inode( bus,calcSettings )%计算节点注入电流nb,mb=size(bus);Iinj = zeros(nb,1);for k=1:nb busType=bus(k,7); if(calcSettings(1)=1) v = 1; else v = bus(k,2); end%对发电机节点电流进行修正 if (busType=1) Iinj(bus(k,1),1) = Iinj(bus(k,1),1) + v/1i/bus(k,8); endendende ReviseBcurrent.mfunction Ib = ReviseBcurrent( fault,Bcurrent )%如果发生支路短路,对原来的计算电流进行修正,使该支路短路电流输出为-999999-j999999clear faultI faultJ disnt,mt=size(Bcurrent);Ib=zeros(nt,mt);faultI=fault(1,1);faultJ=fault(1,2);dis=fault(1,3); for k=1:nt-1 i=Bcurrent(k,1); j=Bcurrent(k,2); Ib(k,:)=Bcurrent(k,:); if (faultI*faultJ=0)&&(dis=1)&&(dis=0)&&(i=faultI)&&(j=faultJ) Ib(k,1)=i; Ib(k,2)=j; Ib(k,3)=-999999-1i*999999; Ib(k,4)=-999999; end if (faultI*faultJ=0)&&(dis=1)&&(dis=0)&&(i=faultJ)&&(j=faultI) Ib(k,1)=i; Ib(k,2)=j; Ib(k,3)=-999999-1i*999999; Ib(k,4)=-999999; end Ib(nt,:)=Bcurrent(nt,:);endf Ymatrix1.mfunction Y = Ymatrix1( bus,line )%考虑变压器,并且支路参数不近似的节点导纳矩阵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); K=line(k,7); if (K=0)&&(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 (K=0)&&(J=0) Y(I,I)=Y(I,I)+Ym; end if K>0 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 K<0 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); endendendg 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; endendendh 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; endendendi 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*line(k,4); Yt=1/Zt; Ym=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; endendend

    注意事项

    本文(电力系统三相短路计算的MATLAB代码(10页).doc)为本站会员(1595****071)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开