当前位置: 首页 > news >正文

随机潮流应对不确定性?计及分布式发电的配电系统随机潮流计算程序代码!

前言

随着分布式电源在电力系统中所占比例的不断扩大,研究分布式发电对系统稳态运行的影响势在必行。带分布式发电的潮流计算常常用来评估其并网后对系统的影响,同时它也是分析分布式发电对电网稳定性的影响等其他理论研究工作的基础。然而,许多分布式发电的有功出力受自然天气条件的影响很大,例如风力发电和太阳能发电,其出力随着风速和光强的变化而变化。这样,当系统中含有大量的分布式电源时,其有功出力的不稳定性会造成系统的过压或欠压,电压质量难以保证。随机潮流计算是解决上述问题的有效方法和手段,它运用了概率统计方法处理系统运行中的随机变化因素,给出系统运行电压、支路潮流等概率分布情况,可以更深刻地揭示系统运行状况,为系统安全运行决策提供更完整的信息。

分布式发电技术

分布式发电技术通常是指发电功率在数kW至50MW、小型模块化且分散地布置在用户附近的高效、可靠的发电技术。发电设施主要包括:以液体或气体为燃料的内燃机、微型燃气轮机、光伏电池、风力发电、生物质能发电等。风力发电按规模可分为2种:一种是直接与输电网连接的大型的风电场,它由许多风力发电机组构成;另一种是分布在配电网络中的单个风力发电机或小型风电机组。

一般认为,风速分布均为正偏态分布,用于拟合风速分布的线型很多,威布尔(Weibull)分布双参数曲线被普遍认为是最适合用于风速统计描述的概率密度函数。

太阳能电池是光伏发电系统的基础和核心,它的输出功率与光照强度密切相关,由于光强具有随机性,因此输出功率也是随机的。据统计、在一定时间段内(1h或几h),太阳光照强度可以近似看成Beta分布。

变不变量法

半不变量最初被称为“累积量”,是随机变量的一种数字特征,其作用类似于矩。累积量不能直接由分布计算,通常通过随机变量的特征函数、矩母函数或相关公式来计算。累积量具有独立随机变量之和的累积量等于各随机变量的累积量相加的性质。此外,累积量与计量的基点无关,且当尺度增大b倍时,其值增大b倍。在空间直角坐标系中,二次曲面的方程经过任意的直角变换后,由系数组成的一个函数,如果经过转轴变换后其值总是相等,则这个函数称为二次曲面在直角坐标变换下的半不变量。

半不变量法是一种在解决最优化问题中有效的方法,它的核心思想是将原问题引入半不变量的概念,并采用迭代算法来求解。半不变量是对模型参数的一种表示,它可以帮助人们在求解最优化问题时利用已有数据做出更准确的推断,从而获得更好的结果。

程序介绍

程序重点研究了分布式发电中的风力发电和太阳能发电的随机出力对配电系统电压质量的影响,建立了风力发电和太阳能发电的随机分析模型,将此模型引入到接有分布式发电的IEEE34配电系统中进行随机潮流计算,得到了节点电压概率密度曲线及系统年期望电压越限小时数。此外,将风力太阳能混合发电系统与单独风力发电系统进行比较,得到了前者更有利于提高系统电压质量的结论,在建立了风电机和太阳能电池的随机分析模型后,将其加入随机潮流计算中,利用半不变量法在随机变量之间进行卷积运算,并用GramCharlier级数展开式计算随机变量分布,从而给出了1年的系统的电压越限小时数。

程序算例丰富、注释清晰、干货满满,可扩展性和创新性很高!足以撑起一篇高水平论文!下面对程序做简要介绍!

适用平台:Matlab+Yalmip+Cplex;参考文献:《计及分布式发电的配电系统随机潮流计算》-电力系统自动化

计算步骤

1)输入原始数据,包括线路参数、发电机、负荷注入功率等一般潮流计算所需的数据,此外还应给出有关节点注人量随机分布的资料,例如对正态分布的负荷要给出其期望值和方差等。

2)如果网络中有风力发电机,则给出1年内每天24h的观测风速;如果网络中有光伏发电系统则给出1d内24h的观测光照强度。这些数据可由HOMER软件得到,利用这个软件可以在事先指定地点由每个月份的平均风速或光强值产生每小时的风速或光强值。

