MATLAB,怎么修改这段程序
发布网友
发布时间:2022-04-01 21:42
我来回答
共2个回答
热心网友
时间:2022-04-01 23:11
%神经网络的输入信号矩阵p:
p=[0.34 0.95 0.53 1.00 0.24 0.37 0.16 0.20 0.00 0.50 0.50 0.65 0.42 0.53 0.66 0.79 0.63 0.79 0.52 0.42;
0.40 1.00 0.00 0.80 0.00 0.80 0.10 0.22 0.36 0.80 0.40 1.00 0.48 0.68 0.74 0.80 0.72 0.80 0.14 0.20;
0.4 0.4 1.0 0.8 0.8 0.8 0.2 0.3 0.8 0.6 0.4 0.6 0.2 0.1 0.1 0.2 0.1 0.1 0.0 0.1];
%神经网络的期望输出矩阵t:
t=[0.1 0.05 0.05 0.1 0.05 0.1 0.2 0.15 0.5 0.1 0.2 0.05 0.15 0.05 0.1 0.05 0.15 0.05 0.85 0.9;0.1 0.05 0.1 0.2 0.2 0.1 0.15 0.15 0.05 0.2 0.2 0.05 0.7 0.7 0.65 0.75 0.8 0.85 0.1 0.05;0.8 0.9 0.85 0.7 0.75 0.8 0.65 0.7 0.9 0.7 0.6 0.9 0.25 0.25 0.25 0.2 0.25 0.1 0.05 0.05];
%使用函数newff()建立一个神经网络模型:
%net=newff(minmax(p),[3,8,3],{'logsig','logsig','logsig'},'trainlm');
net=newff(p,t,[3,8],{'logsig','logsig','logsig'},'trainlm');
%对建立的神经网络进行初始化操作:
%[w1,b1,w2,b2,w3,b3]=initff(p,3,'logsig',8,'logsig',3,'logsig');
%定义网络训练的参数并训练网络:
net.trainParam.goal=0.00001; %训练目标误差(性能参数)
net.trainParam.epochs=20000; %训练步数
net.trainParam.show=20; %显示训练结果的间隔步数(两次显示之间的训练步数)
net.trainParam.lr=0.5; %学习速度
[net,tr]=train(net,p,t); %调用train函数对BP网络进行训练
热心网友
时间:2022-04-02 00:29
提示说,newff命令已过时,请用别的命令。而initff不是matlab的函数,就是错了。