【啃书】《智能优化算法及其MATLAB实例》例9.2运用BP网络预测数据

问题描述

在这里插入图片描述

仿真过程

在这里插入图片描述

matlab源码

%20201029lu注:在matlab2019a成功运行
%%%%%%%%%%%%%%%%%%%%%%运用BP网络预测数据%%%%%%%%%%%%%%%%%%%%%%%%
clear all;                      %清除所有变量
close all;                      %清图
clc;                            %清屏
%%%%%%%%%%%%%%%%%%%%%%%%%%%%原始数据%%%%%%%%%%%%%%%%%%%%%%%%%%%%
p=[2056 2395 2600 2298 1634 1600 1873 1478 1900
   2395 2600 2298 1634 1600 1873 1478 1900 1500
   2600 2298 1634 1600 1873 1478 1900 1500 2046];
t=[2298 1634 1600 1873 1478 1900 1500 2046 1556];
%%%%%%%%%%%%%%%%%%%%%%%%%%原始数据归一化%%%%%%%%%%%%%%%%%%%%%%%%%
pmax=max(max(p));
pmin=min(min(p));
P=(p-pmin)./(pmax-pmin);                 %输入数据矩阵
tmax=max(t);
tmin=min(t);
T=(t-tmin)./(tmax-tmin);                 %目标数据向量
%%%%%%%%%%%%%%%%%%%创建一个新的前向神经网络%%%%%%%%%%%%%%%%%%%%%%%
net=newff(minmax(P),[5,1],{'tansig','logsig'},'traingdx')
%%%%%%%%%%%%%%%%%%%%%%%设置训练参数%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
net.trainParam.show = 50;              %显示中间结果的周期
net.trainParam.lr = 0.05;              %学习率
net.trainParam.epochs = 1000;          %最大迭代次数
net.trainParam.goal = 1e-3;            %目标误差
%%%%%%%%%%%%%%%%%调用 TRAINGDM 算法训练 BP 网络%%%%%%%%%%%%%%%%%%
[net,tr]=train(net,P,T);
%%%%%%%%%%%%%%%%%%%%%对 BP 网络进行仿真%%%%%%%%%%%%%%%%%%%%%%%%%%
A = sim(net,P);
%%%%%%%%%%%%%%%%%%%%%%计算预测数据原始值%%%%%%%%%%%%%%%%%%%%%%%%%
a = A.*(tmax-tmin)+tmin;               
%%%%%%%%%%%%%%%%%%%%%绘制实际值和预测值曲线%%%%%%%%%%%%%%%%%%%%%%
x=4:12;
figure
plot(x,t,'+');
hold on;
plot(x,a,'or');
hold off
xlabel('月份')
ylabel('销量')
legend('实际销量 ','预测销量');

在这里插入图片描述

中 智能优化算法及其MATLAB实例(第二版)[包子阳,余继周][电子工业出版社][2018年01月][9787121330308]

经过调试,随书所有代码均可以在matlabR2019a上成功运行https://mianbaoduo.com/o/bread/YZyVlp9v

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值