试论述神经网络系统建模的几种基本方法。利用 BP 网络对以下非线性系统进行辨识。非线性系统1)首先利用 u(k)=sin(2*pi*k/3)+1/3*sin(2*pi*k/6),产生样本点 500,输入到上述系统,产生 y(k), 用于训练 BP 网络;2)网络测试,利用 u(k)=sin(2*pi*k/4)+1/5*sin(2*pi*k/7), 产生测试点 200,输入到上述系统,产生 y(k), 检验 BP/RBF 网络建模效果。3)利用模型参考自适应方法,设计 NNMARC 控制器,并对周期为 50,幅值为+/- 0。5 的方波给定,进行闭环系统跟踪控制仿真,检验控制效果(要求超调〈5%)。要求给出源程序和神经网络结构示意图,计算结果(权值矩阵),动态过程仿真图。1、系统辨识题目中的非线性系统可以写成下式:使用 BP 网络对非线性部分进行辨识,网络结构如图 1。1 所示,各层神经元个数分别为2—8—1,输入数据为 y(k-1)和 y(k—2),输出数据为 y(k).图 1。1 辨识非线性系统的 BP 网络结构使用 500 组样本进行训练,最终达到设定的 0.0001 的误差,训练过程如图 1.2 所示图 1。2 网络训练过程使用 200 个新的测试点进行测试,得到测试网络输出和误差结果分别如下图 1。3,1。4 所示.从图中可以看出,相对训练数据而言,测试数据的辨识误差略微变大,在范围内,拟合效果还算不错.图 1。3 使用 BP 网络辨识的测试结果图 1。4 使用 BP 网络辨识的测试误差情况clear all;close all;%% 产生训练数据和测试数据U=0; Y=0; T=0;u_1(1)=0; y_1(1)=0; y_2(1)=0; for k=1:1:500 %使用 500 个样本点训练数据 U(k)=sin(2*pi/3*k) + 1/3*sin(2*pi/6*k); T(k)= y_1(k) * (2*y_2(k) + 1) / (1+ y_1(k)^2 + y_2(k)^2); %对应目标值 Y(k) = u_1(k) + T(k); %非线性系统输出,用于更新 y_1 if k〈500 u_1(k+1) = U(k); y_2(k+1) = y_1(k); y_1(k+1) = Y(k); endend y_1(1)=0。0001; y_1(2)=0; y_2(1)=0; y_2(2)=0。0001; y_2(3)=0; %为避开组合后出现零向量,加上一个很小的数X=[y_1;y_2]; save(’traindata’,'X',’T’); clearvars -except X T ; %清除其余变量 U=0; Y=0; Tc=0;u_1(1)=0; y_1(1)=0; y_2(1)=0; for k=1:1:200 %使用 500 个样本点训练数据 U(k)=sin(2*pi/4*k) + 1/5*sin(2*pi/7*k); %新的测试函数Y(k) = u_1(k) + y_1(k) *...