MATLAB进行人工神经网络拟合求助现有一种合金由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]想

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/12 00:35:54

MATLAB进行人工神经网络拟合求助现有一种合金由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]想
MATLAB进行人工神经网络拟合求助
现有一种合金由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神经网络进行拟合,得到5个预测结果,然后和实测的硬度进行比较.
请高手教教我,用MATLAB的

MATLAB进行人工神经网络拟合求助现有一种合金由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]想
tic; %计时开始
clc; %清屏
clear all; %清除所有变量
disp('输入层神经元个数:3'); %显示输入层神经元个数
input=3;
disp('中间层神经元个数:3'); %显示中间层神经元个数
middle=3;
disp('输出层神经元个数:1'); %显示输出层神经元个数
output=1;
disp('输入模式1 2 3及其对应的输出:');
x1=[7.1 3.2 2.5];
x2=[7.0 3.4 2.9];
x3=[6.9 3.6 3.1];
x4=[6.8 3.8 2.6];
x5=[7.2 4.0 2.2];
y1=78;y2=65;y3=78;y4=69;y5=72;
disp('形成一张供调用的向量表:');
X=[x1;x2;x3;x4;x5]; %x1,x2,x3,x4,x5向量表
X=X/10;
Yo=[y1;y2;y3;y4;y5]; %y1,y2,y3,y4,y5向量表
Yo=Yo/100;
disp('初始化连接权矩阵:');
w=zeros(input,middle); %输入层与中间层的连接权
v=zeros(middle,output); %中间层与输出层的连接权
th1=zeros(1,middle); %中间层的阈值
th2=zeros(1,output); %输出层的阈值
out_middle=zeros(1,middle); %中间层的实际输出
out_output=zeros(1,output); %输出层的实际输出
delta_output=zeros(1,output); %输出层的差值
delta_middle=zeros(1,middle); %中间层的差值
disp('显示初始化连接权矩阵w:');
w=rands(input,middle); %初始化连接权矩阵w(i,j)
disp(w); %显示初始化连接权矩阵w(i,j)
disp('显示初始化连接权矩阵v:');
v=rand(middle,output); %初始化连接权矩阵v(j,t)
disp(v); %显示初始化连接权矩阵v(j,t)
disp('中间层阈值矩阵th1:');
th1=rand(1,middle); %初始化中间层阈值矩阵th1
disp(th1); %显示中间层阈值矩阵th1
disp('中间层阈值矩阵th2:');
th2=rand(1,output); %初始化输出层阈值矩阵th2
disp(th2); %显示中间层阈值矩阵th2
sample_bumbers=5; %样本数
max_times=10000; %最大训练次数
times=0; %训练次数
eta=0.1; %学习系数eta
gamma=0.1; %学习系数gamma
sample_pointer=0; %样本数指针
error=0.02; %误差
error_max=0.01; %最大误差
for times=1:max_times %begin for External Loop
if error>error_max
for sample_pointer=1:sample_bumbers
X0=X(sample_pointer,:);
Y0=Yo(sample_pointer,:);
Y=X0*w;
%计算中间层的输出:
Y=Y-th1;
for j=1:middle
out_middle(j)=1/(1+exp(-Y(j)));
end
%计算输出层输出:
Y=out_middle*v;
Y=Y-th2;
for k=1:output %k=1:3
out_output(k)=1/(1+exp(-Y(k)));
end
error=(Y0(k)-out_output(k))*(Y0(k)-out_output(k))/2;
%计算输出层校正误差delta_output:
for k=1:output %k=1:3
delta_output(k)=(Y(k)-out_output(k))*out_output(k)*(1-out_output(k));
end
%计算中间层校正误差delta_middle:
for k=1:output %k=1:3
xy=delta_output*v';
delta_middle=xy*out_middle'*(1-out_middle);
end
%计算下一次的中间层和输出层之间的连接权v(j,k),阈值th2(k)
for k=1:output;
for j=1:middle
v(j,k)=v(j,k)+eta*delta_output(k)*out_middle(j);
end
th2(k)=th2(k)+eta*delta_output(k);
end
%计算下一次的输入层和中间层之间的连接权w(i,j),阈值th1(j)
for j=1:middle;
for i=1:input
w(i,j)=w(i,j)+gamma*X0(i)*delta_middle(j);
end
th1(j)=th1(j)+gamma*delta_middle(j);
end
end %end for if
else
break;
end %end for else
end %end for External Loop
disp('显示结果:');
disp('训练次数times:');disp(times);
disp('输出权值w');disp(w);
disp('输出权值v');disp(v);
disp('全局误差error:');disp(error);
disp('运行结束了!');
toc; %计时结束,并输出程序的运行时间
输出结果为:
输入层神经元个数:3
中间层神经元个数:3
输出层神经元个数:1
输入模式1 2 3及其对应的输出:
形成一张供调用的向量表:
初始化连接权矩阵:
显示初始化连接权矩阵w:
0.5695 -0.6483 -0.6946
-0.0573 0.4435 -0.3178
-0.9285 -0.0530 0.2148
显示初始化连接权矩阵v:
0.1917
0.7384
0.2428
中间层阈值矩阵th1:
0.9174 0.2691 0.7655
中间层阈值矩阵th2:
0.1887
显示结果:
训练次数times:
6
输出权值w
0.5376 -0.6779 -0.7311
-0.0736 0.4283 -0.3365
-0.9406 -0.0643 0.2009
输出权值v
0.1328
0.6708
0.2027
全局误差error:
0.0097
运行结束了!
Elapsed time is 0.263732 seconds.

MATLAB进行人工神经网络拟合求助现有一种合金由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]想 使用MATLAB进行人工神经网络拟合求助测量一种合金的硬度H,包含四个特征向量A、B、C、D,测试5次,分别为A B C D 硬度H7.1 2.0 6.4 3.9 783.2 4.9 3.1 5.6 652.5 4.6 5.8 7.0 90想用3层神经网络拟合H与A、B、C、D MATLAB怎样进行神经网络 求matlab 人工鱼群源代码和人工鱼群算法优化BP神经网络 求matlab 人工鱼群源代码和人工鱼群算法优化BP神经网络,求求求! 如何用matlab进行拟合,用最小二乘法? matlab中怎么进行双曲线拟合 人工神经网络的发展 人工神经网络的实用性 求翻译,人工神经网络 什么是人工神经网络? 什么是人工神经网络? 人工神经网络解决实际问题 matlab cftool 工具使用求助matlab cftool里面拟合二次曲线后,曲线颜色,线性如何改变,横纵坐标轴的范围如何进行调整? 用matlab神经网络进行需水量预测有28年的数据6235 6897 7012 7023 7289 7896 7589 7986 7998 8012 8123 8456 8498 8654 8723 8923 10093 11626 11536 11276 9606 8769 8068 7541 9717 8886 9287 9710需要用神经网络进行预测,进行拟合 matlab中如何进行曲面拟合利用matlab进行三维数据曲面拟合 基于BP人工神经网络的英文字母识别,MATLAB的程序源代码 Matlab中做人工神经网络时 newff 和newcf有什么区别?