使用MATLAB求解BP神经网络

问题描述:

使用MATLAB求解BP神经网络
现有一种合金由A,B,C三种元素及杂质组成
测试5次
A百分含量 [7.1 7.0 6.9 6.8 7.2]
B百分含量 [3.2 3.4 3.6 3.8 4.0]
C百分含量 [2.5 2.9 3.1 2.6 2.2]
硬度[78 65 78 69 72]
想用BP神经网络进行拟合
请高手教教我,用MATLAB的
1个回答 分类:综合 2014-12-01

问题解答:

我来补答
% A百分含量 [7.1 7.0 6.9 6.8 7.2]
% B百分含量 [3.2 3.4 3.6 3.8 4.0]
% C百分含量 [2.5 2.9 3.1 2.6 2.2]
%
% 硬度[78 65 78 69 72]
%
% P=[.];输入T=[.];输出
clear;clc
%数据
A=[7.1 7.0 6.9 6.8 7.2];
B=[3.2 3.4 3.6 3.8 4.0];
C=[2.5 2.9 3.1 2.6 2.2];
P=[A;B;C];
T=[78 65 78 69 72];
% 创建一个新的前向神经网络
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=[7.1 3.2 2.5]';%测试
sim(net_1,x)
 
 
展开全文阅读
剩余:2000
上一页:函数急