电力系统潮流计算完整程序及详细理论说明

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

电力系统潮流计算完整程序

及详细理论说明

——秦羽风在我刚开始学习潮流程序时,总是找不到一个正确的程序开始模仿学习。后来经过多方努力,终于自己写出了一个结构清晰、完整的潮流程序。此程序是一个通用的程序,只需要修改输入数据的子函数(PowerFlowsData_K)里面的母线、支路、发电机、负荷,就能算任意一个网络结构的交流系统潮流。很适合初学者学习。

为了帮助电力系统的同学一起学习,我将我编写的潮流计算程序分享下来给大家;此程序是在基于牛顿拉夫逊算法的基础上,编写的快速解耦算法。每一个子程序我都有备注说明。如果有不对的地方,希望大家指正!

下文中呈现的顺序为:网络结构、子程序、主程序、运算结果、程序设计理论说明。

一、网络结构:5节点网络如下图。

二、子程序(共有9个子程序)

子程序1:(其他系统,只需要修改Bus、Branch、Generator、Load,这四个矩阵就行了)function [Bus,Branch,Generator,Load]=PowerFlowsData_K

%% 节点数据

% 类型:1-平衡节点;2-发电机PV节点;3-负荷PQ节点;4-发电机PQ节点;

Bus=[

% 类型电压相角

1 1.06 0;

2 1 0;

3 1 0;

3 1 0;

3 1 0

];

%% 线路数据

Branch=[

% 发送接收电阻电感(电导电容)并联

1 2 0.02 0.06 0 0.06;

1 3 0.08 0.24 0 0.05;

2 3 0.06 0.18 0 0.04;

2 4 0.06 0.18 0 0.04;

2 5 0.04 0.12 0 0.03;

3 4 0.01 0.03 0 0.02;

4 5 0.08 0.24 0 0.05

];

%% 发电机数据

Generator=[

% 节点定有功定无功(上限下限)无功

1 0 0 5 -5;

2 0.4 0

3 -3

];

%% 负载数据

Load=[

% 节点定有功定无功

2 0.2 0.1;

3 0.45 0.15;

4 0.4 0.05;

5 0.

6 0.1

];

子程序2:

% 求解网络的导纳矩阵;

function

[YR,YI]=YBus_K(nbb,ntl,tlsend,tlrec,tlresis,tlreac,tlcond,tlsuscep)

YR=zeros(nbb,nbb);

YI=zeros(nbb,nbb);

for kk=1:ntl

ii=tlsend(kk);

jj=tlrec(kk);

demon=tlresis(kk)^2+tlreac(kk)^2;

YR(ii,ii)=YR(ii,ii)+tlresis(kk)/demon+0.5*tlcond(kk);

YI(ii,ii)=YI(ii,ii)-tlreac(kk)/demon+0.5*tlsuscep(kk);

YR(ii,jj)=YR(ii,jj)-tlresis(kk)/demon;

YI(ii,jj)=YI(ii,jj)+tlreac(kk)/demon;

YR(jj,ii)=YR(jj,ii)-tlresis(kk)/demon;

YI(jj,ii)=YI(jj,ii)+tlreac(kk)/demon;

YR(jj,jj)=YR(jj,jj)+tlresis(kk)/demon+0.5*tlcond(kk);

YI(jj,jj)=YI(jj,jj)-tlreac(kk)/demon+0.5*tlsuscep(kk); end

子程序3:

%求节点的功率净值

function

[PNET,QNET]=NetPowers_K(nbb,ngn,nld,genbus,PGEN,QGEN,PLOAD,QLOAD,load bus)

PNET=zeros(1,nbb);

QNET=zeros(1,nbb);

for kk=1:ngn

ii=genbus(kk);

PNET(ii)=PNET(ii)+PGEN(kk);

QNET(ii)=QNET(ii)+QGEN(kk);

end

for kk=1:nld

ii=loadbus(kk);

PNET(ii)=PNET(ii)-PLOAD(kk);

QNET(ii)=QNET(ii)-QLOAD(kk);

end

子程序4:

%求网络节点的注入功率

function [PCAL,QCAL]=NetPowers_in_K(nbb,VM,VA,YR,YI)

PCAL=zeros(1,nbb);

QCAL=zeros(1,nbb);

for ii=1:nbb

for jj=1:nbb

PCAL(ii)=PCAL(ii)+VM(ii)*VM(jj)*(YR(ii,jj)*cos(VA(ii)-

VA(jj))+YI(ii,jj)*sin(VA(ii)-VA(jj)));

QCAL(ii)=QCAL(ii)+VM(ii)*VM(jj)*(YR(ii,jj)*sin(VA(ii)-VA(jj))-

相关文档
最新文档