神经网络非线性系统辨识与模型参考自适应控制器设计.docx

神经网络非线性系统辨识与模型参考自适应控制器设计.docx

ID:58651691

大小:345.77 KB

页数:6页

时间:2020-10-16

神经网络非线性系统辨识与模型参考自适应控制器设计.docx_第1页
神经网络非线性系统辨识与模型参考自适应控制器设计.docx_第2页
神经网络非线性系统辨识与模型参考自适应控制器设计.docx_第3页
神经网络非线性系统辨识与模型参考自适应控制器设计.docx_第4页
神经网络非线性系统辨识与模型参考自适应控制器设计.docx_第5页
资源描述:

《神经网络非线性系统辨识与模型参考自适应控制器设计.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、试论述神经网络系统建模的几种基本方法。利用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的方波给定,进行闭环系统跟踪控制仿真,检

2、验控制效果(要求超调<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所示。从图中可以看

3、出,相对训练数据而言,测试数据的辨识误差稍微变大,在±0.06范围内,拟合效果还算不错。图1.3使用BP网络辨识的测试结果图1.4使用BP网络辨识的测试误差情况clearall;closeall;%%产生训练数据和测试数据U=0;Y=0;T=0;u_1(1)=0;y_1(1)=0;y_2(1)=0;fork=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

4、(k)=u_1(k)+T(k);%非线性系统输出,用于更新y_1ifk<500u_1(k+1)=U(k);y_2(k+1)=y_1(k);y_1(k+1)=Y(k);endendy_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-exceptXT;%清除其余变量U=0;Y=0;Tc=0;u_1(1)=0;y_1(1)=0;y_2(1)=

5、0;fork=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)*(2*y_2(k)+1)/(1+y_1(k)^2+y_2(k)^2);ifk<200u_1(k+1)=U(k);y_2(k+1)=y_1(k);y_1(k+1)=Y(k);endendTc=Y;Uc=u_1;y_1(1)=0.0001;y_1(2)=0;y_2(1)=0;y_2(2)=0.0001;y_2(3)=0;%为避免组合后出现零向量,加上一个

6、很小的数Xc=[y_1;y_2];save('testdata','Xc','Tc','Uc');%保存测试数据clearvars-exceptXcTcUc;%清除其余变量,loadtraindata;loadtestdata;%加载训练数据和测试数据%%网络建立与训练[R,Q]=size(X);[S,~]=size(T);[Sc,Qc]=size(Tc);Hid_num=8;%隐含层选取8个神经元较合适val_iw=rands(Hid_num,R);%隐含层神经元的初始权值val_b1=rands(Hid_num,1);%隐含

7、层神经元的初始偏置val_lw=rands(S,Hid_num);%输出层神经元的初始权值val_b2=rands(S,1);%输出层神经元的初始偏置net=newff(X,T,Hid_num);%建立BP神经网络,使用默认参数net.trainParam.epochs=400;%设置训练次数net.trainParam.max_fail=50;net.trainParam.goal=0.0001;%设置meansquareerror,均方误差,net.trainParam.lr=0.05;%设置学习速率net.iw{1,1}=

8、val_iw;%初始权值和偏置net.lw{2,1}=val_lw;net.b{1}=val_b1;net.b{2}=val_b2;[net,tr]=train(net,X,T);%训练网络save('aaa','net');%将训练好的网络保存下来%%网络测试

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。