function lianxuchaoliu
clear
clc
n=9%节点数;
nl=9%支路数;
isb=1%平衡节点号;
pr=0.00001%误猛桐局差精度;
MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中。
MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首轮歼屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的枝让程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
一、课程设计的目的与要求 目的:培养学生的电力系统潮流计算机编程能力,掌握计算机潮流计算的相关知识 要求:基本要求: 1.编写潮流计算程序; 2.在计算机上调试通过; 3.运行程序并计算出正确结果; 4.写出课程设计报告 二、设计步骤: 1.根据给定的参数或工程具体要求(如图),收集和查阅资料;学习相关软件(软件自选:本设计选择Matlab进行设计)。2.在给定的电力网络上画出等值电路图。 3.运用计算机进行潮流计算。 4.编写设计说明书。 三、设计原理 1. 牛顿-拉夫逊原理 牛顿迭代法是取x0 之后,在这个基础上,找到比x0 更接近的方程的跟,一步一步迭代,从而找到更接近方程根的近似跟。牛顿迭代法是求方程根的重要方法之一,其最大优点是在方程f(x) = 0 的单根附近具有平方收敛,而且该法还可以用来求方程的重根、复根。电力系统潮流计算,一般来说,各个母线所供负荷的功率是已知的,各个节点电压是未知的(平衡节点外)可以根据网络结构形成节点导纳矩阵,然后由节点导纳矩阵列写功率方程,由于功率方程里功率是已知的,电压的幅值和相角是未知的,这样潮流计算的问题就转化为求解非线性方程组的问题了。为了便于用迭代法解方程组,需要将上述功率方程改写成功率平衡方程,并对功率平衡方程求偏导,得出对应的雅可比矩阵,给未知节点赋电压初值,一般为额
课程设计报告
2 定电压,将初值带入功率平衡方程,得到功率不平衡量,这样由功率不平衡量、雅可比矩阵、节点电压不平衡量(未知的)构成了误猜厅差方程,解误差方程,得到节点电压不平衡量,节点电压加上节点电压不平衡量构成新的节点电压初值,将新的初值带入原来的功率平衡方程,并重新形成雅可比矩阵,然后计算新的电压不平衡量,这样不断迭代,不断修正,一般迭代三到五次就能收敛。 牛顿—拉夫逊迭代法的一般步骤: (1)形成各节点导纳矩阵Y。 (2)设个节点电压的初始值U和相角初始值e 还有迭代次数初值为0。 (3)计算各个节点的功率不平衡量。 (4)根据收敛条件判断是否满足,若不满足则向下进行。 (5)计算雅可比矩阵中的各元素。 (6)修正方程式个节点电压 (7)利用新值自第(3)步开始进入下一次迭代,直至达到精度退出循环。 (8)计算平衡节点输出功率和各线路功率 2. 网络节点的优化 1)静态地按最少出线支路数编号 这种方法由称为静态优化法。在编号以前。首先统计电力网络个节点的出线支路数,然后,按 出线支路数有少到多的节点顺序编号。当由n 个节点的出线支路相同时,则可以按任意次序对这n 个节点进行编号。这种编号方法的根据是导纳矩阵中,出线支路数最少的节点所对应的行中非零元素也 2)动态地按增加出线支路数最少编号在上述的方法中,各节点的出线支路数是按原始网络统计出 来的,在编号过程中认为固定不变的,事实上,在节点消去过程中,每消去一个节点以后,与该节点相连的各节点的出线支路数将发生变化(增加,减少或保持不变)。因此,如果每消去一个节点后,立即修正尚未编号节点的出线支路数,然后选其中支路数最少的一个节点进行编号,就可以预期得到更好的效果,动态按最少出线支路数编号方法的特点就是按出线最少原则编号时考虑了消去过程中各节点出线支路数目的变动情况。 3. MATLAB编程应用 Matlab 是“Matrix Laboratory”的缩写,主要包敏兆闭括:一般数桥裂值分析,矩阵运算、数字信号处理、建模、系统控制、优化和图形显示等应用程序。由于使用Matlab 编程运算与人进行科学计算的思路和表达方式完全一致,所以不像学习高级语言那样难于掌握,而且编程效率和计算效率极高,还可在计算机上直接输出结果和精美的图形拷贝,所以它的确为一高效的科研助手。
在公式(18)中,和分别表示状态变量与其修正量组成的列向量;为方阵,一般叫作雅可比矩阵,第i行j列元素为 ,它的大小为第i个函数对第j个变量求偏导;k则表示阵元素都在处取;同时,F(X)是由n个函数组成的n维列向量;在极坐标下,节点电压可如下表示:在这里插入图片描述
(19)芹扮宏
若和为已知大小的功率,与从节点电压求得的有功和无功功率之差,为功率的不平衡量,则节点功率不平衡量可用如下公式计算:
在这里插入图片描述
(20)
节点功率可用各节点电压模值与相位表示,如下公式所示:
在这里插入图片描述
(21)
式(21)中,为节点i和j的相位差。
由以公式(18)-(21)推得牛顿法下,其潮流计算方嫌册程可写为:
在这里插入图片描述
(22)
公式(22)中,雅可比矩阵的各元素为
在这里插入图片描述
(23)
(24)
(25)
(26)
在这里插入图片描述
(27)
(28)
(29)
(30)
其中,节点导纳矩阵的元素由Gij 、Bij表示。
随着国内外配电系统自动化水平不缺罩断提高,电力行业人员也开始更加深入地研究配电网系统。配电网潮流计算作为DMS(配电管理系统)的重要基础,受到广大行业界人士的关注。因此,配电网潮流计算,已然成为配电网分析的重要内容。配电网与输电网相比,两者有明显不同,前者一般采用网格结构,线路参数R/X的值较大,三相负荷不对称程度明显。这些特点使得在输电网中计算有效,如牛顿法,不再适用于配电网。为此,有学者提出了适用于配电网的潮流算法,主要包括基于回路方程的潮流算法、前推回推法和改进的牛顿-拉夫逊法[17](简称改进的牛拉法)。其中,基于回路方程的方法具有较强的网格处理能力和良好的收敛性,但该方法的节点数和分支数处理非常复杂。前推回推法是针对配电网的树状特性,可以避免潮流计算中的病态条件,同时速度更快。然而,由于其公式和算法与牛顿潮流算法不同,其在其它方面(如潮流优化)的应用将受到限制。
改进牛顿法通过对传统法进行一定的近似,将J阵写成UDUT 的形式。U仅由网络拓扑决定,是一个上三角矩阵;D是一个对角矩阵。在牛拉法中,需要对J阵因子分解与前代回代,改进法则只有前推回代的计算过程。它很好地改善了传统法以及前推回推法。经过算例计算结果证明,改进法可以避免J阵病态,且拥有前推回代法的收敛速度、精度,又由于它属于牛顿型算法,所以该算法已经得到了广泛的运用[18]。
下面附带电力系统分析牛顿法算例及matlab程序:
网络结构如下:系统结构图
系统参数如下:
在上图所示的简单电力系统中,系统中节点1、2为PQ节点,节点3为PV节点,节点4为平衡节点,已给定P1s+jQ1s=-0.30-j0.18 P2s+jQ2s=-0.55-j0.13 P3s=0.5 V3s=1.10 V4s=1.05∠0°
容许误差ε=10-5
节点导纳矩阵:
导纳矩阵
各节点电压:
节点 e f v ζ
1.0.984637 -0.008596 0.984675 -0.500172
2.0.958690 -0.108387 0.964798 -6.450306
3.1.092415 0.128955 1.100000 6.732347
4.1.050000 0.000000 1.050000 0.000000
各节点功率:
节点 P Q
1-0.300000 -0.180000
2–0.550000 -0.130000
3 0.500000 -0.551305
4 0.367883 0.264698
matlab程序如下:
// 牛顿法潮流计算matlab程序
clc
Y=[1.042093-8.242876i -0.588235+2.352941i 3.666667i -0.453858+1.891074i
-0.588235+2.352941i 1.069005-4.727377i 0-0.480769+2.403846i
3.666667i 0 -3.333333i0
-0.453858+1.891074i -0.480769+2.403846i 00.934627-4.261590i]
%导纳矩阵
e=[1 1 1.1 1.05]%初始电压
f=zeros(4,1)
V=zeros(4,1)%节点电压
Ws=[-0.3 -0.18 -0.55 -0.13 0.5 1.1]%初始功率
W=zeros(6,1)
n=length(Y)%节点数
J=zeros(2*(n-1))%雅可比矩阵
delta_v=zeros(1,6)
delta_w=Ws
G=real(Y)
B=imag(Y)
S=zeros(4,2)
c=0%循环次数
m=input('请输入PQ节点数:')
while max(abs(delta_w))>10^-5
for i=1:(n-1)%以下为求取雅可比矩阵
for j=1:(n-1)
if (i~=j)
J(2*i-1,2*j-1)=-(G(i,j)*e(i)+B(i,j)*f(i))
J(2*i,2*j)=-J(2*i-1,2*j-1)
J(2*i-1,2*j)=B(i,j)*e(i)-G(i,j)*f(i)
J(2*i,2*j-1)=J(2*i-1,2*j)
end
end
end
for j=1:(n-2)
J(6,2*j-1)=0
J(6,2*j)=0
end%以上为非对角线元素
s1=0
s2=0
for i=1:(n-1)
for j=1:n
s1=s1+(G(i,j).*e(j)-B(i,j).*f(j))
s2=s2+(G(i,j).*f(j)+B(i,j).*e(j))
end
J(2*i-1,2*i-1)=-s1-G(i,i) *e(i)-B(i,i)*f(i)
J(2*i-1,2*i)=-s2+B(i,i) *e(i)-G(i,i)*f(i)
s1=0
s2=0
end
for i=1:m
for j=1:n
s1=s1+G(i,j).*f(j)+B(i,j).*e(j)
s2=s2+(G(i,j).*e(j)-B(i,j).*f(j))
end
J(2*i,2*i-1)=s1+B(i,i) *e(i)-G(i,i)*f(i)
J(2*i,2*i)=-s2+G(i,i) *e(i)+B(i,i)*f(i)
s1=0
s2=0
end
J(6,5)=-2*e(3)
J(6,6)=-2*f(3)%对角线元素求解
for i=1:m
for j=1:n
s1=s1+e(i)*(G(i,j).*e(j)-B(i,j).*f(j))+f(i)*(G(i,j).*f(j)+B(i,j).*e(j))
s2=s2+f(i)*(G(i,j).*e(j)-B(i,j).*f(j))-e(i)*(G(i,j).*f(j)+B(i,j).*e(j))
end
delta_w(2*i-1)=Ws(2*i-1)-s1
delta_w(2*i)=Ws(2*i)-s2
W(2*i-1)=s1
W(2*i)=s2
s1=0
s2=0
end
for j=1:n
s1=s1+e(3)*(G(3,j).*e(j)-B(3,j).*f(j))+f(3)*(G(3,j).*f(j)+B(3,j).*e(j))
end
delta_w(5)=Ws(5)-s1
delta_w(6)=(Ws(6)^2-(e(3)^2+f(3)^2))
W(5)=s1
W(6)=sqrt(e(3)^2+f(3)^2)%以上求功率差值
delta_v=-inv(J)*delta_w
for i=1:(n-1)
e(i)=e(i)+delta_v(2*i-1)
f(i)=f(i)+delta_v(2*i)
end%求电压差值
c=c+1
end
for x=1:4
V(x)=e(x)+f(x)*1i
end%节点电压
s1=0
for x=3:4
for j=1:4
s1=s1+conj(Y(x,j))*conj(V(j))
end
S(x,1)=real(V(x)*s1)
S(x,2)=imag(V(x)*s1)
s1=0
end%PV与平衡节点功率
for x=1:2
S(x,1)=W(2*x-1)
S(x,2)=W(2*x)
end%节点功率
c
J
V
S
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
运行结果如下:
潮流计算结果
文章知识点与官方知识档案匹配
算法技能树首页概览
34356 人正在系统学习中
电磁MATLAB
微信公众号
程序从vx公众号获取,助力科研!
打开CSDN APP,看更多技术内容
matlab潮流程序,潮流计算的MATLAB源程序_weixin_39760433的博客-CSDN...
1、简单潮流计算的牛顿拉夫逊程序,相关的原始数据数据数据输入格式如下:%B1是支路参数矩阵,第一列和第二列是节点编号。节点编号由小到大编写%对于含有变压器的支路,第一列为低压侧节点编号,第二列为高压侧节点%编号,将变压器的串联阻抗...
继续访问
...编程实现_某只旺仔的博客_电力系统潮流计算程序matlab
潮流计算是电力系统中最基本,应用最广泛的一种计算,是电力系统稳定计算和故障分析的基础。这个代码通过matlab实现了用极坐标表示的牛顿法和P-Q分解法进行潮流计算,使用IEEE14节点系统进行测试,计算结果和应用matpower的潮流计算完全一致。代码...
继续访问
<em>matlab</em>导数计算
<p>matlab导数计算,通过编程实战掌握具体应用。包括matlab导数计算前、matlab导数计算中、matlab导数计算后。</p>
继续访问
(完整版)基于MATLAB牛顿拉夫逊法进行潮流计算.doc
>%本程序的功能是用牛顿拉夫逊法进行潮流计算 n=input' 请输入节点数 :n=nl=input' 请输入支路数 :nl=isb=input' 请输入平衡母线节点号 :isb=pr=input' 请输入误差精度 :pr=B1=input' 请输入由各支路参数形成的矩阵 :B1=B2=input' 请输入各节点参数形成的矩阵 :B2=Y=zeros(ne=zeros
牛顿拉夫逊潮流计算matlab程序
基于牛顿拉夫逊进行潮流计算,求得各节点电压,各支路功率流动,内附程序输入说明以及案例。
珍藏多年的matlab潮流计算程序源代码集合,包含多个潮流计算程序
【达摩老生出品,必属精品,亲测校正,质量保证】 资源名:珍藏多年的matlab潮流计算程序源代码集合,包含多个潮流计算程序 资源类型:matlab项目全套源码 源码说明: 全部项目源码都是经过测试校正后百分百成功运行的,如果您下载后不能运行可联系我进行指导或者更换。 适合人群:新手及有一定经验的开发人员
牛顿-拉夫逊法潮流计算——采用极坐标形式
采用极坐标形式的Newton-Raphson法进行潮流计算,并提供IEEE 14、57节点及New England 39节点的计算数据。使用方法:运行/修改PowerFlow_Newton_Polar.m文件。
电力系统牛拉法潮流计算MATLAB程序
实现潮流计算的MATLAB代码,使用牛顿拉夫逊法,可更改结点数,支路数和导纳阵,通用性强
【课设/毕业设计】电力系统潮流计算(Matlab代码实现)
潮流计算是电力系统分析中的一种最基本的计算,对给定系统进行潮流计算可以得到各母线上的电压、网络中的功率分布及功率损耗等。本文介绍了潮流计算在电力系统分析中的作用及潮流计算的发展状况。通过对潮流计算所用的数学模型进行分析,建立潮流计算的基本方程。牛顿-拉夫逊法是目前广泛应用的一种潮流计算方法,本文阐述了牛顿-拉夫逊潮流计算的基本原理。详细展示了利用matlab平台编写潮流计算程序的具体过程,通过实例证明基于牛顿-拉夫逊法的潮流计算程序具有收敛速度快、占用内存小的优点。潮流计算的程序实现手段。
继续访问
传统牛顿拉夫逊法潮流计算matlab程序.zip
采用何仰赞《电力系统分析》中介绍的牛顿拉夫逊法matlab编程,程序还能实现N-1校核和线路网损分析,适合学习电气工程领域的学子。
基于matpower的电力系统潮流计算matlab程序
它是由美国康奈尔大学电力系统工程研究中心(PSERC of Cornell University)的RAY D. Zimmerman、Carlos E. Murillo-Sánchez和甘德强在Robert J. Thomas的指导下开发出来的,本章介绍的是MATPOWER4.0。每一个电网用变量名为“mpc”的结构体(structures)来定义,结构体mpc的不同字段用baseMVA、bus、branch、gen等来定义和返回电网的具体参数。列的数据类似于标准的IEEE 和PTI 列的数据格式。
继续访问
直流潮流计算matlab程序
直流潮流发的特点是用电力系统的交流潮流(有功功率和无功功率)等值的直流电流来代替。甚至只用直流电路的解析法来分析电力系统的有功潮流,而不考虑无功分布对有功的影响。这样一来计算速度加快,但计算的准确度有所降低,本方法适用于对潮流计算准确度要求不高的计算场景。θ为网络中各节点的电压相位角的向量;P为节点注入的有功功率向量。这就相当于线路两端的直流电位分别为θi和θj。(2)按照标幺值计算时,节点电压与其额定电压相差不大,故有:Ui≈Uj≈1.0;以IEEE9节点系统为算例,系统参数如下。
继续访问
牛顿-拉夫逊法潮流计算matlab程序,牛顿—拉夫逊法潮流计算MATLAB程序.doc
!!!!!!!!!!!!########################牛顿—拉夫逊法潮流计算程序By Yuluo%牛顿--拉夫逊法进行潮流计算n=input('请输入节点数:n=')n1=input('请输入支路数:n1=')isb=input('请输入平衡母线节点号:isb=')pr=input('请输入误差精度:pr=')B1=input('请输入由支路参数形成的矩阵:B1=')B...
继续访问
matlab程序 潮流计算,潮流计算matlab程序
《潮流计算matlab程序》由会员分享,可在线阅读,更多相关《潮流计算matlab程序(3页珍藏版)》请在人人文库网上搜索。1、clear%各节点参数:节点编号,类型,电压幅值,电压相位,注入有功,注入无功 %类型:1PQ节点,2PV节点,3平衡节点%本程序中将最后一个节点设为平衡节点R_1=1 1 1.0 0 0.2 0.2j2 1 1.0 0 -0.45 -0.15j3 1 1.0 0 ...
继续访问
matlab潮流计算函数,基于牛顿拉夫逊法潮流计算的matlab实验报告(含源程序和结果)...
《基于牛顿拉夫逊法潮流计算的matlab实验报告(含源程序和结果)》由会员分享,可在线阅读,更多相关《基于牛顿拉夫逊法潮流计算的matlab实验报告(含源程序和结果)(24页珍藏版)》请在人人文库网上搜索。1、基于牛顿拉夫逊法潮流计算的matlab实验报告一、 实验目的和要求1.学习掌握matlab的基本用法2.应用MATLAB语言编写具有一定通用性的牛顿-拉夫逊法潮流计算程序。要求:(1)潮流计...
继续访问
matlab的做潮流计算,Matlab实现潮流计算程序
关于Matlab趋势计算program.doc文件的实现,爱文共享的信息具有丰富的相关文档,每天都有成千上万的行业名人在该站点上共享最新信息.程序代码如下: 读取数据clcclearfilename ='txt'a = textread(filename)n = a(,)pinghengjd = a(,)phjddianya = a(,)jingdu = a(,)b = zeros (,)j = ...
继续访问
天然气潮流计算matlab程序
此外,由于天然气在管道内传输时会产生压力损耗,所以每隔一段都要设置压缩机来提升节点压力,保证天然气系统的正常运行。(3)如果节点中存在压缩机,则可以求得压缩机消耗的等效天然气流量,将其作为一个负荷加入到潮流计算中;管道或者节点的约束,例如流量、节点压力、压缩机消耗电能和压缩比等,如下面四式所示。(2)根据天然气节点压力与节点间流量的关系式求出前一个节点的节点压力;(1)由用户负荷求得微型燃气轮机的功率
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)