3)在知道了1d内每小时的风速后可以求出1年内每天的风速平均值和方差,再由风速与风力发电机有功出力之间的关系及无功功率与有功功率之间关系求出风力发电机有功无功注人量的初始值。同理,光伏发电系统的有功、无功初始值也可求出。

4)用确定性潮流计算方法给出正常运行情况的潮流分布,从而求得在基准运行点上的状态变量X0、雅可比矩阵J0,求出灵敏度矩阵S0。

5)计算各节点注入功率随机变量的各阶矩,进而求出各阶半不变量。对于呈正态分布的注人功率,其1阶半不变量等于其期望值,2阶半不变量为正态分布的方差,3阶至8阶半不变量为0。

6)根据半不变量的性质,将各节点负荷功率半不变量和风力机或光伏电池输出功率半不变量相加,可得节点注人功率的各阶半不变量,分别为负荷功率、风力发电机输出功率和光伏电池输出功率的k阶半不变量。

程序结果

部分程序

tic  ​ %半不变量法计算计时开始
%% 基础参数------------------------------------------------------------------
[Nodes,linenum,SB,maxIters,OPdata1,precision,OPdata2,balanceID,balancenotes,...lineID,linei,linej,liner,linex,lineb,...branchi,branchb,​transID,transi,transj,transr,transx,transk,transkMin,transkMax,...PQi,PG,QG,PD,QD,​PVi,PVV,PVQmin,PVQmax...NGi,OP_0,OP_1,OP_2,NGmin,NGmax]=dataIn('IEEE34.txt');  %% 将数据放入各变量后以列向量的格式输出
%% 首先进行基础潮流计算,形成雅克比矩阵
%形成交流系统节点导纳矩阵----------------------------------------------------
[Y,Y0] = formACY(Nodes,branchi,branchb,linei,linej,liner,​linex,lineb,transi,transj,transr,transx,transk);
%潮流计算-------------------------------------------------------------------
[V,deta,PQ_loss,S,detaS,Colab,Jacco,Jacco2 ]  = NR_main(PVi,PVV,balancenotes,Y,Y0,linei,linej,transi,transj,...​PG,PD,QG,QD,maxIters,precision,Nodes);      
%%  ​计算输入的半不变量         
%发电机的随机参数输入​
%%pdfgen(i,1)为发电机序号​%%pdfgen(i,2)为发电机的节点号
%%pdfgen(i,3)为发电机的有功出力​%%pdfgen(i,4)为发电机的无功出力
%%pdfgen(i,5)为发电机的出力的概率
%发电机的八阶半不变量形成​
pdfgen=textread('IEEE34gen.txt');%%普通发电机出力服从二项分布;
ngen=length(pdfgen(:,1));​PgPx=zeros(Nodes,8);
PgQx=zeros(Nodes,8);​PgPx(pdfgen(:,2),:)=NcalGCum(pdfgen(:,3),pdfgen(:,5));
PgQx(pdfgen(:,2),:)=NcalGCum(pdfgen(:,4),pdfgen(:,5));
%负荷的八阶半不变量形成-------------------------------------------------------
%%pdfload(i,1)为负荷序号%%pdfload(i,2)为负荷的节点号​%%pdfload(i,3)为负荷有功均值
%%pdfload(i,4)为负荷无功均值​%%pdfload(i,5)为负荷有功标准差
%%pdfload(i,6)为负荷无功标准差     %%标准差给定可以参照“3Sita原则” 
%负荷的八阶半不变量---------------------------------------------------------
pdfload=textread('IEEE34load_30%.txt');%%负荷负荷正态分布
nload=length(pdfload(:,1));PlPx=zeros(Nodes,8);​PlQx=zeros(Nodes,8);
PlPx(pdfload(:,2),:)=NcalPLCum(-pdfload(:,3),-pdfload(:,5));
PlQx(pdfload(:,2),:)=NcalPLCum(-pdfload(:,4),-pdfload(:,6));
%
-------光伏随机特性建模-----------------------------
%选择上海31°8’N、121°35’E作为光照强度分布的考量位置,在HOMERE软件上获取光强分布的期望值和方差。
%miu=0.150314263;​%sita=0.049758487;
%利用HOMER软件获取广州(113°15′E,23°7′N)的光照强度数据样本作为后续应用的模型

部分内容源自网络,侵权联系删除!

