MATLB|基于matpower优化调度的风力模型预测

 💥💥💥💞💞💞欢迎来到本博客❤️❤️❤️💥💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者
📝目前更新:🌟🌟🌟电力系统相关知识,期刊论文,算法,机器学习和人工智能学习。
🚀支持:🎁🎁🎁如果觉得博主的文章还不错或者您用得到的话,可以关注一下博主,如果三连收藏支持就更好啦!这就是给予我最大的支持!

👨‍🎓博主课外兴趣:中西方哲学,送予读者:

👨‍💻做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。当哲学课上老师问你什么是科学,什么是电的时候,不要觉得这些问题搞笑,哲学就是追究终极问题,寻找那些不言自明只有小孩子会问的但是你却回答不出来的问题。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能让人胸中升起一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它居然给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“真理”上的尘埃吧。

     或许,雨过云收,神驰的天地更清朗.......🔎🔎🔎

📋📋📋本文目录如下:⛳️⛳️⛳️

目录

1 概述

2 讲解

3 参数表示 

4 运行结果展现

5 Matlab代码实现 


1 概述

风光新能源出力受夭气、气候影响巨大,短期、中长期电力供应均处于难预测状态。受风向、风力、光照强度等影响,风光出力具有随机性、波动性、间歇性等特点,新能源日内出力波折;寒潮或连晴高温等极端气候下,电力需求陡增,但新能源最小出力可能处于较低水平,平衡支 撑能力不足。

大规模新能源并网,新能源电力、电量占比不断提高,消纳与利用率矛盾突出:与常规机组相互挤占通道,重要断面满功率运行压力较大;风电反调峰特性突出,加剧电网调峰困难,消纳与利用率相互制约,保证消纳水平的基础上,利用率存在下降的趋势。在大型风电场附近如果有500kV特高压输电线路,这个风电场风电利用率可以基本可以达到接近100% ,可以通过特高压线路输送到远方;如果没有特高压线路,只能就近消纳。还有新能源只能发有功,由于功角因素,有时潮流不是按照我们想要的方向流入,如部分流到其它地区啦,需要在-些地方加装大型无功装置,形成一 个“截面” ,不让新能源流过去。

风力预测配置文件基于计量经济学模型生成,该模型由捕获季节性效应的 OLS 组件和捕获残差中动态的时间序列组件组成。预测所需的不确定性由时间序列模型的白噪声残差的var-cov矩阵实现,使其能够反映不同风场之间的相关性。本文还提供风力实现配置文件,这些配置文件由实际实现数据或计量经济学模型生成。

2 讲解

使用来自 16 个站点 NPCC 模型的站点 2、6 和 15 的模型创建一个 WY 风模型对象:

widx = [2;6;15];
wm = wy_wind_model('wind_model_npcc', widx);

生成 24 个周期范围的MOST 转换概率,每个周期有 4 个风力情景。

tp = wm.transition_probs(24, 4);

加载原始 NPCC 历史风速数据(以 m/s 为单位的原始风速)并将其转换为 ,因为这是此模型所基于的。log(raw_wind_speed+1)

s = load('wind_data_npcc');
log_wind_data = log10(s.wind_data + 1);

从原始 NPCC 历史数据中提取 3 个感兴趣地点的 48 小时风速实现值,从 2005 年 6 月 1 日中午开始(数据从 2004 年 1 月 1 日凌晨 1 点开始)。

pidx1 = wy_wind_date2pidx(24, [2004 1 1 1 0 0], [2005 6 1 12 0 0]);
wsr = wm.realizations(pidx1, 48, log_wind_data);

从模型中为 3 个感兴趣地点生成 24 小时风速实现,从同一小时开始。 

wsr = wm.realizations(pidx1, 24);

使用默认(多涡轮机)功率曲线将风速实现转换为风力发电实现,以装机容量的分数表示。

wpr = wm.speed2power(wsr);

从模型中为 3 个感兴趣地点生成 24 小时风速预报,从同一小时开始,使用 4 个条柱来表示预报分布。 

ws0 = log_wind_data(pidx1-1, widx);
wsf = wm.forecasts(pidx1, ws0, 24, 4);

使用 中定义的第 4 条功率曲线(海上)将风速预测转换为风力发电实现,以装机容量的分数表示。'wind_power_curve_EIC.txt'

s2p = wy_wind_power_curve(4, 'wind_power_curve_EIC.txt');
wm = wy_wind_model('wind_model_npcc', [2;6;15], s2p);
wpf = wm.speed2power(wsf);

3 参数表示 

