牛顿法(牛顿拉夫逊)配电网潮流计算matlab程序

news2025/2/25 18:04:17

牛顿法配电网潮流计算matlab程序
传统牛顿—拉夫逊算法,简称牛顿法,是将潮流计算方程组F(X)=0,进行泰勒展开。因泰勒展开有许多高阶项,而高阶项级数部分对计算结果影响很小,当忽略一阶以上部分时,可以简化对方程的求解计算。当忽略一阶以上部分后,牛顿法的求解过程实质是逐次线性化,这是反复形成、求解修正方程的过程[16]。其方程式如下:
在这里插入图片描述
(18)
在公式(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.333333i            0;
-0.453858+1.891074i      -0.480769+2.403846i       0        0.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

运行结果如下:
潮流计算结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/39604.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

向NS-3添加新模块_ns3.37添加新模块_ns3.37不同版本模块移植

使用ns3的时候,我们需要调用很多模块,比如对wifi的简单功能进行仿真时: ns-3.35_third.cc_ns-3网络仿真工具wifi脚本解析_wifi脚本网络拓扑_ns-3third脚本全注释_基础ns-3_ns-3入门_ns-3third脚本解析_Part1_Mr_liu_666的博客-CSDN博客Intro…

WinSock的I/O模型

目录 一、 套接字的非阻塞工作模式 1.阻塞与非阻塞模式的概念 2.阻塞模式下能引起阻塞的套接字函数 3.两种模式的比较 2. 套接字非阻塞模式的设置方法——ioctlsocket 函数 3. 非阻塞模式下的编程方法 4. 非阻塞模式服务器端程序和客户端程序 二、select模型 1. 套接字…

信息系统综合测试与管理

本文包括软件测试模型、测试技术和测试管理。 一、测试基础 1、软件测试模型 所谓测试模型(Test Model),是测试和测试对象的基本特征、基本关系的抽象。 1)V模型 V模型实际是软件开发瀑布模型的变种,它反映了测试…

CSDN第十期竞赛

比赛详情: 通过这次的周赛让我受益颇多,这次的题目都是平常练习题目的变形,这次的竞赛是十分有意义的,加强对练习题的强化。 两道模拟题: 目录 1.熊孩子拜访 2.走楼梯 1.熊孩子拜访 题目描述 已知存在一个长度为n的…

FB显示学习期数据不足怎么办?

组合投放广告组和广告系列。组合投放广告组和广告系列有助于加快获得所需成效的速度,这意味着广告投放后很快便可看到稳定的成效。 扩大受众群。受众越多,用户完成您的优化事件的机会越多。 提高预算。如果您的预算过低,无法获得约 50 个​…

47、泛型

