此程序可以作为刚开始学习平抑策略的小入门,作为参考。
%!风(MISSING)功率平滑策略
clear all; close all; clc;
%!读(MISSING)取风速和功率数据
% load('windpower.mat'); %!请(MISSING)先自行准备好数据文件windpower.mat
windpower(:,1)=10+5*rand(300,1,1);
windpower(:,2)=20+5*rand(300,1,1);
wind_speed = windpower(:, 1); %!风(MISSING)速
power = windpower(:, 2); %!功(MISSING)率
%!参(MISSING)数设置
window_size = 10; %!窗(MISSING)口大小
alpha = 0.2; %!平(MISSING)滑系数
%!初(MISSING)始化
power_smooth = zeros(length(power), 1);
power_smooth(1:window_size) = power(1:window_size);
%!平(MISSING)滑处理
for i = window_size+1:length(power)
power_smooth(i) = alpha*power(i) + (1-alpha)*mean(power_smooth(i-window_size:i-1));
end
%!绘(MISSING)图
figure;
plot(power, 'b');
hold on;
plot(power_smooth, 'r');
legend('原始功率', '平滑功率');
xlabel('时间');
ylabel('功率');
第一列传入风速数据,第二列为风功率数据
我是采用随机生成的数据进行测试,平抑效果如图所示: