基于结点电压法的配电网状态估计算法matlab仿真

目录

1.程序功能描述

2.测试软件版本以及运行结果展示

3.核心程序

4.本算法原理

4.1 结点电压法的基本原理

4.2 结点电压法在配电网状态估计中的应用

5.完整程序


1.程序功能描述

       基于结点电压法的配电网状态估计算法.对配电网实施有效控制和操作的前提是实时数据库中数据的可靠性和准确性。状态估计是一种利用测量数据的相关性和冗余度,应用计算机技术采用数学处理方法来对运行参数进行处理,以提高数据的可靠性和完整性,有效获得电力系统实时状态信息的方法。

2.测试软件版本以及运行结果展示

MATLAB2022a版本运行

3.核心程序

.......................................................................%计算雅可比矩阵%Jacobian = [Jacobian_1_1 Jacobian_1_2; %            Jacobian_2_1 Jacobian_2_2; %            Jacobian_3_1 Jacobian_3_2; %            Jacobian_4_1 Jacobian_4_2; %            Jacobian_5_1 Jacobian_5_2];[Jacobian_1_1,Jacobian_1_2] = func_Jacobian_1(Len_IVM,Num_Bus);[Jacobian_2_1,Jacobian_2_2] = func_Jacobian_2(V_est,Ang_est,G,B,Index_real_power_injection,FROM_BUS,Len_IRPI,Num_Bus);[Jacobian_3_1,Jacobian_3_2] = func_Jacobian_3(V_est,Ang_est,G,B,Index_reactive_power_injection,FROM_BUS,Len_IRP,Num_Bus);[Jacobian_4_1,Jacobian_4_2] = func_Jacobian_4(V_est,Ang_est,G,B,Index_real_powerflow,FROM_BUS,TO_BUS,Len_IRPS,Num_Bus);[Jacobian_5_1,Jacobian_5_2] = func_Jacobian_5(V_est,Ang_est,G,B,Shunt_Admittance,Index_reactive_powerflow,FROM_BUS,TO_BUS,Len_IRPF,Num_Bus); % Measurement Jacobian, Jacobian..Jacobian = [Jacobian_1_1 Jacobian_1_2; Jacobian_2_1 Jacobian_2_2; Jacobian_3_1 Jacobian_3_2; Jacobian_4_1 Jacobian_4_2; Jacobian_5_1 Jacobian_5_2];Gm              = Jacobian'*inv(Error)*Jacobian;%计算误差r               = Values - h;%进行状态估计dE              = inv(Gm)*(Jacobian'*inv(Error)*r);Vector_est      = Vector_est + Step*dE;Ang_est(2:end)  = Vector_est(1:Num_Bus-1);V_est           = Vector_est(Num_Bus:end);Times           = Times + 1;Error_aim       = mean(abs(dE));errors(Times-1) = Error_aim;h_est{Times-1}  = h;pause(0.001);
enddisp('状态估计结果');
disp('网络节点 --- 电压幅度    --- 电压相位角度');
for m = 1:Num_Busfprintf('%4d        ',m); fprintf('%8.8f     ',V_est(m)); fprintf('%8.8f  ',Ang_est(m)); fprintf('\n');
endfigure;
subplot(211);
plot(1:Num_Bus,V_est,'-bs',...'LineWidth',1,...'MarkerSize',6,...'MarkerEdgeColor','k',...'MarkerFaceColor',[0.9,0.0,0.0]);
grid on;
xlabel('节点号');
ylabel('电压估计值');
subplot(212);
plot(1:Num_Bus,Ang_est,'-bs',...'LineWidth',1,...'MarkerSize',6,...'MarkerEdgeColor','k',...'MarkerFaceColor',[0.9,0.0,0.0]);
grid on;
xlabel('节点号');
ylabel('电压角度估计值');figure;
plot(errors,'-bs',...'LineWidth',1,...'MarkerSize',6,...'MarkerEdgeColor','k',...'MarkerFaceColor',[0.9,0.0,0.0]);
grid on;
xlabel('迭代次数');
ylabel('状态估计误差');figure;
subplot(211);
plot(abs(Values),'b-*');
hold on
plot(abs(h_est{2}),'r-s');
grid on;
legend('真实值','估计值');
xlabel('测量值编号');
ylabel('电压幅度');
title('初始条件下实际值和估计值的误差对比');
subplot(212);
plot(abs(Values),'b-*');
hold on
plot(abs(h_est{end}),'r-s');
grid on;
legend('真实值','估计值');
xlabel('测量值编号');
ylabel('电压幅度');
title('完成估计之后实际值和估计值的误差对比');
27_004m

