实用文档
文案大全
电力系统三相短路计算
a
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);
b
FixY.m
function
fixY = FixY( Y,bus,fault )
%
对形成的导纳矩阵进行故障点的修正
[nb,mb]=size(bus);
[nf,mf]= size(fault);