没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
5页
数据文件给出了1月1日至5月31日每天某风电场风电机组的监测数据,包括风速、风向和机组的输出功率。 要求采用BP网络和改进BP网络对机组输出功率进行预测,预测时间范围为5月1日至5月31日。 1. 根据 风速与风向,预测机组的输出功率。1到4月份为训练样本,预测时间范围为5月1日至5月31日。 采用 均方根误差,平均相对误差、离差与相关系数等指标,分析比较预测性能。 2. 分别采用 自适应线性网络与BP神经网络进行预测,在相同的训练精度下,从网络结构、预测精度、训练时间、训练次数等比较两者性能。 3. 比较 在数据进行预处理(归一化)及不进行预处理情况下,BP网络训练的效果。
资源推荐
资源详情
资源评论
自适应线性网络
%% 清空环境变量
clc
clear all
close all
%% 训练数据预测数据提取及归一化
%导入数据
input=xlsread('wind.xlsx', 'b1:c151'); %载入输入数据
output=xlsread('wind.xlsx', 'd1:d151'); %载入输出数据
%找出训练数据和预测数据
input_train=input((1:120),:)'; %120 组训练数据,31 组预测数据
output_train=output(1:120)';
input_test=input((121:151),:)';
output_test=output(121:151)';
%归一化输入输出数据
[inputn,inputps]=mapminmax(input_train);
[outputn,outputps]=mapminmax(output_train);
%生成线性网络
% lr=0.99*maxlinlr(P);
lr=0.001;
delays=[0];
net = newlin(inputn,1,delays,lr);
net.inputWeights{1,1}.initFcn = 'rands'; %初始化权值
net.biases{1}.initFcn = 'rands'; %初始化偏差
net = init(net); %把初始化权值和偏差函数赋给网络
W0=net.iw{1,1}; %初始化权值和偏差
B0=net.b{1};
net.trainParam.epochs =1500; %最大循环次数
net.trainParam.goal = 0.0001; %期望误差
[net,tr] = train(net,inputn,outputn); %进行线性网络权值训练
W=net.iw{1,1}; %网络训练后的最终权值和偏差
B=net.b{1};
%对网络进行自适应线性训练
[net,a,e]=adapt(net,inputn,outputn);
%% 预测
%预测数据归一化
inputn_test=mapminmax('apply',input_test,inputps);
%网络预测输出
an=sim(net,inputn_test);
%网络输出反归一化
output=mapminmax('reverse',an,outputps);
%% 结果分析
figure
资源评论
- Yoraya2023-07-12请问需要自己编写数据文件吗
weixin_44217104
- 粉丝: 1
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功