资源简介
Elman神经网络的数据预测—电力负荷预测模型研究
代码片段和文件信息
%% 案例18: 基于Elman神经网络的电力负荷预测模型研究
%% 清空环境变量
clc;
clear all
close all
nntwarn off;
%% 数据载入
load data;
a=data;
%% 选取训练数据和测试数据
for i=1:6
p(i:)=[a(i:)a(i+1:)a(i+2:)];
end
% 训练数据输入
p_train=a(1:5:);
% 训练数据输出
t_train=a(4:8:);
% 测试数据输入
p_test=p(6:);
% 测试数据输出
t_test=a(9:);
% 为适应网络结构 做转置
p_train=p_train‘;
t_train=t_train‘;
p_test=p_test‘;
%% 网络的建立和训练
% 利用循环,设置不同的隐藏层神经元个数
nn=[7 11 14 18];
for i=1:4
threshold=[0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1]; % 1组输入数据的阈值
% 建立Elman神经网络 隐藏层为nn(i)个神经元
% 原语句为:net=newelm(threshold[nn(i)3]{‘tansig‘‘purelin‘});
net=newelm(threshold[nn(i)3]{‘tansig‘‘purelin‘}‘trainlm‘);
% 设置网络训练参数
net.trainparam.epochs=1000;
net.trainparam.show=20;
% 初始化网络
net=init(net);
% Elman网络训练
net=train(netp_traint_train);
% 预测数据
y=sim(netp_test);
% 计算误差
error(i:)=y‘-t_test;
end
%% 通过作图 观察不同隐藏层神经元个数时,网络的预测效果
plot(1:1:3error(1:)‘-ro‘‘linewidth‘2);
hold on;
plot(1:1:3error(2:)‘b:x‘‘linewidth‘2);
hold on;
plot(1:1:3error(3:)‘k-.s‘‘linewidth‘2);
hold on;
plot(1:1:3error(4:)‘c--d‘‘linewidth‘2);
title(‘Elman预测误差图‘)
set(gca‘Xtick‘[1:3])
legend(‘7‘‘11‘‘14‘‘18‘‘location‘‘best‘)
xlabel(‘时间点‘)
ylabel(‘误差‘)
hold off;
%%
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1504 2012-03-23 20:33 elman load forecast.m
----------- --------- ---------- ----- ----
1504 1
相关资源
- matlab 干涉SAR数据的基本处理
- 多帧融合差分法
- Power electronic simulation handouts 山东大学
- hmm 自己修改的程序代码
- GUI界面设计并附有案例
- PRACHDETECTION
- 多输入多输出系统解耦控制
- 车牌识别小程序
- sfs code
- 一维信号压缩还原信号
- 获取图片点坐标
- 掌纹识别
- CVRP 一个用蚁群算法做OCVRP的代码。不
- matlab拍照
- matlab读入IGS文件
- matlab的车牌定位提取
- matlab的高帽变换
- 神经网络的水下机器人控制
- 简单的Matlab人脸识别
- 图片三维重建工具箱
- 神经网络与adaboost的强分类器
- 3D 打印技术
- 单一图像去雾
- 声纹识别
- 视频背景提取
- 图像裂纹提取
- tfristft 令x(n)=5exp(j*0.15*n*n)+6exp(
- CT图像三维体绘制
- 短期电力负荷预测
- 视频监控阴影去除
评论
共有 条评论