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

前言

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

分布式发电技术

分布式发电技术通常是指发电功率在数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阶半不变量。

程序结果

部分程序

Matlab 复制代码
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)的光照强度数据样本作为后续应用的模型

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

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

相关推荐
阿W呀1 小时前
MATLAB-最小二乘辨识
人工智能·算法·matlab
黄俊懿4 小时前
【深入理解SpringCloud微服务】了解微服务的熔断、限流、降级,手写实现一个微服务熔断限流器
java·分布式·后端·spring cloud·微服务·架构·手写源码
无休居士4 小时前
分布式锁的几种方案对比?你了解多少种呢?
分布式
丁总学Java5 小时前
分布式锁优化之 使用lua脚本改造分布式锁保证判断和删除的原子性(优化之LUA脚本保证删除的原子性)
分布式·lua
浪里小白龙596 小时前
分布式Id生成策略-美团Leaf
分布式
ACRELKY6 小时前
分布式光伏充换电站相关建议
分布式
半桶水专家7 小时前
如何安装部署kafka
分布式·kafka
Flying_Fish_roe7 小时前
mysql性能优化-SQL 查询优化
sql·mysql·性能优化
npk1919547 小时前
celery 结合 rabbitmq 使用时,celery 消费者执行时间太久发送 ack 消息失败
分布式·python·celery
祈心无尘7 小时前
zookeeper向管控平台上报状态
分布式·zookeeper·云原生