神经元网络对复杂系统建模一
目标
Nf的训练
%神经元网络Nf
u=-10:0.01:10
f=u./(1+u.^2);
plot(u,f);%实际过程
x=rand(1,400)*20-10;%区间为[-10,10]的随机采样
y=x./(1+x.^2);%训练样本
netf=feedforwardnet([20,10]);
view(netf);
netf=train(netf,x,y);
yy=netf(u);%训练结果
plot(u,yy,'r');
hold on;
gtext('f[y]=y/[1+y^2]');
神经网络结构如下图:采用一个输入和输出层,两个隐层,各层的节点数分别为1,1,20和10。
训练结果:
Nf的训练结果如上图所示,其训练结果与实际过程基本一致
Ng的训练
Ng的训练与Nf的训练类似
对于特定输入的检测
相关代码见链接
得到真实过程与辨识模型的输出如下图,由图可见辨识结果几乎与实际输出完全一致。