4.本算法原理

        配电网是电力系统的重要组成部分,其运行状态直接影响到电力系统的稳定性和供电质量。因此,对配电网的状态进行准确估计是保障电力系统安全运行的关键。基于结点电压法的配电网状态估计算法是一种常用的方法,它利用结点电压信息来推算配电网的运行状态。结点电压法是一种基于电路分析的状态估计算法,它利用配电网的拓扑结构和结点电压信息,通过解算线性方程组来估计配电网的状态。在配电网中,每个结点都有一个对应的电压值,这些电压值受到注入该结点的功率、结点之间的阻抗以及相邻结点电压的影响。

4.1 结点电压法的基本原理

         结点电压法的基本原理是将配电网中的每个结点作为一个未知量,通过结点电压方程来描述网络中各结点电压之间的关系。结点电压方程是基于基尔霍夫电流定律(KCL)和基尔霍夫电压定律(KVL)建立的。

        在配电网中,每个结点都连接有多条支路,每条支路上都有电流流过。根据KCL,流入结点的电流等于流出结点的电流之和。而每条支路上的电流又可以通过该支路上的电压和阻抗来计算。因此,可以通过结点电压方程来表示结点电压和支路电流之间的关系。

       配电网状态估计的求解方法一般采用迭代法,如高斯-牛顿法(Gauss-Newton method)或莱文贝格-马夸尔特法(Levenberg-Marquardt method)。这些方法的基本思想是从一个初始估计值出发,通过迭代计算来逐步逼近最优解。

      在每次迭代中,首先根据当前的状态估计值计算量测函数的值,然后计算目标函数及其梯度。接着,根据目标函数的梯度和一定的搜索方向来确定状态变量的更新量。最后,更新状态变量并判断是否满足收敛条件。如果满足收敛条件,则输出状态估计结果;否则,继续迭代计算。

4.2 结点电压法在配电网状态估计中的应用

       结点电压法在配电网状态估计中具有广泛的应用。它可以处理各种类型的量测数据,包括结点电压量测、支路功率量测、支路电流量测等。同时,它还可以考虑配电网中的各种约束条件,如结点电压约束、支路功率约束等。

       在实际应用中,结点电压法通常与其他方法相结合来提高状态估计的精度和可靠性。例如,可以与最小二乘法相结合来处理量测数据的误差;可以与卡尔曼滤波器相结合来实现动态状态估计;可以与人工智能算法相结合来处理量测数据的异常值和缺失值等。

5.完整程序

VVV

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

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

相关文章

【JavaEE】_Fiddler抓包HTTP请求与响应

目录 1. Fiddler简介 2. Fiddler安装步骤 3. 抓包结果举例(sogou.com) 1. Fiddler简介 1. 要查看HTTP的请求和响应,需要使用抓包工具进行抓包; 抓包即获取网卡上经过的数据并显示出来,常用的抓包工具有wireshark和…

BIOS and UEFI

BIOS : Basic Input/Output System UEFI: Unified Extensible Firmware Interface Notes: 1. 两者都是主板上的firmware. 2. 两者的作用都包括开机后检查硬件,从硬盘上寻找bootloader(用于加载操作系统,例如GRUB). # 操作系统的启动过程&#xff1a…

linux中的文件操作

linux的理念 在linux中的一切皆为文件!!! 在上一篇博客中提到过,Linux中的桌面本质上也是一种文件,而现在,在本篇博客中要对这种理念进行进一步的提升,也就是在Linux系统中的一切皆为文件&#…

数据结构对链表的初步认识(一)

已经两天没有更新了,今天就写一篇数据结构的链表吧,巩固自己也传授知识,不知道各位是否感兴趣看看这一篇有关联表的文章。 目录 链表的概念与结构 单向链表的实现 链表各个功能函数 首先我在一周前发布了一篇有关顺序表的文章,…

RCS系统之:基础算法

设计仓库机器人的控制管理系统涉及到路径规划、任务分配、库存管理、通信系统等方面。以下是一个基本的仓库机器人控制管理系统方案的概述: 路径规划:设计一个路径规划系统,用于确定机器人在仓库内的最佳行驶路径,以最大程度地提…

MySQL学习记录——십일 索引

文章目录 1、理解索引2、聚簇、非聚簇索引3、操作1、主键索引2、唯一键索引3、普通索引4、注意事项 4、全文索引 1、理解索引 MySQL服务器是在内存中的,所有数据库的CURD操作都是在内存中进行,索引也是如此。索引是用来提高性能的,它通过组织…

