1 主要内容
该程序部分复现电机文章《平抑风电波动的电-氢混合储能容量优化配置》,针对电-氢混合系统协同平抑接入新型电力系统的新能源波动问题,提出考虑碱性电解槽运行特性的电-氢混合储能容量优化配置方案。首先基于经验模态分解,将原始风电功率信号分解为符合波动量限值的直接并网分量和混合储能功率任务;在综合考虑电化学储能和氢储能介质充放电功率约束和存储状态约束的基础上,制定计及碱性电解槽运行特性的混合储能能量管理策略。基于此策略,以综合成本最小为目标,建立用于平抑风电波动的电-氢混合储能容量配置模型,并通过实际数据进行计算分析,算例结果表明,所提策略下的容量配置方案,在满足平抑需求的前提下,可以有效提高系统经济性。
修改部分:
沿用EMD分解的优点,沿用图2,图4,将高频大波动F2C作为平抑需求,将低频C2F作为并网基准功率,但是选择用超级电容去平抑包络线对称的高频大波动F2C。 对文中的平抑结果分两个模式进行改进,并用代码验证所提策略的依次更优性。 1)0基准线+超级电容平抑+不丢弃正向波动 (丢弃正向波动) 2)变量基准线+超级电容平抑+不丢弃正向波动(丢弃正向波动)
2 部分程序
clc clear close all %% 先从"5分钟级的年风电数据\二KMEANS聚类"路径中将风电出力典型日曲线及频次复制过来后导入 %% 这个文件夹里的场景及频次数据,只是某一次K-MEANS聚类的结果。若是想对应上,那么需要设置路径后再导入(有这种需求的,需要先把当前文件夹中的DAY.MAT和NDAY.mat全删去) 改进]平抑风电波动的电-氢混合储能容量优化配置_袁铁江\第三步KMEANS聚类为8簇');load('NDay1');load('NDay2');load('NDay3');load('NDay4');load('NDay5');load('NDay6');load('NDay7');load('NDay8'); load('Day1');load('Day2');load('Day3');load('Day4');load('Day5');load('Day6');load('Day7');load('Day8'); Nday=[NDay1,NDay2,NDay3,NDay4,NDay5,NDay6,NDay7,NDay8]; Day=[Day1,Day2,Day3,Day4,Day5,Day6,Day7,Day8]; %% 针对3.2节 典型日7做一下EMD分解,与低频、高频分量重构的例子 imf7=emd(Day7); % emd_visu(Day7,1:24*12,imf7) % EMD专用画图函数 c2f7=zeros(numel(imf7(:,1)),24*12); f2c7=zeros(numel(imf7(:,1)),24*12); for i=1:numel(imf7(:,1)) c2f7(i,:)=sum(imf7(end-i+1:end,:),1); f2c7(i,:)=sum(imf7(1:i,:),1); end figure(2) plot(f2c7' );legend('f2c7(1)','f2c7(2)','f2c7(3)','f2c7(4)','f2c7(5)','f2c7(6)','f2c7(7)','f2c7(8)'); %% 继而是计算图4所示的最大波动量 %max用于矩阵是按列取最大值 %前后相邻做差,取绝对值,取max,得到相隔5min的最大波动量 dita5_c2f7=max(transpose(abs(c2f7(:,1:end-1)-c2f7(:,2:end)))); %前后间隔1个位置做差,取绝对值,取max,得到相隔10min的最大波动量 dita10_c2f7=max(transpose(abs(c2f7(:,1:end-2)-c2f7(:,3:end)))); %将5min与10min的最大波动量串联后,取max,得到10min内的最大波动量 dita_c2f7 = max([dita5_c2f7; dita10_c2f7]); %% 绘制论文的图4 dita_limit = 20; figure(3) plot(dita_c2f7,'-o'); hold on plot(dita_limit*ones(1,numel(dita_c2f7))); xlabel('低频重构分量阶数'); ylabel('最大波动量MW/10min'); legend('低频重构各阶分量最大波动','并网功率10min内最大波动量限值'); Nc_c2f7=find(dita_c2f7>dita_limit )-1; nc_c2f7=Nc_c2f7(1); figure(4) plot(f2c7(numel(c2f7(:,1))-nc_c2f7,:)); title('储能平抑分量'); xlabel('时刻/5min'); ylabel('功率/MW'); figure(5) plot(c2f7(nc_c2f7,:)); title('直接并网分量'); xlabel('时刻/5min'); ylabel('功率/MW'); figure(6) plot(Day7); title('风电功率'); xlabel('时刻/5min'); ylabel('功率/MW'); %% 继而就是其他典型日的
3 程序结果