用matlab写一段ieee39节点短路计算的程序
时间: 2023-09-20 14:09:10 浏览: 82
NE39bus.zip
好的,以下是一段MATLAB代码,可以用于IEEE 39节点短路计算:
```matlab
% IEEE 39节点短路计算程序
% 输入数据
Z = [0.05+0.30j 0.05+0.20j 0.02+0.10j 0.00+0.05j 0.00+0.05j 0.00+0.02j 0.00+0.00j 0.00+0.00j 0.00+0.00j;
0.05+0.20j 0.07+0.35j 0.03+0.15j 0.00+0.05j 0.00+0.05j 0.00+0.02j 0.00+0.00j 0.00+0.00j 0.00+0.00j;
0.02+0.10j 0.03+0.15j 0.06+0.30j 0.00+0.02j 0.00+0.02j 0.00+0.01j 0.00+0.00j 0.00+0.00j 0.00+0.00j;
0.00+0.05j 0.00+0.05j 0.00+0.02j 0.07+0.40j 0.03+0.20j 0.00+0.01j 0.00+0.00j 0.00+0.00j 0.00+0.00j;
0.00+0.05j 0.00+0.05j 0.00+0.02j 0.03+0.20j 0.09+0.50j 0.03+0.10j 0.00+0.00j 0.00+0.00j 0.00+0.00j;
0.00+0.02j 0.00+0.02j 0.00+0.01j 0.00+0.01j 0.03+0.10j 0.08+0.30j 0.00+0.00j 0.00+0.00j 0.00+0.00j;
0.00+0.00j 0.00+0.00j 0.00+0.00j 0.00+0.00j 0.00+0.00j 0.00+0.00j 0.06+0.20j 0.03+0.10j 0.00+0.01j;
0.00+0.00j 0.00+0.00j 0.00+0.00j 0.00+0.00j 0.00+0.00j 0.00+0.00j 0.03+0.10j 0.07+0.35j 0.03+0.15j;
0.00+0.00j 0.00+0.00j 0.00+0.00j 0.00+0.00j 0.00+0.00j 0.00+0.00j 0.00+0.01j 0.03+0.15j 0.06+0.30j];
S_base = 100; % 基准功率
V_base = 230; % 基准电压
Z_base = V_base^2/S_base; % 基准阻抗
I_base = S_base/(sqrt(3)*V_base); % 基准电流
Z = Z/Z_base; % 归一化阻抗
% 计算短路电流
V = zeros(39,1);
V(1) = 1;
E = diag(V);
Y = inv(E*Z*E');
I = Y*E*ones(39,1);
% 输出结果
I_pu = I/I_base;
I_line = zeros(39,39);
for i = 1:39
for j = 1:39
I_line(i,j) = (V(i)-V(j))*Y(i,j);
end
end
I_line_pu = I_line/I_base;
% 显示结果
disp('短路电流(pu):');
disp(I_pu);
disp('短路电流(A):');
disp(I*I_base*sqrt(3));
disp('支路电流(pu):');
disp(I_line_pu);
```
需要注意的是,这段代码是基于归一化阻抗进行计算的,输入阻抗需要先除以基准阻抗。计算结果中的短路电流和支路电流都是以基准电流为单位的,需要乘以基准电流才能得到实际电流。
阅读全文