欢迎感兴趣的小伙伴关注并私信获取完整版代码,小编会不定期更新高质量的学习资料、文章和程序代码,为您的科研加油助力!

相关文章:

随机潮流应对不确定性?计及分布式发电的配电系统随机潮流计算程序代码!

前言 随着分布式电源在电力系统中所占比例的不断扩大,研究分布式发电对系统稳态运行的影响势在必行。带分布式发电的潮流计算常常用来评估其并网后对系统的影响,同时它也是分析分布式发电对电网稳定性的影响等其他理论研究工作的基础。然而,许多分布式发…...

Oracle表空间满清理方案汇总分享

目录 前言思考 一、第一种增加表空间的数据文件数量达到总容量的提升 二、第二种解决方案针对system和sysaux的操作 2.1SYSTEM表空间优化 2.2sysaux表空间回收 2.2.1针对sysaux的表空间爆满还有第二套方案维护 三、第三种解决方案使用alter tablespace resize更改表空间的…...

基于单片机数码管20V电压表仿真设计

**单片机设计介绍,基于单片机数码管20V电压表仿真设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机数码管20V电压表仿真设计的主要目的是通过单片机和数码管显示电路实现一个能够测量0到20V直流电压的电…...

SCI一区 | Matlab实现NGO-TCN-BiGRU-Attention北方苍鹰算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测

SCI一区 | Matlab实现NGO-TCN-BiGRU-Attention北方苍鹰算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测 目录 SCI一区 | Matlab实现NGO-TCN-BiGRU-Attention北方苍鹰算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测预测效果基本介绍模型…...

C++——优先级队列

前言:这篇文章我们继续来分享一个c的容器——优先级队列。 一.理解优先级 何为优先级一说?实际上就是有顺序的意思。 优先级队列,即有顺序的队列,是一个无需我们自己进行排序操作,在数据传入时就会由容器自己排好序的…...

docker部署jumpserver

1、安装Docker以及相关依赖 配置yum源 sudo yum install -y yum-utils sudo yum-config-manager \ --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin2、添加国…...

ARM FVP平台的terminal窗口大小如何设置

当启动ARM FVP平台时,terminal窗口太小怎么办?看起来非常累眼睛,本博客来解决这个问题。 首先看下ARM FVP平台对Host主机的需求: 通过上图可知,UART默认使用的是xterm。因此,我们需要修改xterm的默认字体设…...

003 静态代理

文章目录 StudentServiceImplStudentService.javaStudentServiceProxy.javaStudentServiceProxy1.javaStudentServiceProxyTest.java StudentServiceImpl package com.aistart.service.impl;import com.aistart.mapper.StudentMapper; import com.aistart.pojo.Student; import…...

基于JAX的二阶优化方法的实践

使用协作分支上的算法 git clone https://github.com/linjing-lab/jax.git cd jax git checkout linjing-lab cd examples在命令行预览方法 牛顿方法: cat newton_method.py拟牛顿法: cat bfgs_method.py在命令行运行程序 python newton_method.pyp…...

【计算机考研】408算法大题怎么练?

先说结论:基础阶段学好各个数据结构与,重点是数组、链表、树、图。然后强化阶段突破算法提 在基础阶段,并不需要过于专门地练习算法。相反,基础阶段的重点应该放在对各种数据结构原理的深入理解上。在我个人的经验中,…...

输入框验证数字类型

校验大于0的数,且小数点后最多为八位小数 let k /^(?!0(\.0)?$)\d(\.\d{1,8})?$/; console.log(k.test(0.00000001)); // true console.log(k.test(0.00000000)); // false console.log(k.test(0.12)); // true console.log(k.test(12.12)); // true输入0-1的数字&#xf…...

LeetCode 377——组合总和 Ⅳ

阅读目录 1. 题目2. 解题思路3. 代码实现 1. 题目 2. 解题思路 此题一看应该就是需要用到动态规划算法&#xff0c;假设我们以 f[d]表示总和为 d 的元素组合的个数&#xff0c;首先&#xff0c;我们遍历 nums 数组&#xff0c; 如果有 nums[i] < target&#xff0c;那么组…...

ubuntu同步网络时间

安装ntpdate sudo apt-get update sudo apt-get install ntpdate设置系统时间与网络时间同步 sudo ntpdate cn.pool.ntp.org设置时区亚洲上海 sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime设置时间为24小时制 echo "LC_TIMEen_DK.UTF-8" >>/…...

