2019独角兽企业重金招聘Python工程师标准>>>

我越来越不喜欢matlab,因为它让我们只需要使用它的工具箱;我越来越喜欢matlab,因为在它的工具箱里隐藏着无数优秀甚至卓越的算法。

晚上闲的没事,突发奇想预测一下中国代表团在2012年伦敦运动会上获得金牌和奖牌的情况,使用matlab神经网络工具箱BP网络设计与分析函数进行预测,程序根据《matlab在数学建模中的应用》一书中神经网络一章中的程序改编而成。

clc
%原始数据
%参赛人数
sqrs=[225 301 251 309 311 411 639 ];
%金牌数
sqjdcs=[15 5 16 16 28 32 51];
%奖牌数
sqglmj=[32 28 54 50 59 63 100 ];
p=[sqrs]  %输入数据矩阵
t=[sqjdcs;sqglmj]         %目标数据矩阵
%利用premnmx函数对数据进行归一化
[pn,minp,maxp,tn,mint,maxt]=premnmx(p,t); % 对于输入矩阵p和输出矩阵t进行归一化处理
dx=[-1,1];     %归一化处理后最小值为-1,最大值为1
%BP网络训练
net=newff(dx,[1,2],{'tansig','purelin'},'traingdx'); %建立模型,并用梯度下降法训练.
net,trainParam.Lr=1; %学习速率为1
net.trainParam.epochs=50000; %最大训练轮回为50000次
net.trainParam.goal=3;     %均方误差
net=train(net,pn,tn);        %开始训练,其中pn,tn分别为输入输出样本
%利用原始数据对BP网络仿真
an=sim(net,pn);           %用训练好的模型进行仿真
a=postmnmx(an,mint,maxt); % 把仿真得到的数据还原为原始的数量级;
%本例因样本容量有限使用训练数据进行测试,通常必须用新鲜数据进行测试
x=1984:4:2008;
newk=a(1,:);
newh=a(2,:);
figure (2);
subplot(2,1,1);plot(x,newk,'r-o',x,sqjdcs,'b--+')    %绘值金牌数对比图;
legend('网络输出金牌数','实际金牌数');
xlabel('年份');ylabel('金牌数/枚');
subplot(2,1,2);plot(x,newh,'r-o',x,sqglmj,'b--+')     %绘制奖牌数对比图;
legend('网络输出奖牌数','实际奖牌数');
xlabel('年份');ylabel('奖牌数/枚');
%利用训练好的网络进行预测
% 当用训练好的网络对新数据pnew进行预测时,也应作相应的处理:
pnew=[621];           %2012年的相关数据;
pnewn=tramnmx(pnew,minp,maxp); %利用原始输入数据的归一化参数对新数据进行归一化;
anewn=sim(net,pnewn);            %利用归一化后的数据进行仿真;
anew=postmnmx(anewn,mint,maxt)  %把仿真得到的数据还原为原始的数量级;

缺点与不足:(1)对神经网络的使用经验不是很足,每次运行程序结果都会发生较大变化,需要凭借观察取得较好的预测值;(2)金牌与奖牌数量只与代表团成员人数相关显然不合理;(3)单独对金牌数或奖牌数进行预测更容易使网络输出值与实际值之间误差较小,可见根据单一因素预测不准。

结果:多次运行程序,选取误差较小的预测情况,最终接受的预测值为金牌36枚,奖牌总数91枚。

最后,本预测纯属娱乐,如有雷同,不胜荣幸。

转载于:https://my.oschina.net/u/347565/blog/69657

