牛拉法潮流计算

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

自动化07-1班段佳 07051101

function nl;

%------------------------------------------------------------------------

%===================================================================

%======================牛顿——拉夫逊法==============================

%===========================潮流计算=================================

%===================================================================

%-----------------------------------------------------------------------

% % %---------------使用说明部分---------------------------

display('% %本程序的功能是用牛顿——拉夫逊法进行潮流计算');

display('% %本程序要求用户按照一定的格式将电力系统的参数制成excel表格,系统运行时将从excel中加载这些参数,随后后即可进行潮流计算');

display('% %为了方便运算,用户再给系统节点进行编号时,请按照先PQ节点,再PV节点,最后平衡节点的顺序从小到大编号');

display('% %电力系统潮流计算excel格式——支路参数:1、支路首端号;2、末端号;3、支路阻抗;4、支路对地电纳;5、支路的变比K:1;6、支路首端处于K侧为1,1侧为0'); display('% %电力系统潮流计算excel格式——节点参数:1、节点号;2、电压大小;3、相位角;4、发电机有功;5、发电机无功;6、负载有功;7、负载无功;8、节点类型'); %===================================================================

%==============================数据准备==============================

%===================================================================

% %---------------------电力系统数据加载部分-----------------------------------------------

clear

x=0;

Branch=0;%支路参数

Note=0;%节点参数

[filename, pathname] = uigetfile('*.xls', 'please choose the excel file with your powersystem parameters ');%从外部excel导入电力系统潮流计算相关参数

try

if filename ~= 0

x=xlsread([pathname,filename],'sheet1', 'A3:F3');

Branch=xlsread([pathname,filename],'sheet1', 'A5:G10');%读支路参数

Note=xlsread([pathname,filename],'sheet1', 'A15:H19');%读节点参数

end

catch

%进行出错处理

errmsg = lasterr;

errordlg(errmsg,'Save as Error');

rethrow(lasterror);

end

% %---------------------支路参数初始化部分-----------------------------------------------

SB=100;UB=220;n=1;m=1;pr=0.0001;

SB=x(5);%功率基准值

UB=x(6);%电压基准值

n=x(1);%节点数

nl=x(2);%支路数

m=x(3);%PQ节点的个数

pr=x(4);;%误差精度

B1(:,1)=Branch(:,1);%1、支路首端号

B1(:,2)=Branch(:,2);%2、末端号

B1(:,3)=Branch(:,3)+Branch(:,4)*i;%3、支路阻抗

B1(:,4)=Branch(:,5)*i;%4、支路对地电纳

B1(:,5)=Branch(:,6);%5、支路的变比K:1;

B1(:,6)=Branch(:,7);%6、支路首端处于K侧为1,1侧为0'

% %

% %---------------------节点参数初始化部分--------------------------------------------------

U=ones(n,1);

a=zeros(n,1);

Ps=zeros(n,1);

Qs=zeros(n,1);

P=zeros(n,1);

Q=zeros(n,1);

detp=zeros(n-1,1);

detq=zeros(m,1);

deta=zeros(n-1,1);

detu=zeros(m,1);

k=0;%迭代次数

U=Note(:,2);%各节点电压初始值(标幺值)

a=Note(:,3);%各节点电压相位初始值(弧度)

Gp=Note(:,4);%各节点发电机有功功率初始值(标幺值)

Gq=Note(:,5);%各节点发电机无功功率初始值(标幺值)

Lp=Note(:,6);%各节点负载有功功率初始值(标幺值)

Lq=Note(:,7);%各节点负载无功功率初始值(标幺值)

type=Note(:,8);%节点类型,PQ节点=1 ,PV节点=2 ,平衡节点=3

for h=1:n

Ps(h)=Gp(h)-Lp(h);%各节点注入的有功功率

Qs(h)=Gq(h)-Lq(h);%各节点注入的无功功率

end

% % %---------------------导纳矩阵计算部分-----------------------------------------------------

Y=zeros(n);

for h=1:nl %支路数

if B1(h,6)==0 %左节点处于低压侧(6、支路首端处于K侧为1,1侧为0)

相关文档
最新文档