Flink学习(四)-数据管道 ETL

一、状态转换 map() 只适用于一对一的转换&#xff0c;即对每个进入算子的流元素&#xff0c;map() 将仅输出一个转换后的元素。 flatmap() 可以输出任意数量的元素&#xff0c;也可以一个都不发。 二、Keyed Streams keyBy() 相当于 sql 中的 group by&#xff0c;通过…...

Python可视化之Matplotlib

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言1、解决坐标轴刻度负号乱码2、解决中文乱码问题3、图形展现形式 一、图形绘制1.折线图plot2.散点图plot&scatter3.柱状图plt.bar&条形图plt.barh4.直方…...

ChatGPT全方位解析:如何培养 AI 智能对话技能?

简介 ChatGPT 的主要优点之一是它能够理解和响应自然语言输入。在日常生活中&#xff0c;沟通本来就是很重要的一门课程&#xff0c;沟通的过程中表达的越清晰&#xff0c;给到的信息越多&#xff0c;那么沟通就越顺畅。 和 ChatGPT 沟通也是同样的道理&#xff0c;如果想要C…...

[C++/Linux] UDP编程

一. UDP函数 UDP&#xff08;用户数据报协议&#xff0c;User Datagram Protocol&#xff09;是一种无连接的网络协议&#xff0c;用于在互联网上交换数据。它允许应用程序发送数据报给另一端的应用程序&#xff0c;但不保证数据报能成功到达&#xff0c;也就是说&#xff0c;它…...

深入探索Linux的lsof命令

在Linux系统中&#xff0c;了解哪些文件被哪些进程打开对于系统管理和问题诊断是极其重要的。这正是lsof命令&#xff0c;即List Open Files&#xff0c;发挥其强大功能的场景。本文旨在详细介绍lsof的起源、底层原理、参数意义&#xff0c;常见用法&#xff0c;并详解其返回结…...

flowable 想改变正在运行的任务,实例版本为最新,需要改哪些表

在Flowable中&#xff0c;要改变正在运行的任务&#xff0c;你需要更新相关的流程定义&#xff0c;具体来说&#xff0c;可能涉及到以下几张表&#xff1a; ACT_RU_TASK&#xff08;运行时任务&#xff09;&#xff1a;这张表包含了当前正在运行的任务信息。你可能需要更新该表…...

统计各位数字都不同的数字个数 II

3032. 统计各位数字都不同的数字个数 II 给你两个 正整数 a 和 b &#xff0c;返回 闭区间 [a, b] 内各位数字都不同的数字个数。 示例 1&#xff1a; 输入&#xff1a;a 1, b 20 输出&#xff1a;19 解释&#xff1a;除 11 以外&#xff0c;区间 [1, 20] 内的所有数字的各…...

Ubuntu系统下交叉编译openssl

一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机&#xff1a;Ubuntu 20.04.6 LTSHost&#xff1a;ARM32位交叉编译器&#xff1a;arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...

linux之kylin系统nginx的安装

一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源&#xff08;HTML/CSS/图片等&#xff09;&#xff0c;响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址&#xff0c;提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件&#xff1a; 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)

文章目录 1.什么是Redis&#xff1f;2.为什么要使用redis作为mysql的缓存&#xff1f;3.什么是缓存雪崩、缓存穿透、缓存击穿&#xff1f;3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

基于TurtleBot3在Gazebo地图实现机器人远程控制

1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...

20个超级好用的 CSS 动画库

分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码&#xff0c;而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库&#xff0c;可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画&#xff0c;可以包含在你的网页或应用项目中。 3.An…...

08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险

C#入门系列【类的基本概念】&#xff1a;开启编程世界的奇妙冒险 嘿&#xff0c;各位编程小白探险家&#xff01;欢迎来到 C# 的奇幻大陆&#xff01;今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类&#xff01;别害怕&#xff0c;跟着我&#xff0c;保准让你轻松搞…...

RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill

视觉语言模型&#xff08;Vision-Language Models, VLMs&#xff09;&#xff0c;为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展&#xff0c;机器人仍难以胜任复杂的长时程任务&#xff08;如家具装配&#xff09;&#xff0c;主要受限于人…...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

关于uniapp展示PDF的解决方案

在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项&#xff1a; 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库&#xff1a; npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...