求用matlab编BP神经网络预测程序

2024-05-04 19:21

1. 求用matlab编BP神经网络预测程序

P=[。。。];输入T=[。。。];输出

%  创建一个新的前向神经网络 
net_1=newff(minmax(P),[10,1],{'tansig','purelin'},'traingdm')

%  当前输入层权值和阈值
inputWeights=net_1.IW{1,1}
inputbias=net_1.b{1}
%  当前网络层权值和阈值
layerWeights=net_1.LW{2,1}
layerbias=net_1.b{2}

%  设置训练参数
net_1.trainParam.show = 50;
net_1.trainParam.lr = 0.05;
net_1.trainParam.mc = 0.9;
net_1.trainParam.epochs = 10000;
net_1.trainParam.goal = 1e-3;

%  调用 TRAINGDM 算法训练 BP 网络
[net_1,tr]=train(net_1,P,T);

%  对 BP 网络进行仿真
A = sim(net_1,P);
%  计算仿真误差 
E = T - A;
MSE=mse(E)

x=[。。。]';%测试
sim(net_1,x) 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
不可能啊 我2009

求用matlab编BP神经网络预测程序

2. 用这些数据怎么通过matlab软件做bp神经网络预测,求大神帮忙

建立样本。可以以前一个月、前两个月、前三个月、前12个月、前24个月的数据作为输入,共5个数据。输出就是当月的价格,输出为1个数据。按照这个原则组织样本。
归一化。matlab中mapminmax函数。
建立网络并训练。newff函数和train函数。
预测。用sim函数。
你这里是要预测一段连续的时间,所以可能需要滚动式预测,即用预测出来的数据继续进行下一次的预测。参考附件的代码,附件是一个电力负荷预测的实例。

3. 求预测一组数据的bp神经网络模型的matlab代码

用matlab求预测一组数据的bp神经网络模型,可以分1、给定已经数据,作为一个原始序列;2、设定自回归阶数,一般2~3,太高不一定好;3、设定预测某一时间段4、设定预测步数5、用BP自定义函数进行预测6、根据预测值,用plot函数绘制预测数据走势图其主要实现代码如下:clc% x为原始序列(行向量)x=[208.72 205.69 231.5 242.78 235.64 218.41];%x=[101.4 101.4 101.9 102.4 101.9 102.9];%x=[140 137 112 125 213 437.43];t=1:length(x);% 自回归阶数lag=3; %预测某一时间段t1=t(end)+1:t(end)+5;%预测步数为fnfn=length(t1);     [f_out,iinput]=BP(x,lag,fn);P=vpa(f_out,5);A=[t1' P'];disp('预测值')disp(A)% 画出预测图figure(1),plot(t,iinput,'bo-'),hold onplot(t(end):t1(end),[iinput(end),f_out],'rp-'),grid ontitle('BP神经网络预测某地铁线路客流量')xlabel('月号'),ylabel('客流量(百万)');运行结果:

求预测一组数据的bp神经网络模型的matlab代码

4. 对于一个时间序列怎么编写bp神经网络matlab程序实现预测

BP网络训练图:
 P = [1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009];%输入向量
  T = [115.4 212.1 259.7 251.8 352 463.4 509 558 614 700 696 712];%期望输出
  Z=[2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020]
 %创建两层的BP网络:
 net = newff([1998 2009],[100 1],{'tansig' 'purelin'});
 net.trainparam.show=50;
 %每次循环50次
 net.trainParam.epochs = 500;
%最大循环500次
 net = train(net,P,T);

%对网络进行反复训练
  
只给出了一部分程序,其余的QQ传给你,留你的QQ。
 结果:
 Y =
  
  Columns 1 through 7
  
  115.4067  212.0911  259.7029  251.7979  352.0027  463.4023  508.9910
  
  Columns 8 through 12
  
  558.0155  613.9892  699.9980  696.0063  711.9970
  
    预测值a =

Columns 1 through 7
  
  711.9970  711.7126  749.4216  749.2672  746.7096  746.7096  751.0786
  
  Columns 8 through 11
  
  760.2729  757.3316  696.5151  696.5151
 分别是2010-2020年的预测数据。

5. 用matlab编BP神经网络程序预测

有呀,不过不知道你要干什么。
如果你的matlab版本较高,参看
http://zhidao.baidu.com/question/1766854136911164980
如果比较低,就看
clear;
clc;
X=-1:0.1:1;
D=[-0.9602 -0.5770 -0.0729 0.3771 0.6405 0.6600 0.4609...
    0.1336 -0.2013 -0.4344 -0.5000 -0.3930 -0.1647 -.0988...
    0.3072 0.3960 0.3449 0.1816 -0.312 -0.2189 -0.3201];
figure;
plot(X,D,'*'); %绘制原始数据分布图(附录:1-1)
net = newff([-1 1],[5 1],{'tansig','purelin'});
%[-1,1]为输入样本最小最大值,[5 1]为各层的神经元个数(这里是一个两层的神经网络)
%{'tansig','purelin'}为各层的神经元传递函数
net.trainParam.epochs = 100; %训练的最大次数
net.trainParam.goal = 0.005; %全局最小误差
net = train(net,X,D); %开始训练
O = sim(net,X);       %使用训练的网络
figure; 
plot(X,D,'*',X,O); %绘制训练后得到的结果和误差曲线(附录:1-2、1-3)
V = net.iw{1,1}%输入层到中间层权值
theta1 = net.b{1}%中间层各神经元阈值
W = net.lw{2,1}%中间层到输出层权值
theta2 = net.b{2}%输出层各神经元阈值

用matlab编BP神经网络程序预测

6. 求助,用matlab编BP神经网络程序,有输入和期望输出???

选一组输入+对应已知的输出 进行train 当然train之前要设置好网络 一般2层就够了; 然后再输入新的 输入,得到新的输出。 可以发数据

7. matlab BP神经网络预测下一组数据问题

楼主用的MATLAB是什么版本?
这段代码在2008b中会报错,虽然可以排除,但修改后在你的系统上未必兼容,所以最好用和你比较接近的版本来调试分析。

matlab BP神经网络预测下一组数据问题

8. 用matlab中bp神经网络实现由输入值预测输出值的程序

给你个例子如下,
net=newff(inputn,outputn,[8,4],{'tansig','purelin'},'trainscg');%初始化网络结构
%网络参数配置(迭代次数、学习率、目标)
net.trainParam.epochs=3000;
net.trainParam.lr=0.08;
net.trainParam.goal=0.05;
net.divideFcn = '';
[net,tr]=train(net,inputn,outputn);%网络训练
%网络预测输出
an=sim(net,inputn_test);
 
不过只了解输入预测输出,这些还不够,还要看你的输入数据的量,来确定隐含层,还需要看数据是不是归一化,我专门做神经网络的预测工作,可否加QQ探讨一下?
最新文章
热门文章
推荐阅读