风功率预测的方式主要有两种,一种为BP神经网络预测,另一种为ARMA时间序列预测。
以下为用MATLAB实现BP神经网络预测风速的代码。
学习使用MATLAB神经网络工具箱看过的书籍。

输入的数据是风速数据。
%% 本脚为实现BP神经网络对时间序列数据的预测--应用于风速预测
%输入为一系列风速数据即可预测下一时间节点的风速值
%% 导入数据
clc,clear,close all
load('windspeedoutT.mat'); %导入风速的.mat文件
T=windspeedoutT; %输入风速文件
figure %创建新的窗口
plot(T) %在新窗口命令后画风速图,默认为在最新的窗口画图
%% 定义训练集与测试集的个数
num_all_data = length(T);
% 前75%的数据作为训练数据
num_train = floor( num_all_data * 0.75 ); %训练数据个数不能整除时向下取整
% 后25%的数据作为测试数据
num_test = num_all_data - num_train;
% 转化为narnet需要的序列数据(神经网络需要的数据为横向排列的元胞数组的形式)
y_train_nn = num2cell(T(1:num_train) )';
y_test_nn = num2cell(T(1+num_train:end))';
%% 网络的建立
%延迟,即当前值依赖于过去的多少个值
feedback_delays

这篇博客介绍了如何使用MATLAB的神经网络工具箱实现BP神经网络来预测风速。通过加载风速数据,设置训练集和测试集,建立narnet网络并进行训练,最终绘制了预测结果与实际值的对比图,评估了预测的均方差和相对误差。
最低0.47元/天 解锁文章
588

被折叠的 条评论
为什么被折叠?



