OpDF_".是因为输入数据的格式问题输入数据中是包含bus,line的,并非只有两个矩阵,如:bus=[11.000.00-0.30-0.181;21" />
当前位置:文档之家› 基于极坐标的牛顿拉夫逊法潮流计算

基于极坐标的牛顿拉夫逊法潮流计算

基于极坐标的牛顿拉夫逊法潮流计算
基于极坐标的牛顿拉夫逊法潮流计算

写了近一个礼拜的程序,藏着可惜,拿出来给需要的人

转载请注明出处

有不少朋友反映程序报错:

??? Output argument "bus" (and maybe others) not assigned during call to

"E:\MAT\best\OpDF_.m>OpDF_".

是因为输入数据的格式问题输入数据中是包含bus,line的,并非只有两个矩阵,如:

bus = [

1 1.00 0.00 -0.30 -0.18 1;

2 1.00 0.00 -0.55 -0.1

3 1;

3 1.10 0.00 0.50 0.00 2;

4 1.0

5 0.00 0.00 0.00 3];

line = [

1 2 0.10 0.40 0.0 0.01528 0;

4 2 0.08 0.40 0.0 0.01413 0;

1 4 0.1

2 0.50 0.0 0.0192 0;

3 1 0.00 0.3 0.0 0.0 -1.1];

所有蓝色文字都为数据文件中的内容

---------------------分---------------------割---------------------线---------------------

【注意】

一、此程序只适用于求解节点电压以极坐标形式表示的潮流方程,没有考虑节点优化编号

二、程序在Matlab6.5上测试通过,应该适用于目前其所有后续版本

三、程序主要通过文件方式输入输出(同时程序也返回结果向量),对输入文件格式有严格要求,具体如下:

1.输入文件可以直接在Matlab中新建m文件编写,也内容可以以文本方式编写,但最后必须改后缀名成为“.m”文件。文件名第一个字符必须是字母,后面可以跟字母、数字和下划线的任何组合,但不能和已有文件和函数冲突,不能含中文。

2.输入文件内容格式:

内容中包括"bus"(节点数据)和"line"(线路数据)两个矩阵

其中"bus"的格式为:

bus = [节点编号节点电压节点相角(弧度制)有功注入无功注入节点类型];

"line"的格式为:

line = [节点i 节点j 线路电阻电抗电导电纳变压器变比(普通线路为零)]; 四、程序分主程序和各子程序,需全部放入Matlab当前目录下调用,计算开始后会在当前目录下生成文件"Result.m"保存运算结果。

---------------------分---------------------割---------------------线---------------------

以下为程序代码(红色部分,“%”后为注释):

主程序"PowerFlow_NR.m"

function [bus_res,S_res] = PowerFlow_NR_2 % 牛顿-拉夫逊法解潮流方程的主程序%%%%%%%%%%%%%%%%%%%%% by longdinhohe %%%%%%%%%%%%%%%%%%%%% https://www.doczj.com/doc/ec11963110.html,/longdinhohe %% %%%%%%%%%%%%%%%%%%%

[bus,line] = OpDF_; % 打开数据文件的子程序,返回bus(节点数据)和line (线路数据)回主程序

[nb,mb]=size(bus);

[nl,ml]=size(line); % 计算bus和line矩阵的行数和列数

[bus,line,nPQ,nPV,nodenum] = Num_(bus,line); % 对节点重新排序的子程序

Y = y_(bus,line); % 计算节点导纳矩阵的子程序

myf = fopen('Result.m','w');

fprintf(myf,'--------------- by longdinhohe --------------- https://www.doczj.com/doc/ec11963110.html,/longdinhohe ---------------\n\n');

fclose(myf); % 在当前目录下生成“Result.m”文件,写入节点导纳矩阵format long

EPS = 1.0e-10; % 设定误差精度

for t = 1:100 % 开始迭代计算,设定最大迭代次数为100,以便不收敛情况下及时跳出

[dP,dQ] = dPQ_(Y,bus,nPQ,nPV); % 计算功率偏差dP和dQ的子程序

J = Jac_(bus,Y,nPQ); % 计算雅克比矩阵的子程序

UD = zeros(nPQ,nPQ);

for i = 1:nPQ

UD(i,i) = bus(i,2); % 生成电压对角矩阵

end

dAngU = J \ [dP;dQ];

dAng = dAngU(1:nb-1,1); % 计算相角修正量

dU = UD*(dAngU(nb:nb+nPQ-1,1)); % 计算电压修正量

bus(1:nPQ,2) = bus(1:nPQ,2) - dU; % 修正电压

bus(1:nb-1,3) = bus(1:nb-1,3) - dAng; % 修正相角

if (max(abs(dU))

break

end % 判断是否满足精度误差,如满足则跳出,否则返回继续迭代end

bus = PQ_(bus,Y,nPQ,nPV); % 计算每个节点的有功和无功注入的子程序[bus,line] = ReNum_(bus,line,nodenum); % 对节点恢复编号的子程序

YtYm = YtYm_(line); % 计算线路的等效Yt和Ym的子程序,以计算线路潮流

bus_res = bus_res_(bus); % 计算节点数据结果的子程序

S_res = S_res_(bus,line,YtYm); % 计算线路潮流的子程序

myf = fopen('Result.m','a');

fprintf(myf,'---------------牛顿-拉夫逊法潮流计算结果----------\n\n 节点计算结果:\n节点节点电压节点相角(角度)节点注入功率\n');

for i = 1:nb

fprintf(myf,'%2.0f ',bus_res(i,1));

fprintf(myf,'.6f ',bus_res(i,2));

fprintf(myf,'.6f ',bus_res(i,3));

fprintf(myf,'.6f + j .6f\n',real(bus_res(i,4)),imag(bus_res(i,4)));

end

fprintf(myf,'\n线路计算结果:\n节点I 节点J 线路功率S(I,J) 线路功率S(J,I) 线路损耗dS(I,J)\n');

for i = 1:nl

fprintf(myf,'%2.0f ',S_res(i,1));

fprintf(myf,'%2.0f ',S_res(i,2));

fprintf(myf,'.6f + j .6f ',real(S_res(i,3)),imag(S_res(i,3)));

fprintf(myf,'.6f + j .6f ',real(S_res(i,4)),imag(S_res(i,4)));

fprintf(myf,'.6f + j .6f\n',real(S_res(i,5)),imag(S_res(i,5)));

end

fclose(myf); % 迭代结束后继续在“Result.m”写入节点计算结果和线路计算结果程序结束

子程序1 "OpDF_.m" 作用为打开数据文件

function [bus,line] = OpDF_

[dfile,pathname]=uigetfile('*.m','Select Data File'); % 数据文件类型为m文件,窗口标题为“Select Data File”

if pathname == 0

error(' you must select a valid data file') % 如果没有选择有效文件,则出现错误提示

else

lfile =length(dfile); % 读取文件字符串长度

eval_r(dfile(1:1file-2)); % 去除后缀,打开文件!注意!新浪博客中"eval"函数会自动加上"_r"后缀,此处的函数名是"eval"而不是"eval_r",拷贝后请去除"_r"后缀子程序2 "Num.m" 作用为对节点重排序,并修改相应的线路数据

function [bus,line,nPQ,nPV,nodenum] = Num_(bus,line)

[nb,mb]=size(bus);

[nl,ml]=size(line);

nSW = 0; % nSW为平衡节点个数

nPV = 0; % nPV为PV节点个数

nPQ = 0; % nPQ为PQ节点个数

for i = 1:nb, % nb为总节点数

type= bus(i,6);

if type == 3,

nSW = nSW + 1;

SW(nSW,:)=bus(i,:);% 计算并储存平衡节点

elseif type == 2,

nPV = nPV +1;

PV(nPV,:)=bus(i,:);% 计算并储存PV节点

else

nPQ = nPQ + 1;

PQ(nPQ,:)=bus(i,:);% 计算并储存PQ节点

end

end

bus=[PQ;PV;SW]; % 对bus矩阵按PQ、PV、平衡节点的顺序重新排序

nodenum=[[1:nb]' bus(:,1)];% 生成新旧节点对照表

for i=1:nl

for j=1:2

for k=1:nb

if line(i,j)==nodenum(k,2)

line(i,j)=nodenum(k,1);

break

end

end

end

end % 按排序以后的节点顺序对line矩阵重新编号

子程序3 "y_.m" 作用为计算节点导纳矩阵

function Y = y_(bus,line)

[nb,mb]=size(bus);

[nl,ml]=size(line);

Y=zeros(nb,nb); % 对导纳矩阵赋初值0

for k=1:nl

I=line(k,1);

J=line(k,2);

Zt=line(k,3)+j*line(k,4); % 读入线路参数

if Zt~=0

Yt=1/Zt; % 接地支路不计算Yt

end

Ym=line(k,5)+j*line(k,6);

K=line(k,7);

if (K==0)&(J~=0) % 普通线路: K=0

Y(I,I)=Y(I,I)+Yt+Ym;

Y(J,J)=Y(J,J)+Yt+Ym;

Y(I,J)=Y(I,J)-Yt;

Y(J,I)=Y(I,J);

end

if (K==0)&(J==0) % 对地支路: K=0,J=0,R=X=0

Y(I,I)=Y(I,I)+Ym;

end

if K>0 % 变压器线路: Zt和Ym为折算到i侧的值,K在j侧

Y(I,I)=Y(I,I)+Yt+Ym;

Y(J,J)=Y(J,J)+Yt/K/K;

Y(I,J)=Y(I,J)-Yt/K;

Y(J,I)=Y(I,J);

end

if K<0 % 变压器线路: Zt和Ym为折算到K侧的值,K在i侧

Y(I,I)=Y(I,I)+Yt+Ym;

Y(J,J)=Y(J,J)+K*K*Yt;

Y(I,J)=Y(I,J)+K*Yt;

Y(J,I)=Y(I,J);

end

end

子程序4 "dPQ_.m" 作用为计算功率偏差

function [dP,dQ] =dPQ_(Y,bus,nPQ,nPV) % nPQ、nPV为相应节点个数

n = nPQ + nPV +1; % 总节点个数

dP = bus(1:n-1,4);

dQ = bus(1:nPQ,5); % 对dP和dQ赋初值PV节点不需计算dQ 平衡节点不参与计算

for i = 1:n-1

for j = 1:n

dP(i,1) = dP(i,1)-bus(i,2)*bus(j,2)*(real(Y(i,j))*cos(bus(i,3)-bus(j,3))+imag(Y(i,j))*sin(bus(i,3)-bus(j,3)));

if i

dQ(i,1) = dQ(i,1)-bus(i,2)*bus(j,2)*(real(Y(i,j))*sin(bus(i,3)-bus(j,3))-imag(Y(i,j))*cos(bus(i,3)-bus(j,3)));

end

end

end % 利用循环计算求取dP和dQ

子程序5 "Jac_.m" 作用为计算雅克比矩阵

function J = Jac_(bus,Y,nPQ)

[nb,mb]=size(bus);

H = zeros(nb-1,nb-1);

N = zeros(nb-1,nPQ);

K = zeros(nPQ,nb-1);

L = zeros(nPQ,nPQ); % 将雅克比矩阵分块,即:J = [H N; K L],并初始化

Qi = zeros(nb-1,1);

Pi = zeros(nb-1,1);

for i = 1:nb-1

for j = 1:nb

Pi(i,1)=Pi(i,1)+bus(i,2)*bus(j,2)*(real(Y(i,j))*cos(bus(i,3)-bus(j,3))+imag(Y(i,j))*sin(bus(i,3)-bu s(j,3)));

Qi(i,1)=Qi(i,1)+bus(i,2)*bus(j,2)*(real(Y(i,j))*sin(bus(i,3)-bus(j,3))-imag(Y(i,j))*cos(bus(i,3)-b us(j,3)));

end

end % 初始化并计算Qi和Pi

for i = 1:nb-1

for j = 1:nb-1

if i~=j

H(i,j)=-bus(i,2)*bus(j,2)*(real(Y(i,j))*sin(bus(i,3)-bus(j,3))-imag(Y(i,j))*cos(bus(i,3)-bus(j,3) ));

else

H(i,j)=Qi(i,1)+imag(Y(i,j))*((bus(i,2))^2);

end % 分别计算H矩阵的对角及非对角元素

if j < nPQ+1

if i~=j

N(i,j)=-bus(i,2)*bus(j,2)*(real(Y(i,j))*cos(bus(i,3)-bus(j,3))+imag(Y(i,j))*sin(bus(i,3)-bus(j ,3)));

else

N(i,j)=-Pi(i,1)-real(Y(i,j))*((bus(i,2))^2);

end

end % 分别计算N矩阵的对角及非对角元素

if i < nPQ+1

if i~=j

K(i,j)=bus(i,2)*bus(j,2)*(real(Y(i,j))*cos(bus(i,3)-bus(j,3))+imag(Y(i,j))*sin(bus(i,3)-bus(j, 3)));

else

K(i,j)=-Pi(i,1)+real(Y(i,j))*((bus(i,2))^2);

end % 分别计算K矩阵的对角及非对角元素

if j < nPQ+1

if i~=j

L(i,j)=-bus(i,2)*bus(j,2)*(real(Y(i,j))*sin(bus(i,3)-bus(j,3))-imag(Y(i,j))*cos(bus(i,3)-bus (j,3)));

else

L(i,j)=-Qi(i,1)+imag(Y(i,j))*((bus(i,2))^2);

end

end % 分别计算L矩阵的对角及非对角元素

end

end

end

J = [H N; K L]; % 生成雅克比矩阵

子程序6 "PQ_.m" 作用为计算每个节点的功率注入

function bus = PQ_(bus,Y,nPQ,nPV)

n = nPQ+nPV+1; % n为总节点数

for i = nPQ+1:n-1

for j = 1:n

bus(i,5)=bus(i,5)+bus(i,2)*bus(j,2)*(real(Y(i,j))*sin(bus(i,3)-bus(j,3))-imag(Y(i,j))*cos(bus(i,3)-bus(j,3)));

end

end % 利用公式计算PV节点的无功注入

for j =1:n

bus(n,4)=bus(n,4)+bus(n,2)*bus(j,2)*(real(Y(n,j))*cos(bus(n,3)-bus(j,3))+imag(Y(n,j))*sin(bus(n,3 )-bus(j,3)));

bus(n,5)=bus(n,5)+bus(n,2)*bus(j,2)*(real(Y(n,j))*sin(bus(n,3)-bus(j,3))-imag(Y(n,j))*cos(bus(n,3 )-bus(j,3)));

end % 计算平衡节点的无功及有功注入

子程序7 "ReNum_.m" 作用为对节点和线路数据恢复编号

function [bus,line] = ReNum_(bus,line,nodenum)

[nb,mb]=size(bus);

[nl,ml]=size(line);

bus_temp = zeros(nb,mb); % bus_temp矩阵用于临时存放bus矩阵的数据

k = 1;

for i = 1 :nb

for j = 1 : nb

if bus(j,1) == k

bus_temp(k,:) = bus(j,:);

k = k + 1;

end

end

end % 利用bus矩阵的首列编号重新对bus矩阵排序并存入bus_temp矩阵中

bus = bus_temp; % 重新赋值回bus,完成bus矩阵的重新编号

for i=1:nl

for j=1:2

for k=1:nb

if line(i,j)==nodenum(k,1)

line(i,j)=nodenum(k,2);

break

end

end

end

end % 恢复line的编号

子程序8 "YtYm_.m" 作用为计算线路的等效Yt和Ym,以计算线路潮流

function YtYm = YtYm_(line)

[nl,ml]=size(line);

YtYm = zeros(nl,5); % 对YtYm矩阵赋初值0

YtYm(:,1:2) = line(:,1:2); % 矩阵前两列为线路两段节点编号,后三列分别为线路等效Yt,i侧的等效Ym,j侧的等效Ym

j = sqrt(-1);

for k=1:nl

I=line(k,1);

J=line(k,2);

Zt=line(k,3)+j*line(k,4);

if Zt~=0

Yt=1/Zt;

end

Ym=line(k,5)+j*line(k,6);

K=line(k,7);

if (K==0)&(J~=0) % 普通线路: K=0

YtYm(k,3) = Yt;

YtYm(k,4) = Ym;

YtYm(k,5) = Ym;

end

if (K==0)&(J==0) % 对地支路: K=0,J=0,R=X=0

YtYm(k,4) = Ym;

end

if K>0 % 变压器线路: Zt和Ym为折算到i侧的值,K在j侧

YtYm(k,3) = Yt/K;

YtYm(k,4) = Ym+Yt*(K-1)/K;

YtYm(k,5) = Yt*(1-K)/K/K;

end

if K<0 % 变压器线路: Zt和Ym为折算到K侧的值,K在i侧

YtYm(k,3) = -Yt*K;

YtYm(k,4) = Ym+Yt*(1+K);

YtYm(k,5) = Yt*(K^2+K);

end

end

子程序9 "bus_res_.m" 计算并返回节点数据结果

function bus_res = bus_res_(bus);

[nb,mb]=size(bus);

bus_res = zeros(nb,4); % bus_res矩阵储存着节点计算结果

基于极坐标的牛顿拉夫逊潮流计算

前言 电力系统潮流计算是研究电力系统稳态运行情况的一种计算,它根据给定的运行件及系统接线情况确定整个电力系统各部分的运行状态。在电力系统规划设计和现有电力系统运行方式的研究中,都需要利用潮流计算来定量分析、比较供电方案或运行方式的合理性、可靠性和经济性。本次课程设计任务是闭式网络的潮流计算,用到的方法为牛顿拉夫逊极坐标法潮流计算。 牛顿法是数学中解决非线性方程式的典型方法,有较好的收敛性。解决电力系统潮流计算问题是以导纳距阵为基础的,因此,只要在迭代过程中尽可能保持方程式系数距阵的稀疏性,就可以大大提高牛顿法潮流程序的放率。自从20 世纪60 年代中期利用了最佳顺序消去法以后,牛顿法在收敛性、内存要求、速度方面都超过了阻抗法,成为直到目前仍在广泛采用的优秀方法。

目录 1任务书 (2) 2.模型简介及等值电路 (3) 3.设计原理 (4) 4.修正方程的建立 (7) 5.程序流程图及MATLAB程序编写 (9) 6.结果分析 (15) 7.设计总结 (25) 8.参考文献 (26)

《电力系统分析》 课程设计任务书 题目极坐标表示的牛顿拉夫逊法潮流计算程序设计学生姓名学号专业班级

设计内容与要求1. 设计要求 掌握MATLAB语言编程方法;理解和掌握运用计算机进行潮流计算的基本算法原理;针对某一具体电网,进行潮流计算程序设计。 其目的在于加深学生对电力系统稳态分析中课程中基本概念和计算方法的理解,培养学生运用所学知识分析和解决问题的能力。 2. 内容 1)学习并掌握MATLAB语言。 2)掌握变压器非标准变比概念及非标准变比变压器的等值电路。掌握节点导纳矩阵的概念及导纳矩阵的形成和修改方法。 3)掌握电力系统功率方程、变量和节点分类。 4)掌握利用极坐标表示的牛-拉法进行潮流计算的方法和步骤。 5)选择一个某一具体电网,编制程序流程框图。 6)利用MATLAB语言编写该模型的潮流计算程序,并上机调试程序,对计算结果进行分析。 7)整理课程设计论文。 起止时间2013 年7 月 4 日至2013 年7月10日指导教师签名年月日 系(教研室)主任签 名 年月日学生签名年月日 2 模型简介及等值电路 2.1课程设计模型:模型3