Java 基于微信小程序的私家车位共享系统

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…

helm部署gitlab-runner问题解决

关于.gitlab-ci.yml中build镜像时,docker守护进程未启动错误 问题截图 解决方法 conf.toml添加 [[runners.kubernetes.volumes.host_path]]name "docker"mount_path "/var/run/docker.sock"read_only falsehost_path "/var/run/dock…

【C++ STL】你真的了解string吗?浅谈string的底层实现

文章目录 底层结构概述扩容机制浅拷贝与深拷贝插入和删除的效率浅谈VS和g的优化总结 底层结构概述 string可以帮助我们很好地管理字符串,但是你真的了解她吗?事实上,string的设计是非常复杂的,拥有上百个接口,但最常用…

【简写MyBatis】01-简单映射器

前言 新开一个坑,为了学习一下MyBatis的源码,写代码是次要的,主要为了吸收一下其中的思想和手法。 目的 关联对象接口和映射类的问题,把 DAO 接口使用代理类,包装映射操作。 知识点 动态代理简单工厂模式Invocati…

HMI界面:感官与体验俱佳的智能家居界面分享

Hello,我是大千UI工场,本期分享HMI人机交互界面在智能家居领域的案例,关注大千,学习N多UI干货,有设计需求,可以联络。 设计感官和体验俱佳智能家居的UI界面时,可以考虑以下几个方面:…

Slider滑动输入条(antd-design组件库)简单使用

1.Slider滑动输入条 滑动型输入器,展示当前值和可选范围。 2.何时使用 当用户需要在数值区间/自定义区间内进行选择时,可为连续或离散值。 组件代码来自: 滑动输入条 Slider - Ant Design 3.本地验证前的准备 参考文章【react项目antd组件-de…

OpenCV-40 绘制直方图

一、使用matplotlib画直方图 可以利用matplotlib把OpenCV统计得到的直方图绘制出来 示例代码如下: import cv2 import matplotlib.pyplot as pltlena cv2.imread("beautiful women.png") # 变为黑白图片 gray cv2.cvtColor(lena, cv2.COLOR_BGR2GRAY…

XUbuntu22.04之apt与snap如何重装软件(二百一十二)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

SpringBoot实现OneDrive文件上传

SpringBoot实现OneDrive文件上传 源码 OneDriveUpload: SpringBoot实现OneDrive文件上传 获取accessToken步骤 参考文档:针对 OneDrive API 的 Microsoft 帐户授权 - OneDrive dev center | Microsoft Learn 1.访问Azure创建应用Microsoft Azure,使…

《汇编语言》- 读书笔记 - 实验9 根据材料编程

《汇编语言》- 读书笔记 - 实验9 根据材料编程 需求所需的相关知识属性字节每一位的含义 分析字符位置属性 解答思路代码 效果 需求 在屏幕中间分别显示 绿色、绿底红色、白底蓝色 的字符串 welcome to masm!。 所需的相关知识 80x25 彩色字符模式显示缓冲区(以下简称为显示…

关于DVWA靶场Could not connect to the database service的几种解决办法

总的来说这个问题都是 config 配置文件没有修改正确 一般修改数据库的用户名和密码与 phpstudy 一致并且添加了 key 就能初始化成功的 但是我还遇到过另一种情况,修改了上面的东西依旧无法连接到数据库 Could not connect to the database service. Please check …

如果马斯克投资OpenAI,而不是收购推特会如何?

从去年年底开始,AIGC就开始快速流行,生成式人工智能技术的不断演变,以OpenAI受到微软的追投开始,再以ChatGPT的发布快速在互联网市场蔓延为标志性事件,进而开始引领了一场新兴人工智能的快速发展之路。 去年&#xff…

Javaweb之SpringBootWeb案例之AOP通知类型的详细解析

3.1 通知类型 在入门程序当中,我们已经使用了一种功能最为强大的通知类型:Around环绕通知。 Around("execution(* com.itheima.service.*.*(..))") public Object recordTime(ProceedingJoinPoint pjp) throws Throwable {//记录方法执行开始…

第13讲我创建的投票列表实现

新建我创建的投票页面 {"path": "pages/createVoteList/createVoteList","style": {"navigationBarTitleText": "我创建的投票"}}个人中心页面,加下 点击 “我创建的投票”跳转列表页面 goVoteList:function(){u…