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

你好,请问你有BP神经网络的程序吗?急用
2025-04-04 02:02:17
推荐回答(1个)
回答1:

有呀,不过不知道你要干什么。
如果你的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}%输出层各神经元阈值