牛顿拉夫逊法潮流计算

摘要 本文,首先简单介绍了基于在MALAB中行潮流计算的原理、意义,然后用具体的实例,简单介绍了如何利用MALAB去进行电力系统中的潮流计算。 众所周知,电力系统潮流计算是研究电力系统稳态运行情况的一种计算,它根据给定的运行条件及系统接线情况确定整个电力系统各部分的运行状态:各线的电压、各元件中流过的功率、系统的功率损耗等等。在电力系统规划的设计和现有电力系统运行方式的研究中,都需要利用潮流计算来定量地分析比较供电方案或运行方式的合理性、可靠性和经济性。 此外,在进行电力系统静态及暂态稳定计算时,要利用潮流计算的结果作为其计算的基础;一些故障分析以及优化计算也需要有相应的潮流计算作配合;潮流计算往往成为上述计算程序的一个重要组成部分。以上这些,主要是在系统规划设计及运行方式安排中的应用,属于离线计算范畴。 牛顿-拉夫逊法在电力系统潮流计算的常用算法之一,它收敛性好,迭代次数少。本文介绍了电力系统潮流计算机辅助分析的基本知识及潮流计算牛顿-拉夫逊法,最后介绍了利用MTALAB程序运行的结果。 关键词:电力系统潮流计算,牛顿-拉夫逊法,MATLAB

