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

本文主要是介绍随机潮流应对不确定性?计及分布式发电的配电系统随机潮流计算程序代码!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

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

分布式发电技术

分布式发电技术通常是指发电功率在数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)的光照强度数据样本作为后续应用的模型

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

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

这篇关于随机潮流应对不确定性?计及分布式发电的配电系统随机潮流计算程序代码!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/890184

相关文章

Python实现精确小数计算的完全指南

《Python实现精确小数计算的完全指南》在金融计算、科学实验和工程领域,浮点数精度问题一直是开发者面临的重大挑战,本文将深入解析Python精确小数计算技术体系,感兴趣的小伙伴可以了解一下... 目录引言:小数精度问题的核心挑战一、浮点数精度问题分析1.1 浮点数精度陷阱1.2 浮点数误差来源二、基础解决

JWT + 拦截器实现无状态登录系统

《JWT+拦截器实现无状态登录系统》JWT(JSONWebToken)提供了一种无状态的解决方案:用户登录后,服务器返回一个Token,后续请求携带该Token即可完成身份验证,无需服务器存储会话... 目录✅ 引言 一、JWT 是什么? 二、技术选型 三、项目结构 四、核心代码实现4.1 添加依赖(pom

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Redis实现分布式锁全过程

《Redis实现分布式锁全过程》文章介绍Redis实现分布式锁的方法,包括使用SETNX和EXPIRE命令确保互斥性与防死锁,Redisson客户端提供的便捷接口,以及Redlock算法通过多节点共识... 目录Redis实现分布式锁1. 分布式锁的基本原理2. 使用 Redis 实现分布式锁2.1 获取锁

Python文本相似度计算的方法大全

《Python文本相似度计算的方法大全》文本相似度是指两个文本在内容、结构或语义上的相近程度,通常用0到1之间的数值表示,0表示完全不同,1表示完全相同,本文将深入解析多种文本相似度计算方法,帮助您选... 目录前言什么是文本相似度?1. Levenshtein 距离(编辑距离)核心公式实现示例2. Jac

Linux查询服务器系统版本号的多种方法

《Linux查询服务器系统版本号的多种方法》在Linux系统管理和维护工作中,了解当前操作系统的版本信息是最基础也是最重要的操作之一,系统版本不仅关系到软件兼容性、安全更新策略,还直接影响到故障排查和... 目录一、引言:系统版本查询的重要性二、基础命令解析:cat /etc/Centos-release详

Redis分布式锁中Redission底层实现方式

《Redis分布式锁中Redission底层实现方式》Redission基于Redis原子操作和Lua脚本实现分布式锁,通过SETNX命令、看门狗续期、可重入机制及异常处理,确保锁的可靠性和一致性,是... 目录Redis分布式锁中Redission底层实现一、Redission分布式锁的基本使用二、Red

redis和redission分布式锁原理及区别说明

《redis和redission分布式锁原理及区别说明》文章对比了synchronized、乐观锁、Redis分布式锁及Redission锁的原理与区别,指出在集群环境下synchronized失效,... 目录Redis和redission分布式锁原理及区别1、有的同伴想到了synchronized关键字

Python中经纬度距离计算的实现方式

《Python中经纬度距离计算的实现方式》文章介绍Python中计算经纬度距离的方法及中国加密坐标系转换工具,主要方法包括geopy(Vincenty/Karney)、Haversine、pyproj... 目录一、基本方法1. 使用geopy库(推荐)2. 手动实现 Haversine 公式3. 使用py