潮流计算的matlab程序实现方法

潮流计算的matlab程序实现⽅法
这是⼀个电⽓狗熬两个礼拜图书馆的成果,根据华中科技⼤学《电⼒系统分析》中原理编写,可⽤⽜顿-拉夫逊和PQ分解法计算给定标⼳值条件的潮流。本⼈⽔平有限,仅供参考,欢迎⼀起Bug。
2019/11/17 添加算例系统图和基础数据、参考⽂献。
2019/01/05 添加word⽂档 。
2018/07/06 说明:由于本⼈变压器建模与PSASP不同,本⼈使⽤模型如下图,参数输⼊时请按该模型计算。
相册加工设备2018/06/18 主程序更新:增加补偿电容参数
2018/06/18 增加下载地址,详见⽂章底部。
应⽤算例系统图:
基础数据(标⼳值):
(1)母线数据
母线名123456789
基准电压2302302302302302301813.816.5(2)交流线数据
I侧母线J侧母线电阻电抗电纳的1/2
610.010.0850.088
140.0320.1610.153
430.00850.0720.0745
350.01190.10080.1045
520.0390.170.179
260.0170.0920.079
(3)变压器数据
I侧母线J侧母线电抗变⽐
960.05761
740.06251
850.05861
(4)发电机数据
母线名母线类型有功功率⽆功功率电压幅值电压相⾓
9slack--  1.040
7PV  1.63-  1.025-
8PV0.85-  1.025-
(5)负荷数据
母线名母线类型有功功率⽆功功率
1PQ  1.250.5
2PQ0.90.3
3PQ10.35
主程序
% file name:chaoliu_lj.m
% auther: ⼭东科技⼤学罗江
% function:使⽤⽜顿-拉夫逊法、PQ分解法计算潮流
% update:2018/6/18 13:22 增加补偿电容参数
%节点类型标号
超顺磁性%PQ节点    1
%PV节点    2
%slack节点  3
%能计算给定标⼳值⽹络,有且仅有⼀个平衡节点的潮流
%注意:母线标号顺序要求:PQ节点-PV节点-平衡节点
%若某元件不存在,其导纳为0,阻抗为inf
clear %清除⼯作空间变量
clc %清屏%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %数据输⼊(标⼳值)
SB=100; %基准容量,单位MVA
%母线基准电压
Bus=[230 230 230 230 230 230 18 13.8 16.5];
%交流线参数:I侧母线 J侧母线阻抗 1/2接地导纳
Line=[6 1 0.01+0.085i  0.088i;
1 4 0.032+0.161i 0.153i;
4 3 0.0085+0.072i 0.0745i;
3 5 0.0119+0.1008i 0.1045i;
5 2 0.039+0.17i 0.179i;
2 6 0.017+0.092i 0.079i];
%变压器参数:I侧母线 J侧母线阻抗变⽐ %变压器阻抗归算到I侧
Trans=[9 6 0.0576i 1;
7 4 0.0625i 1;
8 5 0.0586i 1];
%加接地电容器补偿: 母线导纳
Cap=[2 0.0i];
%发电机参数:母线节点类型 P V/U θ
Gen=[9 3 1.04 0;
7 2 1.63 1.025;
8 2 0.85 1.025];
%负荷参数:母线节点类型 P Q
%按参考⽅向,发电机发出功率(正值),负荷消耗功率(负值)
Load=[1 1 -1.25 -0.5;
2 1 -0.9 -0.3;
3 1 -1 -0.35];
mode=1; %1-极坐标下⽜拉法, 2-PQ分解法
Tmax=10; %最⼤迭代次数
limit=1.0e-8; %要求精度%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%变压器π型等效阻抗参数
Zt=zeros(size(Trans,1),3);
Zt(:,1)=Trans(:,3)./Trans(:,4);
Zt(:,2)=Trans(:,3)./(1-Trans(:,4));
Zt(:,3)=Trans(:,3)./(Trans(:,4).^2-Trans(:,4));
Trans_pi=[Trans(:,1:2) Zt(:,1) 1./Zt(:,2) 1./Zt(:,3)];
n=numel(Bus); %总节点数
m=n-1; %PQ节点数
for i=1:size(Gen,1)%数组⾏数
if Gen(i,2)==2 %除去PV节点就是PQ节点
m=m-1;
end
end
for i=1:size(Load,1)
if Load(i,2)==2
m=m-1;
end
end
%PQ节点包含浮游节点,其PQ=0
%提取P,Q,U向量
P=zeros(1,n); %P,Q为原始数据,Pi,Qi为计算结果
Q=zeros(1,n);
U=ones(1,n); %电压初始值由此确定
cita=zeros(1,n); %此处未知节点皆设为1.0∠0 %注意:此处⾓度单位为度,提取后再转换成弧度,后⾯计算使⽤弧度
for i=1:size(Gen,1)
if Gen(i,2)==1 %PQ节点
P(Gen(i,1))=Gen(i,3);
Q(Gen(i,1))=Gen(i,4);
end
if Gen(i,2)==2 %PV节点
P(Gen(i,1))=Gen(i,3);
U(Gen(i,1))=Gen(i,4);
end
if Gen(i,2)==3 %slack节点
U(Gen(i,1))=Gen(i,3);
cita(Gen(i,1))=Gen(i,4);
end
end
for i=1:size(Load,1)
for i=1:size(Load,1)
砭石枕if Load(i,2)==1 %PQ节点
P(Load(i,1))=Load(i,3);
Q(Load(i,1))=Load(i,4);
end
if Load(i,2)==2 %PV节点
P(Load(i,1))=Load(i,3);
家庭水景喷泉
U(Load(i,1))=Load(i,4);
end
if Load(i,2)==3 %slack节点
U(Load(i,1))=Load(i,3);
cita(Load(i,1))=Load(i,4);
end
end
disp('初始条件:')
disp('各节点有功:')
disp(P);
disp('各节点⽆功:')
disp(Q);
disp('各节点电压幅值:')
disp(U);
cita=(deg2rad(cita)); %⾓度转换成弧度
disp('各节点电压相⾓(度):')
disp(rad2deg(cita)); %显⽰依然使⽤⾓度
%节点导纳矩阵的计算
Y=zeros(n); %新建节点导纳矩阵
y=zeros(n); %⽹络中的真实导纳
%计算y(i,j)
for i=1:size(Line,1) %与交流线联结的真实导纳
ii=Line(i,1); jj=Line(i,2);
y(ii,jj)=1/Line(i,3);
y(jj,ii)=y(ii,jj);
end
for i=1:size(Trans_pi,1) %与变压器联结的真实导纳 ii=Trans_pi(i,1); jj=Trans_pi(i,2);
y(ii,jj)=1/Trans_pi(i,3);
y(jj,ii)=y(ii,jj);
end
%计算y(i,i)
for i=1:size(Line,1) %与交流线联结的对地导纳
ii=Line(i,1); jj=Line(i,2);
y(ii,ii)=y(ii,ii)+Line(i,4);
y(jj,jj)=y(jj,jj)+Line(i,4);
end
for i=1:size(Trans_pi,1) %与变压器联结的对地导纳 ii=Trans_pi(i,1); jj=Trans_pi(i,2);
y(ii,ii)=y(ii,ii)+Trans_pi(i,4);
y(jj,jj)=y(jj,jj)+Trans_pi(i,5);
end
%算上补偿电容
for i=1:size(Cap,1)
ii=Cap(i,1);
y(ii,ii)=y(ii,ii)+Cap(i,2);
end
%由y计算Y
ysum=sum(y,1); %每⼀⾏求和
for i=1:n
for j=1:n
if i==j
Y(i,j)=ysum(i);
else
Y(i,j)=-y(i,j);
校正平台end
end
end
disp('节点导纳矩阵:');
8300cdisp(Y);
G=real(Y); %电导矩阵
B=imag(Y); %电纳矩阵
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %以上为基础数据整理
%接下来是⽜拉法的⼤循环%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%计算功率不平衡量
[dP,dQ,Pi,Qi]=Unbalanced( n,m,P,Q,U,G,B,cita );
disp('有功不平衡量:');
disp(dP);
disp('⽆功不平衡量:');
disp(dQ);
for i=1:Tmax
fprintf('第%d次迭代\n',i);
%雅可⽐矩阵的计算
if(mode==1)
J=Jacobi( n,m,U,cita,B,G,Pi,Qi );
disp('雅可⽐矩阵');
disp(J);
end
%求解节点电压修正量
if(mode==1)
[dU,dcita]=Correct( n,m,U,dP,dQ,J );
else
[dU,dcita]=PQ_LJ( n,m,dP,dQ,U,B );
end
disp('电压、相⾓修正量:');
disp(dU);
disp(rad2deg(dcita));
%修正节点电压
U=U+dU;
cita=cita+dcita;
disp('节点电压幅值:');
disp(U);
disp('节点电压相⾓:');
disp(rad2deg(cita));
%计算功率不平衡量
[dP,dQ,Pi,Qi]=Unbalanced( n,m,P,Q,U,G,B,cita );
disp('有功不平衡量:');
disp(dP);
disp('⽆功不平衡量:');
disp(dQ);
if (max(abs(dP))<limit && max(abs(dQ))<limit )
break;
end%if
end%for
%迭代结束,判断收敛
if (max(abs(dP))<limit && max(abs(dQ))<limit )
disp('计算收敛');
else
disp('计算不收敛或未达到要求精度');
end
%打印功率
fprintf('迭代总次数:%d\n', i);
disp('节点电压幅值:');

本文发布于:2024-09-25 16:38:01,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/262314.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:节点   母线   计算   功率   电压   参数   导纳   数据
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议