考虑预测误差不确定性的含风电机组组合研究程序代码!

本程序参考硕士毕业论文《考虑预测误差不确定性的含风电机组组合研究》,文章建立了同时考虑时间-空间-条件相关性的模型以更准确的把握预测误差的随机波动特性。下面简要对文章和程序进行介绍。

推荐运行平台:MATLAB2019a及以上!

文章的主要创新点:

1)在预测误差分布特性及时空相关性研究的基础上,进 一步结合预测误差与风电出力水平间的条件相关性,推导出可同时表征时间-空间-条件的多重相关性的解析表达,建立了多重相关性的模型,从而达到可直接采样生成误差随机样本的目的。

2)提出一种考虑预测误差相关性的基于机会约束规划的机组组合模型,通过机会约束实现了预测误差多重相关性与含风电系统的机组组合决策的有效衔接。

3)提出一种两 阶段的区间优化机组组合模型。在机组组合模型中,考虑风电场预测误差的不确定性以及系统运行的约束,其中基于机会约束优化确定风功率区间,从而构建一种从风功率出力区间优化到机组组合优化的两阶段机组组合优化决策模型。通过基于分解的增加变量和约束算法(C&CG)的两阶段迭代求解策略了,最终给出最优的接纳区间及应对这个区间相应的机组组合方案。

程序结果:

部分程序:

%% 清空环境变量
clc
clear all;
%% 提取数据 
data=xlsread('实验数据.xlsx',1);

%% 提取对应各段中点位置处的误差值
error_fenbu_1=[];
for i=1:size(data,1)
   if data(i,3)>=220 && data(i,3)<=240
        error_fenbu_1(i)=data(i,8);
   else
       error_fenbu_1(i)=0;
   end
end
error_1=error_fenbu_1(find(error_fenbu_1~=0));
error_fenbu_2=[];
for i=1:size(data,1)
    if data(i,3)>=670&&data(i,3)<=690;
        error_fenbu_2(i)=data(i,8);
      else error_fenbu_2(i)=0;
   end
end  
error_2=error_fenbu_2(find(error_fenbu_2~=0));

error_fenbu_3=[];
for i=1:size(data,1)
    if data(i,3)>=1128 && data(i,3)<=1148;
        error_fenbu_3(i)=data(i,8);
     else error_fenbu_3(i)=0;
   end
end
error_3=error_fenbu_3(find(error_fenbu_3~=0));
error_fenbu_4=[];
for i=1:size(data,1)
    if data(i,3)>=1585&&data(i,3)<=1605;
        error_fenbu_4(i)=data(i,8);
       else error_fenbu_4(i)=0;
   end
end  
error_4=error_fenbu_4(find(error_fenbu_4~=0));
error_fenbu_5=[];
for i=1:size(data,1) 
   if data(i,3)>=2040&&data(i,3)<=2060;
        error_fenbu_5(i)=data(i,8);
   else   error_fenbu_5(i)=0;
   end
end
error_5=error_fenbu_5(find(error_fenbu_5~=0));

error_fenbu_6=[];
for i=1:size(data,1) 
   if data(i,3)>=2495 && data(i,3)<=2515;
        error_fenbu_6(i)=data(i,8);
        else   error_fenbu_6(i)=0;
   end
end
error_6=error_fenbu_6(find(error_fenbu_6~=0));
error_fenbu_7=[];
for i=1:size(data,1)  
    if data(i,3)>=2950&&data(i,3)<=2970;
        error_fenbu_7(i)=data(i,8);
     else   error_fenbu_7(i)=0;
   end
end 
error_7=error_fenbu_7(find(error_fenbu_7~=0));
error_fenbu_8=[];
for i=1:size(data,1)  
    if data(i,3)>=3406 && data(i,3)<=3426;
        error_fenbu_8(i)=data(i,8);   
        else   error_fenbu_8(i)=0;
   end
end 
error_8=error_fenbu_8(find(error_fenbu_8~=0));
error_fenbu_9=[];
for i=1:size(data,1)  
   if data(i,3)>=3860&&data(i,3)<=3880;
        error_fenbu_9(i)=data(i,8); 
        else   error_fenbu_9(i)=0;
   end
end 
error_9=error_fenbu_9(find(error_fenbu_9~=0));
error_fenbu_10=[];
for i=1:size(data,1)  
    if data(i,3)>=4317&&data(i,3)<=4337;
        error_fenbu_10(i)=data(i,8); 
        else   error_fenbu_10(i)=0;
   end
end 
error_10=error_fenbu_10(find(error_fenbu_10~=0));

以上就是本次介绍的主要内容,欢迎感兴趣的小伙伴关注并后台留言获得完整版代码,小编会继续推送更有质量的学习资料、文章和程序代码!​​​​​​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值