当前位置: 首页 > news >正文

bp网络实现预测

本例题采用了一个线性序列,在实际应用中可以应用不同的数据进行预测,例如每天的温度,产量等。

具体实现如下:

clear %本例题采用了一个线性序列,在实际应用中可以应用不同的数据进行预测,例如每天的温度,产量等 % day=[1,2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, ... % 20 ,21, 22 ,23, 24 ,25 ,26, 27, 28 ,29 ,30,... % 31 ,32, 33, 34, ]; %%本例题采用了一个sin序列 Test=1:1:34; day=sin(Test); dayhistory=day(1:30);%取其中前三十个数据作为历史数据样本 dayhismod=reshape(dayhistory,5,6);% 将历史数据分为6个样本,每个大小为5,其中reshape是以列排序的 dayday=day(1:25);% 取其中的前25个 daypost=day(6:30);%取其中的随后25个 p=reshape(dayday,5,5);% 将前25个数据分为5行5列矩阵作为网络的训练输入样本 t=reshape(daypost,5,5); %将随后的25个分为5行5列矩阵作为网络的目标输出向量 daylast=day(26:30); h3=reshape(daylast,5,1);% 将倒数第二个样本作为网络测试时的输入样本 r=6:30; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 新建bp网络 net=newff(minmax(p),[5,5],{'purelin' 'purelin'},'trainlm'); y1=sim(net,p); net.trainParam.epochs=2000; % 训练次数 nettrainParam.goal=1e-3; % 误差期望值 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%训练网络 [net,tr,Y,E]=train(net,p,t); %%%%%%%%%%%%%%%%%%%%%%%%%%%%% 网络测试 y21=sim(net,p); y2=reshape(y21,1,25); clf plot(r,y2,'b-^') hold on plot(1:34,day,'r-v') %%%%%%%%%%%%%%%%%%%%%%%%%%%% 预测 y3=sim(net,h3); plot(31:35,y3,'-*') hold on %%%%%%%%%%%%%%%%%%%%%%%%%%%% 给出说明性文字和图例 title('神经网络训练结果'); xlabel('序列'); ylabel('仿真输出结果'); legend('仿真模拟值','实际值','神经网络预测值','Location','NorthWest'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 绘制误差曲面 figure; x=1:5; y=1:5; plot3(x,y,E(x,y))

相关文章:

  • 亭中避雨
  • SQL_VARIANT_PROPERTY 返回有关 sql_variant 值的基本数据类型和其他信息
  • 我宣布~~~~~
  • 调整参数对bp网络的影响
  • 协作应用程序标记语言 (CAML)---Query语法示例
  • 用BP网络完成函数的逼近
  • 天终于凉快了!开始工作哦
  • ArcSDE vs. oracle Spatial 4
  • VS2005制作安装包的“系统必备”选项
  • 训练前后bp网络仿真结果分析
  • 如何从SAP中连接其他数据库
  • SQL简繁转换函数
  • 政府部门信息化人员的定位
  • 世界上最成功的人一开始是个程序员-《程序员大本营》1999版
  • 【Vegas原创】asp.net页面作为邮件正文发送
  • Google 是如何开发 Web 框架的
  • 2017 年终总结 —— 在路上
  • Bootstrap JS插件Alert源码分析
  • CEF与代理
  • Docker 笔记(2):Dockerfile
  • JAVA_NIO系列——Channel和Buffer详解
  • JavaScript函数式编程(一)
  • maya建模与骨骼动画快速实现人工鱼
  • Netty源码解析1-Buffer
  • PAT A1092
  • windows-nginx-https-本地配置
  • 百度小程序遇到的问题
  • 成为一名优秀的Developer的书单
  • 高性能JavaScript阅读简记(三)
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 如何在 Tornado 中实现 Middleware
  • 设计模式 开闭原则
  • 数组的操作
  • 微信端页面使用-webkit-box和绝对定位时,元素上移的问题
  • 微信公众号开发小记——5.python微信红包
  • 掌握面试——弹出框的实现(一道题中包含布局/js设计模式)
  • 自定义函数
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • 交换综合实验一
  • #define 用法
  • #laravel 通过手动安装依赖PHPExcel#
  • #微信小程序:微信小程序常见的配置传旨
  • (C#)Windows Shell 外壳编程系列9 - QueryInfo 扩展提示
  • (libusb) usb口自动刷新
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (汇总)os模块以及shutil模块对文件的操作
  • (七)理解angular中的module和injector,即依赖注入
  • (三)mysql_MYSQL(三)
  • (转)h264中avc和flv数据的解析
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • (转)重识new
  • ... fatal error LINK1120:1个无法解析的外部命令 的解决办法
  • .net MVC中使用angularJs刷新页面数据列表
  • .NET 中什么样的类是可使用 await 异步等待的?
  • .NET(C#) Internals: as a developer, .net framework in my eyes