MATLAB计算电力系统中的潮流电压
前言
在电力系统仿真与计算中,潮流计算是非常重要的一块内容,配电网潮流计算是配电网分析的基础,配电网潮流计算分为高压配电网计算和中压配电网计算,其中高压配电网和中压配电网在10(20)kV母线处解耦。中压辐射型网络可以采用线性潮流法、前推回代法和牛顿法。本文采用基于线性潮流的配电网潮流计算方法。恰巧最近在实习涉及到了潮流电压和幅度的计算需要采用MATLAB进行计算,因此来和大家分享一下
提示:以下是本篇文章正文内容,下面案例可供参考
一、仿真实例
图为八节点中压配电网运行示意图
我们根据潮流方程组的计算原理,设母线节点为平衡节点(下标表示),其他负荷节点为PQ节点(下标表示),记未知量节点电压幅值向量为,节点电压相角向量为;记已知量节点注入有功功率向量和无功功率向量分别为和,节点导纳矩阵的实部和虚部分别为和。则可将改写为线性方程组矩阵形式如下:
(1-1)
这里是引用
我们输入节点阻抗的值和节点数即可以算出相位和幅值
二、MATLAB代码
1.输入参数
N=8; %节点数量
y=zeros(N,N);%创建阻抗矩阵
y(1,2)=1/(0.54+0.65j);%阻抗输入
y(2,3)=1/(0.62+0.5j);
y(3,4)=1/(0.6+0.35j);
y(2,5)=1/(0.72+0.75j);
y(5,6)=1/(1.0+0.55j);
y(5,7)=1/(0.65+0.35j);
y(2,8)=1/(0.9+0.5j);
P=[0 -0.006 -0.004 -0.004 -0.006 -0.004 -0.005 -0.005];%有功功率
Q=[0 -0.0045 -0.003 -0.0028 -0.004 -0.003 -0.0035 -0.004];%无功功率
2.阻抗矩阵计算
for i=1:N %导纳是相互的如(2,5)和(5,2)是一样的,所以要再一遍添加对应的值
for j=1:N
y(j,i)=y(i,j);
end
end
此步是因为阻抗矩阵是相互的,Z12代表节点一和节点二之间的阻抗,和Z21是一样的(代表节点二和节点一之间的阻抗),所以需要添加每一个阻抗所对应的另一个阻抗值。
%求互导纳
for i=1:8
for j=1:8
if i~=j% i不等于j
Y(i,j)=-y(i,j);
end
end
end
%求自导纳
for i=1:N
Y(i,i)=sum(y(i,:));
end
%导纳矩阵
G=real(Y);
B=imag(Y);
根据自导纳和互导纳的定义求出对应的矩阵。
3.潮流方程组公式系数举证求解
for i=1:N-1
a1(i,1)=2*P(1,i+1)-G(i+1,1)*1.05;
a2(i,1)=2*Q(1,i+1)+B(i+1,1)*1.05;
end
a=[a1;a2];%将两个小的系数矩阵合并为一个大的系数矩阵
%系数矩阵
diagP=diag(P(2:N));%对P创建一个对角矩阵,但是由于第一位是0从第二位开始
diagQ=diag(Q(2:N));%对Q创建一个对角矩阵,但是由于第一位是0从第二位开始
b1=zeros(N-1,N-1);%分配内存
b2=zeros(N-1,N-1);
b3=zeros(N-1,N-1);
b4=zeros(N-1,N-1);
for i=1:N-1
for j=1:N-1
b1(i,j)=-B(i+1,j+1);
b2(i,j)=-G(i+1,j+1);
b3(i,j)=G(i+1,j+1)+diagP(i,j);
b4(i,j)=-B(i+1,j+1)+diagQ(i,j);
end
end
b=[b1 b3;b2 b4];%将四个小的系数矩阵合并为一个大的系数矩阵
这里是根据公式改编为MATLAB的代码,我把公式中的矩阵分为了几个部分,分别求出对应的每一小块后再合并成一个大块。
4.求解
x=b\a;%方程组解
总结
得出的解和仿真实例给出的解一致,说明仿真结果正确
进一步还可以计算功率分布,目前还没做可以一起交流
写于2020.12.1 14:50