ABSTRACT This article first introduces the flow calculation based on the principle of MALAB Bank of China, meaning, and then use specific examples, a brief introduction, how to use MALAB to the flow calculation in power systems. As we all know, is the study of power flow calculation of power system steady-state operation of a calculation, which according to the given operating conditions and system wiring the entire power system to determine the operational status of each part: the bus voltage flowing through the components power, system power loss and so on. In power system planning power system design and operation mode of the current study, are required to quantitatively calculated using the trend analysis and comparison of the program or run mode power supply reasonable, reliability and economy. In addition, during the power system static and transient stability calculation, the results of calculation to take advantage of the trend as its basis of calculation; number of fault analysis and optimization also requires a corresponding flow calculation for cooperation; power flow calculation program often become the an important part. These, mainly in the way of system design and operation arrangements in the application areas are off-line calculation. Newton - Raphson power flow calculation in power system is one commonly used method, it is good convergence of the iteration number of small, introduce the trend of computer-aided power system analysis of the basic knowledge and power flow Newton - Raphson method, introduced by the last matlab run results. Keywords:power system flow calculation, Newton – Raphson method, matlab

极坐标潮流算法

极坐标潮流算法 潮流例题:根据给定的参数或工程具体要求(如图),收集和查阅资料;学习相关软件(软件自选: 本设计选择Matlab进行设计)。 申节点1为平商节点.甘.点2、3、4* 5为PQ节.钛 2.在给定的电力网络上画出等值电路图。 3.运用计算机进行潮流计算。 4.编写设计说明书。 一、设计原理 1.牛顿-拉夫逊原理 牛顿迭代法是取x0之后,在这个基础上,找到比x0更接近的方程的跟,一步一步迭代,从而找到 更接近方程根的近似跟。牛顿迭代法是求方程根的重要方法之一,其最大优点是在方程f(x) = 0的单根附近具有平方收敛,而且该法还可以用来求方程的重根、复根。电力系统潮流计算,一般来说,各个母线所供负荷的功率是已知的,各个节点电压是未知的(平衡节点外)可以根据网络结构形成节点导纳矩阵,然后由节点导纳矩阵列写功率方程,由于功率方程里功率是已知的,电压的幅值和相角是未知的,这样潮流计算的问题就转化为求解非线性方程组的问题了。为了便于用迭代法解方程组,需要将上述功率方程改写成功率平衡方程,并对功率平衡方程求偏导,得出对应的雅可比矩阵,给未知节点赋电压初值,一般为额

平衡量(未知的)构成了误差方程,解误差方程,得到节点电压不平衡量,节点电压加上节点电压不平衡量构成新的节点电压初值,将新的初值带入原来的功率平衡方程,并重新形成雅可比矩阵,然后计算新的电压不平衡量,这样不断迭代,不断修正,一般迭代三到五次就能收敛。 牛顿—拉夫逊迭代法的一般步骤: (1)形成各节点导纳矩阵Y 。 (2)设个节点电压的初始值U 和相角初始值e 还有迭代次数初值为0。 (3)计算各个节点的功率不平衡量。 (4)根据收敛条件判断是否满足,若不满足则向下进行。 (5)计算雅可比矩阵中的各元素。 (6)修正方程式个节点电压 (7)利用新值自第(3)步开始进入下一次迭代,直至达到精度退出循环。 (8)计算平衡节点输出功率和各线路功率 2.网络节点的优化 1)静态地按最少出线支路数编号 这种方法由称为静态优化法。在编号以前。首先统计电力网络个节点的出线支路数,然后,按出线支路数有少到多的节点顺序编号。当由n 个节点的出线支路相同时,则可以按任意次序对这n 个节点进行编号。这种编号方法的根据是导纳矩阵中,出线支路数最少的节点所对应的行中非零元素也 2)动态地按增加出线支路数最少编号在上述的方法中,各节点的出线支路数是按原始网络统计出 来的,在编号过程中认为固定不变的,事实上,在节点消去过程中,每消去一个节点以后,与该节点相连的各节点的出线支路数将发生变化(增加,减少或保持不变)。因此,如果每消去一个节点后,立即修正尚未编号节点的出线支路数,然后选其中支路数最少的一个节点进行编号,就可以预期得到更好的效果,动态按最少出线支路数编号方法的特点就是按出线最少原则编号时考虑了消去过程中各节点出线支路数目的变动情况。 3. MATLAB编程应用 Matlab 是“ Matrix Laboratory ”的缩写,主要包括:一般数值分析,矩阵运算、数字信号处理、建模、系统控制、优化和图形显示等应用程序。由于使用Matlab 编程运算与人进行科学计算的思路和表达方式完全一致,所以不像学习高级语言那样难于掌握,而且编程效率和计算效率极高,还可在计算机上直接输出结果和精美的图形拷贝,所以它的确为一高效的科研助手。 二、设计内容 1. 设计流程图

基于MATLAB牛顿拉夫逊法进行潮流计算

>> %本程序的功能是用牛顿拉夫逊法进行潮流计算n=input('请输入节点数:n='); nl=input('请输入支路数:nl='); isb=input('请输入平衡母线节点号:isb='); pr=input('请输入误差精度:pr='); B1=input('请输入由各支路参数形成的矩阵:B1='); B2=input('请输入各节点参数形成的矩阵:B2='); Y=zeros(n); e=zeros(1,n);f=zeros(1,n);V=zeros(1,n); O=zeros(1,n);S1=zeros(nl); for i=1:nl if B1(i,6)==0 p=B1(i,1);q=B1(i,2); else p=B1(i,2);q=B1(i,1); end Y(p,q)=Y(p,q)-1./(B1(i,3)*B1(i,5)); Y(q,p)=Y(p,q); Y(q,q)=Y(q,q)+1./(B1(i,3)*B1(i,5)^2)+B1(i,4)./2; Y(p,p)=Y(p,p)+1./B1(i,3)+B1(i,4)./2; end %求导纳矩阵 disp('导纳矩阵Y='); disp(Y); G=real(Y);B=imag(Y); for i=1:n e(i)=real(B2(i,3)); f(i)=imag(B2(i,3)); V(i)=B2(i,4); end for i=1:n S(i)=B2(i,1)-B2(i,2); B(i,i)=B(i,i)+B2(i,5); end P=real(S);Q=imag(S); ICT1=0;IT2=1;N0=2*n;N=N0+1;a=0; while IT2~=0 IT2=0;a=a+1; for i=1:n if i~=isb C(i)=0; D(i)=0; for j1=1:n C(i)= C(i)+G(i,j1)*e(j1)-B(i,j1)*f(j1); D(i)= D(i)+G(i,j1)*f(j1)+B(i,j1)*e(j1); end

全站仪极坐标法点位放样