一、引入 1、传统方法: package generic_;import java.util.ArrayList; SuppressWarnings({"all"}) public class Generic01 {public static void main(String[] args) {ArrayList arrayListnew ArrayList();arrayList.add(new Dog("旺财",10)…

Spring项目结合Maven【实现读取不同的资源环境】

📃目录跳转📚简介:🍑修改pom.xml🥞修改application.yml🚀 演示:📚简介: 由于我们写功能的不能影响到线上环境的配置,所以每一次增加功能我们都要吧项目部署到…

STM32HAL库单ADC+DMA学习及测试记录

一、打开STM32CubeMX选择对应的芯片型号,后进入开发界面 1、双击“STM32CubeMX”软件打开,打开后如下图所示,选择红色框; 选择后可能会更新,等待更新完成即可,如下图: 2、选择开发芯片&#x…

【剧前爆米花--爪哇岛寻宝】面向对象的三大特性——封装、继承以及多态的详细剖析(上——继承)。

作者:困了电视剧 专栏:《JavaSE语法与底层详解》 文章分布:这是一篇关于Java面向对象三大特性——继承的文章,在本篇文章中我会分享继承的一些基础语法以及类在继承时代码的底层逻辑和执行顺序。 目录 继承 需求 继承的定义及语…

nginx(六十八)proxy模块(八)nginx与上游的ssl握手

一 nginx作为客户端与上游的SSL/TLS握手 理解上: nginx作为客户端,此时类似浏览器的角色,发请求建立连接 nginx作为server端与下游进行SSL/TLS握手 ① nginx与后端选择什么样的协议 1)如果nginx与上游是局域网内,一般通过http建立请求,不需要进行…

详解__int128,最大可用整数类型

前言:有些题目需要的数值刚好比 long long 的最大值大那么一点点,那么我们就可以用__int128 来搏一搏(并不是所有OJ都支持这个数据类型,受编译标准影响) 最大值是多少 int 最大值:2^(32-1)-1【受电脑字长影…

碳中和专题:碳足迹核算、碳中和顶刊论文、碳排放交易2022

(1)碳中和顶刊论文 1、数据来源:自身 2、具体内容: 01周宏春:碳循环经济内涵、实践及其碳中和的深远影响.pdf 02谢和平:碳中和目标下煤炭行业发展机遇.pdf 03秦阿宁:碳中和背景下的国际绿色技…

【FPGA】基于状态机实现自动售货机模拟

文章目录一、售货机功能二、售货机状态分析及模块划分三、代码实现四、上板验证一、售货机功能 此自动售货机模拟基于EP4CE6F17C8开发板实现,用按键,led灯,数码管表示各个输入输出 功能: 此自动售货机可以选择A(三元…

[激光原理与应用-21]:《激光原理与技术》-7- 激光技术大汇总与总体概述

目录 前言: 第1章 什么是激光技术 1.1 什么是激光技术 1.2 激光技术的分类方法 第2章 激光的应用技术 2.1 激光加工技术 2.2 激光快速成型 2.3 激光切割 2.4 激光焊接 2.5 激光雕刻 2.6 激光打孔 2.7 激光蚀刻 2.8 激光手术 2.9 激光武器 2.10 激光能…

详解诊断数据库ODX-D

文章目录 前言一、ODX-D具体内容是什么?二、ODX企标中关于ODX-D定义内容三、ODX-D在CANdelaStudio以及ODXStudio中定义内容总结前言 ​又是一周末,静下心码下字,将ODX这个Topic补充完整。 ODX含义是开放式诊断数据交互,是欧洲那边提出诊断数据架构,详情可如下图: 核心…

区间信息维护与查询【树状数组 】 - 原理2 多维树状数组

区间信息维护与查询【树状数组 】 - 原理2 多维树状数组 我们已经知道一维树状数组修改和查询的时间复杂度均为O (logn),可以扩展为m 维树状数组,其时间复杂度为O (log ^m n ),对该算法只需加上一层循环即可。二维数组a [n ][n ]、树状数组c…

创建TCP通信与粘包问题解决

创建TCP通信 nodeJS的Net模块实现了底层通信接口 通信过程 创建服务端:接收和回写客户端数据创建客户端:发送和接收服务端数据数据传输: 内置服务事件和方法读写数据 通信事件 listing事件:调用server.listen方法之后触发con…

介绍 10 个有用的 Flutter 软件包

介绍 10 个有用的 Flutter 软件包 原文 https://genotechies.medium.com/introducing-10-useful-flutter-packages-1252c4b75fa7 前言 FLutter 软件包使您的开发简单快速。然而,有利有弊。有时候,如果从头开始开发这个特性将是有益的,因为可定…

Hive日分区表如何快速导入到StarRocks

1、背景 业务现状:集团使用FineBI做数据呈现及报表分析工具,经过近两年的BI建设,供应链域及营销域的BI建设已初具规模并体系化。数仓规模60TB,FineBI数据集约8000个,BI挂出报表数约1600个,报表月增幅在40左…

非凡社群管理之社群管理有什么内容

社群作为一个非常重要的私域流量池,它本身就是一个提升用户价值的利器。但如果管理不好社群,那么也是无济于事的。 社群小助手提示:高效管理社群,以下这五个方面要做好。 一,社群为用户解决问题,让群成员都…