导航:首页 > 编程大全 > bp神经网络在matlab

bp神经网络在matlab

发布时间:2023-12-27 10:19:58

① 求预测一组数据的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;
%预测步数为fn
fn=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 on
plot(t(end):t1(end),[iinput(end),f_out],'rp-'),grid on
title('BP神经网络预测某地铁线路客流量')
xlabel('月号'),ylabel('客流量(百万)');
运行结果:

② 可以做用matlab建立BP神经网络吗

可以。利用函数newff和train。简单的设置方法

P = [2,1,4,5,3,9]; %Y

T = [1:6]; %X

net = newff(minmax(P),[5 1],{'tansig' 'purelin'}); %newff(a,b,c)

%a:输入特征范围

%b:n-1个隐藏层的大小,S1到S(n-1),默认值为专[]。(输出层大小S由T确定属)

%c:转移函数

net = train(net,P,T); %训练

Y = sim(net , T); %输出结果

手打望采纳

③ 如何用matlab训练BP神经网络

net = newff(PR,[S1 S2...SNl],{TF1 TF2...TFNl},BTF,BLF,PF)

newff(PR,[S1 S2...SNl],{TF1 TF2...TFNl},BTF,BLF,PF) takes,
PR - Rx2 matrix of min and max values for R input elements.
Si - Size of ith layer, for Nl layers.
TFi - Transfer function of ith layer, default = 'tansig'.
BTF - Backprop network training function, default = 'trainlm'.
BLF - Backprop weight/bias learning function, default = 'learngdm'.
PF - Performance function, default = 'mse'.
然后train一下就可以了,具体其他参数查阅相关文档,一般有前四个参数就够了。
看一个简单的例子:
有两个向量或者矩阵,pn和tn:
net=newff(minmax(pn),[3,1],{'tansig','purelin'},'trainlm');
net.trainParam.epochs=1000;
net.trainParam.goal =1e-5;
net=train(net,pn,tn);
照葫芦画瓢就行,具体参数意义就不说了,自己查阅matlab帮助。

④ 用BP神经网络建立数学模型,MATLAB实现,怎样得到输入到输出的计算公式

clear;

%输入数据矩阵
p1=zeros(1,1000);
p2=zeros(1,1000);
for i=1:1000
p1(i)=rand;
p2(i)=rand;
end
p=[p1;p2];
%目标(输出)数据矩阵
t = cos(pi*p1)+sin(pi*p2);
%对训练集中的输入数据矩阵和目标数据矩阵进行归一化处理
[pn, inputStr] = mapminmax(p);
[tn, outputStr] = mapminmax(t);
%建立BP神经网络
net = newff(pn, tn, [200,10]);
%每10轮回显示一次结果
net.trainParam.show = 10;
%最大训练次数
net.trainParam.epochs = 5000;
%网络的学习速率
net.trainParam.lr = 0.05;
%训练网络所要达到的目标误差
net.trainParam.goal = 10^(-8);
%网络误差如果连续6次迭代都没变化,则matlab会默认终止训练。为了让程序继续运行,用以下命令取消这条设置
net.divideFcn = '';
%开始训练网络
net = train(net, pn, tn);
%获取网络权值、阈值
netiw = net.iw;
netlw = net.lw;
netb = net.b;
w1 = net.iw{1,1}; %输入层到隐层1的权值
b1 = net.b{1} ; %输入层到隐层1的阈值
w2 = net.lw{2,1}; %隐层1到隐层2的权值
b2 = net.b{2} ; %隐层1到隐层2的阈值
w3 = net.lw{3,2}; %隐层2到输出层的权值
b3 = net.b{3} ;
in = mapminmax('apply',[0.1;0.5],inputStr);
%用公式计算输出
y=w3*tansig(w2*tansig(w1*in+b1)+b2)+b3;
y1=mapminmax('reverse',y,outputStr);
%用网络验证计算结果
out = sim(net,in);
out1=mapminmax('reverse',out,outputStr);

阅读全文

与bp神经网络在matlab相关的资料

热点内容
怎么样将app里按钮变大 浏览:769
狼蛛鼠找不到配置文件 浏览:845
土豪金编程器软件打不开什么原因 浏览:957
备分数据换SD片是什么意思 浏览:666
jmp数据分析时主要看哪些参数 浏览:59
js循环 浏览:505
大数据大二学生可以做哪些实习 浏览:567
微信上没有小程序选项 浏览:839
电脑桌面的excel文件不显示图标 浏览:992
ios无法绑定支付宝支付密码 浏览:6
linux文件系统叫什么 浏览:721
在wps中文件找不到了 浏览:59
大数据涉及哪些行业 浏览:215
系统印象文件找不到也无法删除 浏览:594
ps文件线段不显示 浏览:129
win10主题清华同方 浏览:114
文件5weh 浏览:296
java标准库c标准库 浏览:101
90版本天御刺客 浏览:719
做系统文件还在吗 浏览:73

友情链接