全站仪极坐标法点位放样 一、实验目的和要求 (1)能根据放样点坐标数据,计算出用极坐标法放样元素 (2)掌握使用极坐标法进行点位放样的基本方法 (3)放样完毕后,都必须对所放样点位进行认真的校核 二、实验仪器 全站仪1台、棱镜及棱镜杆1根,测钎1根,木桩10个、计算器I个、记录板I块,铅笔1只 三、测量资料收集与放样方案制定 (1)测量放样前.应从合法、有效的途径获取施工区已有的平面和高程控制成果资料 (2)应根据现场控制点标志是否稳定完好等情况,对已有的控制点资料进行分析,从而确定是否全部或部分对控制点进行检测 (3)如已有控制点不能满足精度要求应重新布设控制;如已有的控制点密度不能满足放样需要时应根据现有的控制点进行加密 (4)应根据规范规定和设计的精度要求,并结合人员及仪器设备情况制定测量放样方案。其内容应包括控制点的检测与加密、放样依据、放样方法及精度估算、放样程序、人员及设备且等 四、放样前准备工作 (1)阅读设计图纸 (2)选定测量放样方法并计算放样数据、绘制放样草图 (3)准备仪器和工具,使用的仪器必须在有效的检定周期内。给仪器充电,检查仪器常规设置如单位、坐标方式、补偿方式、梭镜类型、梭镜常数、湿度、气压等 (4)提前将控制点(包括拟用的测站点、检查点)和放样点的坐标数据输人仪器内存,并检查 五、放样步骤 (1)在控制点上架设全站仪并对其进行对中整平,初始化后应检查仪器设置,如湿度、气压、棱镜常数等.输入(或调入)测站点的三维坐标,量取并输入仪器高,输入(调入)后视点坐标,照准后视点进行后视定向。如果后视点上有梭镜,输入棱镜高时.可以马上测定后视点的坐标和高程并与已知数据检核 (2)瞄准另一控制点,检查方位角或坐标;在另一已知高程点上竖梭镜或尺子.检查仪器的视线高。利用仪器自身计算功能进行计算时,记录员也应进行相应计算,以检核输入数据的正确性 (3)记录员根据测站点和拟放样点坐标反算出测站点至放样点的距离和方位角 (4)观测员转动仪器至第一个放样点的方位角,指挥司镜员移动棱镜至仪器视线方向上,测It平距O (5)计算实测距离D与放样距离D,的差位:GD-D-D',指挥司镜员在视线上前进或后退△D (6)重复过程(5),直到△D小于放样限差 (非坚硬地面此时可以打桩) (7)检查仪器的方位角值,梭镜气泡严格居中(必要时架设三脚架),再侧It一次.若△D小于限差要求,则可精确标定点位,在桩上打入一铁钉 (8)测量并记录现场放样点的坐标和高程,与理论坐标比较检核。确认无误后在标志旁加注记 (9)重复(3)- (8)的过程,放样出该测站上的所有待放样点 (10)如果一站不能放样出所有待放样点,可以在另一测站点上设站继续放样,但开始放样前

电力系统课程设计-牛顿拉夫逊法潮流计算

课程设计说明书 题目电力系统分析系(部) 专业(班级) 姓名 学号 指导教师 起止日期

电力系统分析课程设计任务书系(部):专业:指导教师:

目录 一、潮流计算基本原理 1.1潮流方程的基本模型 1.2潮流方程的讨论和节点类型的划分 1.3、潮流计算的意义 二、牛顿-拉夫逊法 2.1牛顿-拉夫逊法基本原理 2.2节点功率方程 2.3修正方程 2.4牛顿法潮流计算主要流程 三、收敛性分析 四、算例分析 总结 参考文献