np_all — 原始风数据中的周期数
nw_all — 原始数据中的风站数量(wind_data_npcc.mat 为 16)
np - 时期数(例如,对于计划范围)
nw - 风站点的数量
npd — 每天的周期数(通常为 24,对于每小时数据)
nb - 用于 MOST 风模型输入的箱数
widx — () 感兴趣的风场指数向量 nw x 1
pidx — 原始历史风数据的标量周期指数
pidx1 - 第一周期的标量周期指数,相对于原始历史风数据的第一周期
dt — 1 x 6 标准 Matlab 日期向量 [yr, mo, day, hr, min, sec],指定原始历史风数据中的特定时期,yr = 4 位数年份,mo = 月份(1 -12),day = 日期 (1-31),hr = 小时 (0-23),min = 分钟 (0-59),sec = 秒 (0-59)
wind_data - (np_all x nw_all) 风速矩阵(以 m/s 为单位),对应于时期、地点、特定的 和起始日期/时间 (np_allnw_allnpddt0)
log_wind_data — () 矩阵等于 np_all x nw_alllog10(wind_data + 1)
bins — bin 规范,提供为:
箱数 (), ornb
(1 x nb-1) bin 边界向量(标准差系数),其中假设初始和最终,但不包括-Inf+Inf
模型 - 具有字段的结构:
type — 风速模型的类型
0 = 基于 raw_wind_speed 以 m/s 为单位
1 = 基于日志(raw_wind_speed + 1)
npd - 每天的周期数(每小时模型为 24)
dt0 - 对应于创建模型的第一期数据的 Matlab 日期向量,用于从模型创建的预测和实现是 w.r.t.这个日期pidx1
ar1 — () 单个站点的 AR1 系数向量 nw_all x 1
ols - () 单个站点的 OLS 估计参数矩阵:
[C CY1 SY1 CY2 SY2 CD1 SD1 CD2 SD2nw_all x 9]
var_wnr — () 各个站点的协方差矩阵 nw_all x nw_all
ar1_total — 总风的标量 AR1 系数
ols_total — 总风量 1 x 9 的 OLS 估计参数向量
var_wnr_total — 总风的标量方差
ws——风速量,单位取决于模型的类型

4 运行结果展现

 

 

 

部分代码: 

%% MATLB|基于matpower优化调度的风力模型预测

%% 加载数据
s = load('wind_data_npcc');
wind_data = s.wind_data;
log_wind_data = log10(wind_data + 1);

widx = [1;3;5;7];   %% 风场
np = 24;            %% 24小时
nb = 5;           
pidx0 = wy_wind_date2pidx(24, [2004 1 1 1 0 0], [2004 7 27 8 0 0]); %% 5000
nw = length(widx);  %% 风场景数
nrh = 24;           %% x轴长度

%% 创建风的模型
wm = wy_wind_model('wind_model_npcc', widx);

%% 初始化输出
tp = cell(nrh, 1);
wsr = cell(nrh, 1);
wpr = cell(nrh, 1);
wsf = cell(nrh, 1);
wpf = cell(nrh, 1);

%% 可视化讲解(风模型参数输入)
for t = 1:nrh
    %% 创建转移概率矩阵
    tp{t} = wm.transition_probs(np, nb);

    %% x轴时间的起始期指数
    pidx1 = pidx0 - 1 + t;

    %% 产生已实现的风力发电
    wsr{t} = wm.realizations(pidx1, np);
    wpr{t} = wm.speed2power(wsr{t});

    %% 生成预测风电
    ws0 = log_wind_data(pidx1-1, widx);
    wsf{t} = wm.forecasts(pidx1, ws0, np, nb);
    wpf{t} = wm.speed2power(wsf{t});
end

%% 风电预测可视化
for i = 1:nw
    figure(i)
    plot(wsf{1}(:, :, i));
    xlabel('(时间/小时)')
    ylabel('功率/KW')
end

5 Matlab代码实现 

博客主页:电气辅导帮

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
微电网调度是指通过合理地调控微电网中各种能源和负荷的运行,在满足用电需求的前提下,尽可能地降低成本和环境影响。遗传算法是一种以生物进化过程为创作基础的搜索和优化方法,能够模拟自然选择的过程,通过选择和交叉等操作找到最优解。matlb是一种广泛使用的技术计算软件,能够在遗传算法方面提供丰富的工具和函数支持。 为了改进遗传算法优化微电网调度,首先需要考虑环境因素。环境因素包括微电网的气候、资源供给情况等,对于能源的选择和负荷的调度都会产生影响。因此,在使用遗传算法进行优化时,需要将环境因素考虑在内,建立相应的数学模型和适应度函数。 在matlb上,可以利用其丰富的数学计算和图形绘制函数,结合遗传算法工具箱,建立微电网调度优化模型模型包括微网中各种能源的发电成本、污染排放量等因素,以及负荷的变化情况。通过遗传算法对这些参数进行优化调整,可以得到最优的微电网调度方案。 在实际应用中,还需要考虑微电网系统的实际运行情况和约束条件,比如设备的技术特性、供电可靠性等。因此,在优化过程中,需要对遗传算法进行相应的改进,以确保得到的调度方案在实际运行中是可行和有效的。 通过以上的改进,可以更好地使用遗传算法优化微电网调度,并在考虑环境因素的前提下,实现微电网系统的高效、低成本、低污染运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值