IEEE14节点求解系统潮流matlab仿真( PQ分解法)
复杂电力系统潮流计算,IEEE14节点PQ分解法求解系统潮流matlab仿真,程序结构简单,仿真结果几乎与原测试数据相同
·
目录
程序运行结果与IEEE14节点标准测试系统数据比较
设置变量和相关参数
%节点并联对地之路参数
GND=[9,0,0.19;];
%对地支路数
ngnd=1;
%节点个数
nbb=14;
%线路支路数
ntr=20;
%最大迭代数
nitmax=1000;
%容许误差
error=1e-3;
%迭代次数初始化
nit=0;
%PQ、PV节点数
PQNodes=0;
PVNodes=0;
%节点注入功率
P0=zeros(1,nbb-1);
Q0=[];
%节点导纳矩阵
Y=zeros(nbb,nbb);
线路和变压器参数矩阵
% 入 出 电阻 电抗 电导 电纳 有无 变比
% 调压
% 变压器
%
tr=[
1, 2, .01938, .05917, 0, .0264*2, 0, 1.000;
2, 3, .04699, .19797, 0, .0219*2, 0, 1.000;
2, 4, .05811, .17632, 0, .0187*2, 0, 1.000;
1, 5, .05403, .22304, 0, .0246*2, 0, 1.000;
2, 5, .05695, .17388, 0, .0170*2, 0, 1.000;
3, 4, .06701, .17103, 0, .0173*2, 0, 1.000;
4, 5, .01335, .04211, 0, .0064*2, 0, 1.000;
7, 8, .00000, .17615, 0, .0000, 0, 1.000;
7, 9, .00000, .11001, 0, .0000, 0, 1.000;
9, 10, .03181, .08450, 0, .0000, 0, 1.000;
6, 11, .09498, .19890, 0, .0000, 0, 1.000;
6, 12, .12291, .15581, 0, .0000, 0, 1.000;
6, 13, .06615, .13027, 0, .0000, 0, 1.000;
9, 14, .12711, .27038, 0, .0000, 0, 1.000;
10, 11, .08205, .19207, 0, .0000, 0, 1.000;
12, 13, .22092, .19988, 0, .0000, 0, 1.000;
13, 14, .17093, .34802, 0, .0000, 0, 1.000;
4, 7, .00000, .20912, 0, .0000, 1, 0.978;
4, 9, .00000, .55618, 0, .0000, 1, 0.969;
5, 6, .00000, .25202, 0, .0000, 1, 0.932;
];
节点参数矩阵
%节点参数矩阵
%1是平衡节点
%2是pv节点
%3是pq节点
node=[
%编号 类型 发动机 负荷 电压幅值 电压相位
1, 1, 0, 0, 1.0600, 0;
2, 2, 0.40, 0.2170+0.1270i, 1.0450, 0;
3, 2, 0, 0.9420+0.1900i, 1.0100, 0;
4, 3, 0, 0.4780-0.0390i, 1.0000, 0;
5, 3, 0, 0.0760+0.0160i, 1.0000, 0;
6, 2, 0, 0.1120+0.0750i, 1.0700, 0;
7, 3, 0, 0.0000+0.0000i, 1.0000, 0;
8, 2, 0, 0.0000+0.0000i, 1.0900, 0;
9, 3, 0, 0.2950+0.1660i, 1.0000, 0;
10, 3, 0, 0.0900+0.0580i, 1.0000, 0;
11, 3, 0, 0.0350+0.0180i, 1.0000, 0;
12, 3, 0, 0.0610+0.0160i, 1.0000, 0;
13, 3, 0, 0.1350+0.0580i, 1.0000, 0;
14, 3, 0, 0.1490+0.0500i, 1.0000, 0;
];
计算节点导纳矩阵
调整节点编号
%PQ
%PV
%平衡节点
node2=[];
node3=[];
for i=1:nbb
if(node(i,2)==1)%平衡节点放最后
node1=node(i,:);
elseif(node(i,2)==2)%pv节点放中间
node2=[node2;node(i,:)];
PVNodes=PVNodes+1;
elseif(node(i,2)==3)%PQ节点放开头
node3=[node3;node(i,:)];
PQNodes=PQNodes+1;
end
end
node = [node3;node2;node1];%新节点
clearvars node1 node2 node3;
tr1=tr;
for k=1:nbb
for i=1:ntr
for j=1:2
if(tr1(i,j)==node(k,1))
tr(i,j)=k;
end
end
end
end
计算节点导纳矩阵
%2---------------------节点导纳矩阵:
for i=1:ntr
Y(tr(i,1),tr(i,2))=-(1/tr(i,8))/(tr(i,3)+tr(i,4)*1i);
Y(tr(i,2),tr(i,1))=-(1/tr(i,8))/(tr(i,3)+tr(i,4)*1i);
Y(tr(i,2),tr(i,2))=Y(tr(i,2),tr(i,2))+1/(tr(i,3)+tr(i,4)*1i)+tr(i,6)/2*1i;
Y(tr(i,1),tr(i,1))=Y(tr(i,1),tr(i,1))+(1/tr(i,8)^2)/(tr(i,3)+tr(i,4)*1i)+tr(i,6)/2*1i;
end
for cc=1:ngnd %对地并联支路的修正
i=4;%GND(cc,1);
Y(i,i)=Y(i,i)+GND(cc,2)-GND(cc,3)*1i;
end
YR=real(Y);
YI=imag(Y);
PQ解偶迭代
PQ解偶后有:
发电机和负荷的注入功率
Q0=zeros(1,nbb-1-PVNodes);
for i=1:nbb-1
P0(i)=node(i,3)-real(node(i,4));
end
for i=1:nbb-1-PVNodes
Q0(i)=0-imag(node(i,4));
end
雅可比矩阵
B1=-YI;
B1(nbb,:)=[];
B1(:,nbb)=[];
B2=-YI;
for i=0:nbb-1
if(nbb-i<=nbb-1-PVNodes)
break;
end
B2(nbb-i,:)=[];
B2(:,nbb-i)=[];
end
迭代主程序
%迭代
while(nit<=nitmax)
%DP=Delta P/U
%DQ=Delta Q/U
DP=zeros(1,nbb-1);
DQ=zeros(1,nbb-1-PVNodes);
DP1=zeros(1,nbb-1);
DQ1=zeros(1,nbb-1-PVNodes);
for i=1:nbb-1
psum=0;
for j=1:nbb
psum=psum+node(i,5)*node(j,5)*(YR(i,j)*cos(node(i,6)-node(j,6))+YI(i,j)*sin(node(i,6)-node(j,6))); %计算有功
end
DP1(i)=(P0(i)-psum);
DP(i)=DP1(i)/node(i,5);
end
for i=1:nbb-1-PVNodes
qsum=0;
for j=1:nbb
qsum=qsum+node(i,5)*node(j,5)*YR(i,j)*sin(node(i,6)-node(j,6))-node(i,5)*node(j,5)*YI(i,j)*cos(node(i,6)-node(j,6)); %计算无功
end
DQ1(i)=(Q0(i)-qsum);
DQ(i)=DQ1(i)/node(i,5);
end
MAX=max(max(abs(DP1)),max(abs(DP1)));
if(MAX<error)
break;
end
UDeltadelta=B1\DP';
Deltadelta=UDeltadelta./node(1:nbb-1,5);
DeltaU=B2\DQ';
%更新delta
for i=1:nbb-1
node(i,6)=node(i,6)+Deltadelta(i);
end
%更新U
for i=1:nbb-1-PVNodes
node(i,5)=node(i,5)+DeltaU(i);
end
nit=nit+1;
end
潮流计算
%计算发电机有功功率
psum=0;
for j=1:nbb
psum=psum+node(14,5)*node(j,5)*(YR(14,j)*cos(node(14,6)-node(j,6))+YI(14,j)*sin(node(14,6)-node(j,6))); %计算有功
end
node(14,3)=psum;
%计算发电机无功
for i=nbb-PVNodes:nbb
qsum=0;
for j=1:nbb
qsum=qsum+node(i,5)*node(j,5)*YR(i,j)*sin(node(i,6)-node(j,6))-node(i,5)*node(j,5)*YI(i,j)*cos(node(i,6)-node(j,6)); %计算无功
end
node(i,3)=node(i,3)+imag(node(i,4))*1i+qsum*1i;
end
还原节点顺序
node1=zeros(nbb,6);
for i=1:nbb
for j=1:nbb
if(i==node(j,1))
node1(i,:)=node(j,:);
node1(i,6)=node1(i,6)*180/pi;
end
end
end
输出结果
fprintf("\n 节点号 节点类型 发动机功率 负载功率 电压幅值 相角\n")
format short
disp(node1);
程序下载地址:IEEE14节点PQ分解法求解系统潮流matlab仿真,程序结构简单,仿真结果几乎与原测试数据相同-Matlab文档类资源-CSDN下载
点击阅读全文
更多推荐
活动日历
查看更多
直播时间 2025-02-26 16:00:00


直播时间 2025-01-08 16:30:00


直播时间 2024-12-11 16:30:00


直播时间 2024-11-27 16:30:00


直播时间 2024-11-21 16:30:00


目录
所有评论(0)