电力系统分析潮流计算 一、潮流计算基本原理 1.1潮流方程的基本模型 电力系统是由发电机、变压器、输电线路及负荷等组成,其中发电机及负荷是非线性元件,但在进行潮流计算时,一般可以用接在相应节点上的一个电流注入量来代表。因此潮流计算所用的电力网络系由变压器、输电线路、电容器、电抗器等静止线性元件所构成,并用集中参数表示的串联或并联等值支路来模拟。结合电力系统的特点,对这样的线性网络进行分析,普通采用的是节点法,节点电压与节点电流之间的关系 V Y I = (1-1) 其展开式为 j n j ij i V Y I ∑==1 ),,3,2,1 (n i = (1-2) 在工程实际中,已经的节点注入量往往不是节点电流而是节点功率,为此必须应用联 系节点电流和节点功率的关系式 i i i i V jQ P I * -= ),,3,2,1(n i = (1-3) 将式(1-3)代入式(1-2)得到 j n j ij i i i V Y V jQ P ∑=* =-1 ),,3,2,1(n i = (1-4) 交流电力系统中的复数电压变量可以用两种极坐标来表示 i j i i e V V θ= (1-5) 或 i i i jf e V += (1-6) 而复数导纳为

基于极坐标的牛顿拉夫逊潮流计算修正版

2 模型简介及等值电路 2.1课程设计模型:模型3 电力网络接线如下图所示,各支路阻抗标幺值参数如下:Z12=0.02+j0.06,Z13=0.08+j0.24,Z23=0.06+j0.18,Z24=0.06+j0.12,Z25=0.04+j0.12,Z34=0.01+j0.03,Z45=0.08+j0.24, k=1.1。该系统中,节点1为平衡节点,保持 11.060 V j =+ &为定值;节点2、3、4都是PQ节点,节点5为PV节点,给定的注入功率分别为: 20.200.20 S j =+, 3-0.45-0.15 S j =, 40.400.05 S j =--, 50.500.00 S j =-+, 51.10 V= &。各节点电压(初值)标幺值参数如下: 节点 1 2 3 4 5 Ui(0)=ei(0)+jfi(0)1.06+j0. 1.0+j0.0 1.0+j0.0 1.0+j0.0 1.1+j0.0 计算该系统的潮流分布。计算精度要求各节点电压修正量不大于10-5。 图2-1 2.2模型分析 节点类型介绍 按变量的不同,一般将节点分为三种类型。 1 PQ节点 这类节点的有功功率和无功功率是给定的,节点(,) Vδ是待求量。通常变电所都是这一类型节点。由于没有发电设备,故其发电功率为零。有些情况下,系统中某些发电厂输出的功率在一段时间内是固定时,该发电厂母线也作为PQ节点。因此,电力系统中绝大多数节点属于这一类型。 2 PV节点 这类节点有功功率P和电压幅值V是给定的,节点的无功功率Q和电压的相位δ是待求量。这类节点必须有足够的可调无功容量,用以维持给定的电压幅值,因此又称为电压控制节点。一般选择有一定无功储备的发电厂和具有可调无功电源设备的变电所作为PV节点。

施工测量方案极坐标法

智能医疗设备研发生产项目 施 工 测 量 方 案 编制人: 审核人: 审批人: 2017年5月27日

目录 第一章编制依据 0 第二章工程概况 0 第三章施工组织及设备配置 0 第四章测量放线基本准则 (1) 第五章测量准备 (1) 第六章平面控制点的布置与施测 (2) 第七章轴线及各控制线的放样 (5) 第八章轴线及高程点放样程序 (13) 第九章施工时的各项限差和质量保证措施 (14) 第十章竣工测量与变形观测 (15) 第十一章质量控制 (16) 第十二章安全管理及安全保护措施 (17)

第一章编制依据 1、智能医疗设备研发生产项目工程施工组织设计 2、智能医疗设备研发生产项目工程施工蓝图、基坑支护设计图 3、《工程测量规范》GB50026-2007 4、《高层建筑混凝土结构技术规程》JGJ3-2010 5、江苏溧阳城建集团有限公司质量保证手册及有关程序文件 第二章工程概况 1、工程名称:智能医疗设备研发生产项目 2、工程地点:西安市尚林路以南、草滩六路以西 3、建设单位:西安天隆科技有限公司 4、设计单位:中国城市建设研究院有限公司 5、勘察单位:中国有色金属工业西安勘察设计研究院 6、监理单位:陕西华营工程建设监理有限公司 7、施工单位:江苏溧阳城建集团有限公司 8、工程标高:本工程1#厂房、8#厂房、9#厂房、10#厂房、11#办公楼、12#厂房的±0.000相当于绝对标高分别为375.270、375.350、375.200、374.900、375.200、375.200。本工程所有相对标高均以8#厂房±0.000标高为基准。 9、本工程主体为钢筋混凝土框架结构,约54316.2平方米。其中地下一层(汽车库、设备用房):12513.08m2;1#厂房:7375.48m2;8#厂房:6106.76m2;9#楼:5897.56m2;10#楼:5542.66m2;11#楼:8100.07m2;12#楼:8780.59m2。 建筑楼层:1#厂房地上5层、地下1层;8#厂房地上5层、地下1层;9#厂房地上5层、地下1层;10#厂房地上5层、地下1层;11#办公楼地上6层、地下1层;12#厂房地上6层、地下1层。 建筑高度:1#厂房23.45m;8#厂房23.45m;9#厂房23.45m;10#厂房23.45m;11#办公楼27.95m;12#厂房27.95m。 建筑工程结构安全设计等级:二级,设计使用年限:50年。建筑耐火等级为:一级。屋面防水等级:Ⅱ级。抗震设防烈度:8度,设计基本地震加速度为0.20g。建筑使用功能:1#、8#、9#、10#、12#楼为厂房、11#楼为办公用房,各主楼地下室为设备用房,中心区域为车库。 施工单位进场时,与建设单位坐标和高程控制点已办理交接手续,共二个坐标和黄海高程控制点。位于场地东侧的草滩六路旁,1#点(BM1坐标:X=21917.997、Y=6090.271;高程:374.044m);2#点(BM2坐标:X=21995.614、Y=6052.690;高程:374.089m); 第三章施工组织及设备配置 1、主要仪器的配备情况

电力系统稳态分析牛顿拉夫逊法

0引言 潮流是配电网络分析的基础,用于电网调度、运行分析、操作模拟和设计规划,同时也是电压优化和网络接线变化所要参考的内容。潮流计算通过数值仿真的方法把电力系统的详细运行情况呈现给工作人员,从而便于研究系统在给定条件下的稳态运行特点。随着市场经济的发展,经济利益是企业十分看重的,而线损却是现阶段阻碍企业提高效益的一大因素。及时、准确的潮流计算结果,可以给出配电网的潮流分布、理论线损及其在网络中的分布,从而为配电网的安全经济运行提供参考。从数学的角度来看,牛顿-拉夫逊法能有效进行非线性代数方程组的计算且具有二次收敛的特点,具有收敛快、精度高的特点,在输电网中得到广泛应用。随着现代计算机技术的发展,利用编程和相关软件,可以更好、更快地实现配电网功能,本文就是结合牛顿-拉夫逊法的基本原理,利用C++程序进行潮流计算,计算结果表明该方法具有良好的收敛性、可靠性及正确性。 1牛顿-拉夫逊法基本介绍 1.1潮流方程 对于N 个节点的电力网络(地作为参考节点不包括在内),如果网络结构和元件参数已知,则网络方程可表示为: =&& YV I (1-1) 式中,Y 为N*N 阶节点导纳矩阵;&V 为N*1维节点电压列向量;&I 为N*1维节点注入电流列向量。如果不计网络元件的非线性,也不考虑移相变压器,则Y 为对称矩阵。 电力系统计算中,给定的运行变量是节点注入功率,而不是节点注入电流,这两者之间有如下关系: ??=&&&EI S (1-2) 式中,&S 为节点的注入复功率,是N*1维列矢量;? &S 为&S 的共轭;

??i diag ??=???? &&E V 是由节点电压的共轭组成的N*N 阶对角线矩阵。 由(1-1)和(1-2),可得: ??=&&&S EYV 上式就是潮流方程的复数形式,是N 维的非线性复数代数方程组。将其展开,有: ?i i i ij j j i P jQ V Y V ∈-=∑&& j=1,2,….,N (1-3) 式中,j i ∈表示所有和i 相连的节点j ,包括j i =。 将节点电压用极坐标表示,即令i i i V V θ=∠&,代入式(1-3)中则有: ()i i i i ij ij j j j i P jQ V G jB V θθ∈-=∠-+∠∑ ()()cos sin i j ij ij ij ij j i V V G jB j θθ∈=+-∑ 故有: () ()cos sin sin cos i i j ij ij ij ij j i i i j ij ij ij ij j i P V V G B Q V V G B θθθθ∈∈?=+?? =-?? ∑∑ i=1,2,…,N (1-4) 式(1-4)是用极坐标表示的潮流方程。 而节点功率误差: (cos sin )θθ∈?=-+∑SP i i i j ij ij ij ij j i P P V V G B (1-5) (cos sin )θθ∈?=--∑SP i i i j ij ij ij ij j i Q Q V V G B (1-6) 式中:SP i P ,SP i Q 为节点i 给定的有功功率及无功功率。 1.2牛顿-拉夫逊法基本原理 1.2.1牛拉法的一般描述 牛拉法是把非线性方程式的求解过程变成反复对相应的线性方程式的求解过程,即非线性问题通过线性化逐步近似,这就是牛拉法的核心。下面以非线性方程式的求解过程来进行说明。 设电力网络的节点功率方程一般形式如下:

牛顿法潮流计算综述

潮流例题:根据给定的参数或工程具体要求(如图),收集和查阅资料;学习相关软件(软件自选:本设计选择Matlab进行设计)。 2.在给定的电力网络上画出等值电路图。 3.运用计算机进行潮流计算。 4.编写设计说明书。 一、设计原理 1.牛顿-拉夫逊原理 牛顿迭代法是取x0 之后,在这个基础上,找到比x0 更接近的方程的跟,一步一步迭代,从而找到更接近方程根的近似跟。牛顿迭代法是求方程根的重要方法之一,其最大优点是在方程f(x) = 0 的单根附近具有平方收敛,而且该法还可以用来求方程的重根、复根。电力系统潮流计算,一般来说,各个母线所供负荷的功率是已知的,各个节点电压是未知的(平衡节点外)可以根据网络结构形成节点导纳矩阵,然后由节点导纳矩阵列写功率方程,由于功率方程里功率是已知的,电压的幅值和相角是未知的,这样潮流计算的问题就转化为求解非线性方程组的问题了。为了便于用迭代法解方程组,需要将上述功率方程改写成功率平衡方程,并对功率平衡方程求偏导,得出对应的雅可比矩阵,给未知节点赋电压初值,一般为额定电压,将初值带入功率平衡方程,得到功率不平衡量,这样由功率不平衡量、雅可比矩阵、节点电压不

平衡量(未知的)构成了误差方程,解误差方程,得到节点电压不平衡量,节点电压加上节点电压不平衡量构成新的节点电压初值,将新的初值带入原来的功率平衡方程,并重新形成雅可比矩阵,然后计算新的电压不平衡量,这样不断迭代,不断修正,一般迭代三到五次就能收敛。 牛顿—拉夫逊迭代法的一般步骤: (1)形成各节点导纳矩阵Y。 (2)设个节点电压的初始值U和相角初始值e 还有迭代次数初值为0。 (3)计算各个节点的功率不平衡量。 (4)根据收敛条件判断是否满足,若不满足则向下进行。 (5)计算雅可比矩阵中的各元素。 (6)修正方程式个节点电压 (7)利用新值自第(3)步开始进入下一次迭代,直至达到精度退出循环。 (8)计算平衡节点输出功率和各线路功率 2.网络节点的优化 1)静态地按最少出线支路数编号 这种方法由称为静态优化法。在编号以前。首先统计电力网络个节点的出线支路数,然后,按出线支路数有少到多的节点顺序编号。当由n 个节点的出线支路相同时,则可以按任意次序对这n 个节点进行编号。这种编号方法的根据是导纳矩阵中,出线支路数最少的节点所对应的行中非零元素也2)动态地按增加出线支路数最少编号在上述的方法中,各节点的出线支路数是按原始网络统计出来的,在编号过程中认为固定不变的,事实上,在节点消去过程中,每消去一个节点以后,与该节点相连的各节点的出线支路数将发生变化(增加,减少或保持不变)。因此,如果每消去一个节点后,立即修正尚未编号节点的出线支路数,然后选其中支路数最少的一个节点进行编号,就可以预期得到更好的效果,动态按最少出线支路数编号方法的特点就是按出线最少原则编号时考虑了消去过程中各节点出线支路数目的变动情况。 3.MATLAB编程应用 Matlab 是“Matrix Laboratory”的缩写,主要包括:一般数值分析,矩阵运算、数字信号处理、建模、系统控制、优化和图形显示等应用程序。由于使用Matlab 编程运算与人进行科学计算的思路和表达方式完全一致,所以不像学习高级语言那样难于掌握,而且编程效率和计算效率极高,还可在计算机上直接输出结果和精美的图形拷贝,所以它的确为一高效的科研助手。 二、设计内容 1.设计流程图