利用matlab神经网络工具箱预测中国代表团在2012年伦敦奥运会获金牌和奖牌情况...相关推荐

  1. 如何利用matlab做BP神经网络分析(包括利用matlab神经网络工具箱)

    如何利用matlab做BP神经网络分析(包括利用matlab神经网络工具箱) 转载:https://blog.csdn.net/xgxyxs/article/details/53265318 最近一段 ...

  2. matlab 求obb,实验六MATLAB神经网络工具箱DOC

    实验六MATLAB神经网络工具箱DOC 实验七MATLAB神经网络工具箱一.实验目的1.掌握 Matlab 对感知器网络的构建与训练方法.2.掌握 Matlab 对线性神经网络的构建与训练方法.3.掌 ...

  3. 利用Matlab进行灰色预测,利用matlab进行灰色预测.pdf

    利用matlab进行灰色预测,灰色预测matlab程序,灰色预测模型matlab,matlab灰色预测,matlab灰色预测代码,matlab灰色预测工具箱,灰色预测的matlab程序,matlab灰 ...

  4. matlab提取网络层输出,matlab神经网络工具箱的net数据提取

    小弟不才,最近在学神经网络用于我们实验室的一款机器人的动力学辩识,由于最终的程序需要用C/C++编写,另外为了更加深入了解MATLAB神经网络工具箱的原理,因此花了一点时间研究了一下静态神经网络与动态 ...

  5. MATLAB神经网络工具箱输入输出预处理相关参数设置

    目录 问题由来 预处理相关属性 预处理函数 预处理参数 修改默认映射变换 通过exampleInput和exampleOutput进行设置 通过configure函数进行设置 结语 问题由来 毕业论文 ...

  6. matlab神经网络工具箱创建神经网络,matlab神经网络工具箱创建神经网络

    matlab神经网络工具箱创建神经网络 为了看懂师兄的文章中使用的方法,研究了一下神经网络 昨天花了一天的时间查怎么写程序,但是费了半天劲,不能运行,百度知道里倒是有一个,可以运行的,先贴着做标本 % ...

  7. matlab神经网络工具箱实现两个输入的BP神经网络

    请问各位大佬,matlab神经网络工具箱怎么实现具有两个特征的BP神经网络啊?是将以行为单位将每个样本的每一个特征按列存放就可以吗?

  8. Matlab神经网络工具箱中net.trainParam设置不成功问题

    Matlab神经网络工具箱中net.trainParam设置不成功问题 本人找寻很久发现即使设置了net.trainParam中的各参数值,但是在nntraintool显示后一直都没有改变,找遍全网都 ...

  9. matlab2007神经网络工具箱怎么用,matlab神经网络工具箱怎么用

    类型:Mac学习教育大小:11.37G语言:多国语言[中文] 评分:10.0 标签: 立即下载 matlab2010版后的都是有神经网络工具箱的,用户在软件内可以直接使用,很多小伙伴对这个工具还不了解 ...

最新文章

  1. OpenCV2:应用篇 QT+OpenCV实现图片编辑器
  2. 打开电话Android系统调用
  3. 携程elong相继牵手支付宝转“危”为“机”
  4. XP下修改IIS连接数
  5. java 线程类 通信_Java 中利用管道实现线程间的通讯
  6. 【转发】未能加载文件或程序集“Oracle.DataAccess”或它的某一个依赖项。试图加载格式不正确的程序。...
  7. Scala-trait
  8. 机器学习 --- 1. 线性回归与分类, 解决与区别
  9. seaborn—seaborn.distplot绘制直方图和连续密度统计
  10. Web前端的学习路线到底是什么,看完秒懂!
  11. IDEA打包失败解决方案
  12. 新能源汽车技术与市场
  13. java jersey,java Jersey
  14. html rtf转换,如何使用JavaScript将HTML转换为RTF
  15. 爬虫实战(三)----使用百度API获取经纬度/地址
  16. 每日哲学与编程练习3——无重复数字(Python实现)
  17. 智能机器人JIMI助力用户咨询体验提升
  18. C++ 后退前进资源浏览器实现方式,附代码
  19. 条码打印软件如何制作快递电子面单
  20. react + zarm 实现账单列表展示页

热门文章

  1. 坦克项目的炮塔旋转BUG记录——Unity随手记(2020.11.19)
  2. fbx转3dtiles
  3. 算法第二弹-线性规划之投资的收益和风险分析及代码实现(二)
  4. 领带的打法10种[zz]
  5. c语言数码管3位译码地址,三位数码管显示实验总结
  6. 将Kali Linux2020.3设置为中文汉化
  7. 以太坊基础快速入门;招商银行开具首张区块链电子发票;区块链在司法领域的深度运用
  8. POI读取Excel:*.xls,*.xlsx
  9. Django学习日记3
  10. WindowsXP SP3安装python