统一迭代法计算交直流混合电力系统潮流计算matlab程序
时间: 2023-07-29 15:05:57 浏览: 132
电力系统潮流计算matlab程序
下面是一个简单的Matlab程序,使用统一迭代法计算交直流混合电力系统的潮流:
```matlab
% 设置电网参数
Rdc = [0 0.05 0.1; 0.05 0 0.05; 0.1 0.05 0]; % 直流支路电阻
Xdc = [0 0.2 0.3; 0.2 0 0.1; 0.3 0.1 0]; % 直流支路电抗
Bdc = [0 -0.05 -0.1; -0.05 0 -0.05; -0.1 -0.05 0]; % 直流支路电导
Rac = [0.05 0.1 0.15; 0.1 0.05 0.05; 0.15 0.05 0.1]; % 交流支路电阻
Xac = [0.2 0.3 0.4; 0.3 0.2 0.3; 0.4 0.3 0.2]; % 交流支路电抗
Bac = [0 -0.05 -0.1; -0.05 0 -0.05; -0.1 -0.05 0]; % 交流支路电导
Vdc = [1; 1; 1]; % 直流节点电压初值
Vac = [1; 1; 1]; % 交流节点电压初值
Pdc = [0.6; 0.4; 0.3]; % 直流节点有功功率
Qdc = [-0.4; -0.3; -0.2]; % 直流节点无功功率
Pac = [0.8; 0.5; 0.6]; % 交流节点有功功率
Qac = [-0.6; -0.5; -0.4]; % 交流节点无功功率
% 设置收敛条件
epsilon = 0.0001;
max_iterations = 100;
% 初始化迭代
iterations = 0;
converged = false;
% 迭代计算
while ~converged && iterations < max_iterations
% 计算直流节点电流
Idc = (Pdc + 1j*Qdc)./conj(Vdc);
% 计算直流节点导纳矩阵
Ydc = 1./(Rdc + 1j*Xdc) + 1j*Bdc;
% 计算直流节点电压修正量
delta_Vdc = Ydc*Idc;
% 更新直流节点电压
Vdc_new = Vdc + delta_Vdc;
% 计算交流节点电流
Iac = (Pac + 1j*Qac)./conj(Vac);
% 计算交流节点导纳矩阵
Yac = 1./(Rac + 1j*Xac) + 1j*Bac;
% 计算交流节点电压修正量
delta_Vac = Yac*Iac;
% 更新交流节点电压
Vac_new = Vac + delta_Vac;
% 判断是否收敛
if max([max(abs(delta_Vdc./Vdc_new)), max(abs(delta_Vac./Vac_new))]) < epsilon
converged = true;
end
% 更新迭代次数和节点电压
iterations = iterations + 1;
Vdc = Vdc_new;
Vac = Vac_new;
end
% 输出结果
if converged
disp('收敛!');
disp('直流节点电压:');
disp(Vdc);
disp('交流节点电压:');
disp(Vac);
else
disp('未收敛!');
end
```
此程序使用默认的电网参数和节点功率,可以根据需要进行修改。注意,直流节点和交流节点的电压是分别计算的,并且需要同时满足收敛条件。
阅读全文