- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
电力系统三相短路计算的MATLAB代码
电力系统三相短路计算
main.m
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 = fixY\Iinj;
%得到故障支路与其他支路电流
Bcurrent = Ibranch( line,U,fault,Y );
%如果发生支路三相短路,那么对应该支路的电流修正为-999999-j999999
Ib = ReviseBcurrent( fault,Bcurrent );
%结束计时
tim=toc;
fprintf(\n程序运行结果);
fprintf(\n计算完成,共用时%4.4fs,相关结果已保存在output.dat\n,tim);
%输出结果
fprintf_result(output_file, Ib);
fprintf_result1(Ib);
FixY.m
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);
end
end
%对节点短路和支路短路的导纳矩阵进行修正
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;
end
end
end
fprintf_result.m
function [ output_args ] = fprintf_result( output_file, Ib )
%将得到的短路电流输入到输出文件中
[n,m]=size(Ib);
fprintf( output_file, No. No.
文档评论(0)