神经网络控制问题

来源:百度知道 编辑:UC知道 时间:2024/07/02 02:54:31
输入是四个控制量,a1,a2,a3,a4 然后已知一个输出b1.
希望通过matlab神经网络训练出输入为a1,a2,a3,a4,输出逼近b1的权值参数,请高手解答。
网络为2层,第一层4个神经元,第二层一个。
对神经网络不太了解,就是用最简单的那种,应该是3层吧。

close all,clear;clc
tic
P=[a1;a2;a3;a4]; %将a1,a2,a3,a4中的数据写成一行,每个数据间用空格
%隔开替换这里的a1,a2,a3,a4。数据长度必须一样
T=b1; %同上
% P=[1 2 3;2 3 4;3 4 5;4 5 6];
% T=[5 5 5];
[P,minp,maxp] = premnmx(P); %数据归一化
R=4,S1=6,S2=1;
net=newcf(minmax(P),[4,1],{'logsig','purelin'},'trainscg'); %创建两层前向回馈网络
net.trainParam.epochs=2000; %训练次数
net.trainParam.goal=0.1e-003; %误差精度;
net.trainParam.lr = 0.5;
[net]=train(net,P,T); %训练网络
Y=sim(net,P); %Y为输出的逼近值
toc