牛顿-拉夫逊迭代法极坐标潮流计算C语言程序

/*利用牛顿-拉夫逊迭代法(极坐标形式),计算复杂电力系统潮流,具有收敛性好,收敛速度快等优点。所有参数应归算至标幺值下。 /*可计算最大节点数为100,可计算PQ,PV,平衡节点*/ /*可计算非标准变比和平行支路*/ #include #include #include #define M 100 /*最大矩阵阶数*/ #define Nl 100 /*迭代次数*/ int i,j,k,a,b,c; /*循环控制变量*/ int t,l; double P,Q,H,J; /*中间变量*/ int n, /*节点数*/ m, /*支路数*/ pq, /*PQ节点数*/ pv; /*PV节点数*/ double eps; /*迭代精度*/ double aa[M],bb[M],cc[M],dd[M],max, rr,tt; /*中间变量*/ double mo,c1,d1,c2,d2; /*复数运算函数的返回值*/ double G[M][M],B[M][M],Y[M][M]; /*节点导纳矩阵中的实部、虚部及其模方值*/ double ykb[M][M],D[M],d[M],dU[M]; /*雅克比矩阵、不平衡量矩阵*/ struct jd /*节点结构体*/ { int num,ty; /* num为节点号,ty为节点类型*/ double p,q,S,U,zkj,dp,dq,du,dj; /*节点有功、无功功率,功率模值,电压模值,阻抗角 牛顿--拉夫逊中功率不平衡量、电压修正量*/ } jd[M]; struct zl /*支路结构体*/ { int numb; /*numb为支路号*/ int p1,p2; /*支路的两个节点*/ double kx; /*非标准变比*/ double r,x; /*支路的电阻与电抗*/ } zl[M]; FILE *fp1,*fp2; void data() /* 读取数据*/ { int h,number; fp1=fopen("input.txt","r");

极坐标法点放样

工程测量实习报告 ———经纬仪极坐标放样 班级:测量10029班 学号: 10040232910 姓名:张浩 指导老师:杨晓平

一、实训目的 为了更好的将理论与实践相结合,安排了本次的教学实训,本次实训是使用全站仪进行一般极坐标点位实地放样实训。通过现场的实际操作能够使我们更熟练的掌握极坐标法一般点位放样。 二、班级、时间、地点 (一)实习班级和时间 测量10029班(第八周、4月10号) (二)实习地点 杨凌职业技术学院南校区 三、放样数据 =3992.798 (一)、放样点坐标:X P =5695.600 Y P =3923.008 (二)、测站坐标:X A =5607.606 Y A =3972.102 后视点坐标:X M Y M=5458.367

方位角:α =288°12′33″ AM αAP=51°34′52″ -αAP=236°37′41″ 水平夹角:β=α AM 距离:D=Y 2 =112.310 △2 X △ 四、实习过程 一、极坐标法一般点位放样 (一)、操作步骤: 1、将仪器安置于点A,在M点立照准目标定向,读为取水32°22′18″ 2、顺时针转动照准部,使水平度盘读数为268°59′59″ 3、沿视线方向用钢尺量取距离D:112.310米,标定P点(二)、附图 A△ P 1 P2 M△

二、归化放样 1、用一般放样方法标定点P 1 2、方向归化,用测回法测出β 测 =268°59′48″ △β=β-β 测 =268°59′59″-268°59′48″=+11″ 归化△β,顺时针微调(外测)+11″,标定P 2 3、距离归化,量取 A P 2为D 测 ,△ D=D-D 测 =112.310-112.285=0.015米,沿视线方向量△D,标 定P 3 4、检核△β、△D,若误差不符合要求则继续归化 四、实训总结 通过本次实习,使我们将以前学习的坐标测量知识转换为坐标的放样。将理论和实践进行结合,了解测绘和测设的区别,将地形测量的知识和工程测量的知识进行融合。使得两者相结合,即会测坐标点也会放坐标点。 用经纬仪极坐标发放样出设计坐标,并对放样出的角度和距离进行测量,比较误差和精度。让我学到了很多实实在在的东西,对以前零零碎碎学的测量知识有了综合应用的机会,工程测量测设过程有了一个良好的了解。学会了运用经纬仪的基本测设方法等在课堂上无法做到的东西以及更熟练的使用经纬仪,也对钢尺量距的知识进行了回顾。很好的巩固了理论教学知识,提高实际操作能力,同时也拓展了与同学之间的交际合作的能力。

c语言编写的牛顿拉夫逊法解潮流程序

c语言编写的牛顿拉夫逊法解潮流程序 闲来无事,最近把牛拉法用c语言重写一遍,和matlab相比,c语言编写潮流程序最大的难点在于矩阵求逆,我使用的求逆方法是初等行变换法,程序段如下: #include #define N 3 void main() { int i,j,k; float t; float Jacob[N][N]={{1,2,2},{1,3,4},{2,3,4}};//欲进行求逆的矩阵 float inv_J[N][N];//逆矩阵存储于此 //初始化inv_J[N][N] for(i=0;i

} //输出逆矩阵 for(i=0;i #include #define N 4 //节点数 #define n_PQ 2 //PQ节点数 #define n_PV 1 //PV节点数 #define n_br 5 //串联支路数 void main() { void disp_matrix(float *disp_p,int disp_m,int disp_n); //矩阵显示函数 float Us[2*N]={1.0,0,1.0,0,1.05,0,1.05,0}; //电压初值 float Ps[N]={0,-0.5,0.2}; //有功初值 float Qs[N]={0,-0.3}; //无功初值float G[N][N],B[N][N]; //各几点电导电纳 struct //阻抗参数 { int nl; //左节点 int nr; //右节点 float R; //串联电阻值 float X; //串联电抗值 float Bl; //左节点并联电导 float Br; //右节点并联电纳 }ydata[n_br]={ {1,2,0,0.1880,-0.6815,0.6040}, {1,3,0.1302,0.2479,0.0129,0.0129}, {1,4,0.1736,0.3306,0.0172,0.0172}, {3,4,0.2603,0.4959,0.0259,0.0259}, {2,2,0,0.05,0,0} };

牛顿——拉夫逊法进行潮流计算

%本程序的功能是用牛顿——拉夫逊法进行潮流计算 % B1矩阵:1、支路首端号;2、末端号;3、支路阻抗;4、支路对地电纳 % 5、支路的变比;6、支路首端处于K侧为1,1侧为0 % B2矩阵:1、该节点发电机功率;2、该节点负荷功率;3、节点电压初始值% 4、PV节点电压V的给定值;5、节点所接的无功补偿设备的容量% 6、节点分类标号:1为平衡节点(应为1号节点);2为PQ节点;% 3为PV节点; clear; n=10;%input('请输入节点数:n='); nl=10;%input('请输入支路数:nl='); isb=1;%input('请输入平衡母线节点号:isb='); pr=0.00001;%input('请输入误差精度:pr='); B1=[1 2 0.03512+0.08306i 0.13455i 1 0; 2 3 0.0068+0.18375i 0 1.02381 1; 1 4 0.05620+0.13289i 0.05382i 1 0; 4 5 0.00811+0.24549i 0 1.02381 1; 1 6 0.05620+0.13289i 0.05382i 1 0; 4 6 0.04215+0.09967i 0.04037i 1 0; 6 7 0.0068+0.18375i 0 1.02381 1; 6 8 0.02810+0.06645i 0.10764i 1 0; 8 10 0.00811+0.24549i 0 1 1; 8 9 0.03512+0.08306i 0.13455i 1 0] B2=[0 0 1.1 1.1 0 1; 0 0 1 0 0 2; 0 0.343+0.21256i 1 0 0 2; 0 0 1 0 0 2; 0 0.204+0.12638i 1 0 0 2; 0 0 1 0 0 2; 0 0.306+0.18962i 1 0 0 2; 0 0 1 0 0 2; 0.5 0 1.1 1.1 0 3; 0 0.343+0.21256i 1 0 0 2] ;%input('请输入各节点参数形成的矩阵:B2='); Y=zeros(n);e=zeros(1,n);f=zeros(1,n);V=zeros(1,n);sida=zeros(1,n);S1=zeros(nl); % % %--------------------------------------------------- for i=1:nl %支路数 if B1(i,6)==0 %左节点处于1侧 p=B1(i,1);q=B1(i,2); else %左节点处于K侧 p=B1(i,2);q=B1(i,1); end

电力系统潮流计算计算计算法

电力系统潮流计算算法设计及实现 潮流计算是电力系统分析中的一种最基本的计算,它的任务是对给定的运行条件确定系统的运行状态,如各母线上的电压(幅值及相角)、网络中的功率分布以及功率损耗等。 建模是用数学的方法建立的数学模型,但它严格依赖于物理系统。根据电力系统的实际运行条件,按给定的变量不同,一般将节点分为PQ节点,PV节点,平衡节点三种类型。当这三个节点与潮流计算的约束条件结合起来时,便是潮流计算的数学模型。 PQ节点:有功功率P和无功功率Q是已知的,节点电压(V,δ)是待求量。通常变电所都是这一类型的节点。 PV节点:有功功率P和电压复制V是已知的,节点的无功功率Q和电压相位δ是待求量。一般选择有一定无功储备的发电厂和具有可调无功电源设备的变电所作为PV节点。 平衡节点:在潮流分布算出之前,网络中的功率损失是未知的,所以,网络中至少有一个节点的有功功率P不能给定,这个节点承担了系统的有功功率平衡,所以称为平衡节点。一般选择主调频发电厂为平衡节点。 潮流计算的约束条件是: 1、所有的节点电压必须满足: 这一约束主要是对PQ节点而言。 2、 2、所有电源节点的有功功率和无功功率必须满足: 对平衡节点的P和Q以及PV节点的Q按以上条件进行检验。 3、某些节点之间电压的相位差应满足: 稳定运行的一个重要条件。 功率方程的非线性 雅可比矩阵的特点: ●各元素是各节点电压的函数 ●不是对称矩阵 ●因为Y =0,所以H =N =J =L =0,另R =S =0,故稀疏 两种常见的求解非线性方程的方法:1)高斯-赛德尔迭代法;2)牛顿-拉夫逊迭代法。 高斯-赛德尔迭代法潮流计算

1、方程表示: ①用高斯-赛德尔计算电力系统潮流首先要将功率方程改写成能收敛的迭代形式; ②Q:设系统有n个节点,其中m个PQ节点,n-(m+1)个是PV节点,一个平衡节点,平衡节点不参加迭代; ③功率方程改写成: 2、求解的步骤: 1)上述迭代公式假设n个节点全部为PQ节点。 2)始终等号右边采用第k次迭代结果,当ji时,采用第k次迭代结果。 对于PV及诶单,节点有功功率P和电压幅值V是给定的。但节点的无功功率只在迭代开始时给出初值Q(在给定初值时,对该类节点增加初值Q =0.5P ,此后的迭代值必须在迭代过程中逐次算出。所以,在每次的迭代中,需要对PV 节点做以下几项计算。 ①修正节点电压:保留节点电压相位δ,而把其幅值直接取为给定值V ,令: ②计算节点无功功率: ③无功功率越线检查:第二步计算出的无功功率要按下面的不等式进行 检验: a) Q Q 计算的得到的结果比允许的最大值还大,不能以计算得到的结 果再代入进行迭代,以Q作为PV节点的无功功率,此时,PV节点转为 PQ节点; c) Q

相关主题
文本预览
相关文档 最新文档