自适应控制作业_第1页
自适应控制作业_第2页
自适应控制作业_第3页
自适应控制作业_第4页
自适应控制作业_第5页
已阅读5页,还剩10页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一题A=179;N=100,c=1; %初始化;x0=11;M=235;for k=1:N %乘同余法递推100次;x2=A*x0+c; %x2和x0分别表示xi和x(i-1);x1=mod(x2,M); %将x2存储器的数除以M,取余数放x1(xi)中;v1=x1/(M+1); %将x1存储器中的数除以(M+1)得到小于1的随机数放v1中;v(:,k)=v1; %将v1中的数存放在矩阵存储器v的第k列中,v(:,k) %表示行不变、列随递推循环次数变化;x0=x1; %x(i-1)=xi;v0=v1;end %递推100次结束;v2=v %实现矩存储器v中的随机数放在v2中;k1=k;%g

2、rapher %绘图程序k=1:k1;plot(k,v,k,v,'r');xlabel('k'),ylabel('v'),title('(0-1)均匀分布的随机序列')第二题A=179;N=100; %初始化;x0=11;M=235;for k=1:N %乘同余法递推100次;x2=A*x0; %x2和x0分别表示xi和x(i-1);x1=mod(x2,M); %将x2存储器的数除以M,取余数放x1(xi)中;v1=x1/(M+1); %将x1存储器中的数除以(M+1)得到小于1的随机数放v1中;v(:,k)=v1; %将v1中的

3、数存放在矩阵存储器v的第k列中,v(:,k) %表示行不变、列随递推循环次数变化;x0=x1; %x(i-1)=xi;v0=v1;end %递推100次结束;v2=v %实现矩存储器v中的随机数放在v2中;k1=k;%grapher %绘图程序k=1:k1;plot(k,v,k,v,'r');xlabel('k'),ylabel('v'),title('(0-1)均匀分布的随机序列')第三题 可调增益 Lyapunov-MRACclear all;close all;h=0.1;L=100/h; %数值积分步长和仿真步数(减小h,

4、可以提高积分精度)num=2 1; den=1 2 1; n=length(den)-1; %对象参数(严格正实)kp=1;Ap,Bp,Cp,Dp=tf2ss(kp*num,den); %对象参数(传递函数型转换为状态空间型)km=1;Am,Bm,Cm,Dm=tf2ss(km*num,den); %参考模型参数gamma=0.1; %自适应控制 yr0=0; u0=0; e0=0; %初值xp0=zeros(n,1); xm0=zeros(n,1); %状态向量初值kc0=0; %可调增益初值r=2; yr=r*ones(1,L/4) -ones(1,L/4) ones(1,L/4) -one

5、s(1,L/4); %输入信号 for k=1:L time(k)=k*h; xp(:,k)=xp0+h*(Ap*xp0+Bp*u0); yp(k)=Cp*xp(:,k); %计算yp xm(:,k)=xm0+h*(Am*xm0+Bm*yr0); ym(k)=Cm*xm(:,k); %计算ym e(k)=ym(k)-yp(k); %e=ym-yp kc=kc0+h*gamma*e0*yr0; %Lyapunov-MRAC自适应律 u(k)=kc*yr(k); %控制量 %更新数据 yr0=yr(k);u0=u(k);e0=e(k); xp0=xp(:,k);xm0=xm(:,k) kc0=kc

6、;endsubplot(2,1,1);plot(time,ym,'r',time,yp,':');xlabel('t');ylabel('y_m(t)、y_p(t)');legend('y_m(t)','y_p(t)');subplot(2,1,2);plot(time,u);xlabel('t');ylabel('u(t)');第四题 可调增益 MIT-MRACclear all; close all; h=0.1; L=100/h; %数值积分步长、仿真步数num

7、=1; den=1 1 1; n=length(den)-1; %对象参数kp=1; Ap,Bp,Cp,Dp=tf2ss(kp*num,den); %传递函数型转换为状态空间型km=1; Am,Bm,Cm,Dm=tf2ss(km*num,den); %参考模型参数gamma=0.1; %自适应增益yr0=0; u0=0; e0=0; ym0=0; %初值xp0=zeros(n,1); xm0=zeros(n,1); %状态向量初值kc0=0; %可调增益初值r=1.2; yr=r*ones(1,L/4) -ones(1,L/4) ones(1,L/4) -ones(1,L/4); %输入信号

8、for k=1:L time(k)=k*h; xp(:,k)=xp0+h*(Ap*xp0+Bp*u0); yp(k)=Cp*xp(:,k)+Dp*u0; %计算yp xm(:,k)=xm0+h*(Am*xm0+Bm*yr0); ym(k)=Cm*xm(:,k)+Dm*yr0; %计算ym e(k)=ym(k)-yp(k); %e=ym-yp kc=kc0+h*gamma*e0*ym0; %MIT自适应律 u(k)=kc*yr(k); %控制量 %更新数据 yr0=yr(k);u0=u(k);e0=e(k);ym0=ym(k); xp0=xp(:,k);xm0=xm(:,k); kc0=kc;e

9、ndplot(time,ym,'r',time,yp,':');xlabel('t'); ylabel('y_m(t)、y_p(t)')%axis(0 L*h -10 10);legend('y_m(t)','y_p(t)');第五题 M序列的产生clear all;close all;L=100; %M序列的长度x1=1;x2=1;x3=1;x4=1;x5=1;x6=0; %移位寄存器初值x(i-1),x(i-2),x(i-3),x(i-4), %x(i-5),x(i-6)for k=1:L M(

10、k)=xor(x5,x6); %进行异或运算,产生M序列 x6=x5;x5=x4;x4=x3;x3=x2;x2=x1;x1=M(k); %移位寄存器endplot(1,1)stairs(M);grid;axis(0 L -0.5 1.5);xlabel('k');ylabel('M序列幅值');title('M序列');第六题 递推极大似然参数估计clear all ;close all;a=1 -1.5 0.7'b=1 0.5'c=1 -1 -0.2'd=1; %参数估计na=length(a)-1;nb=length(

11、b)-1;nc=length(c)-1; %na,nb,nc为A,B,C的阶次nn=max(na,nc); %用于yf(k-i),uf(k-i)更新L=500; %仿真长度uk=zeros(d+nb,1); %输入初值:uk(i)表示u(k-i);yk=zeros(na,1); %输出初值xik=zeros(nc,1); %白噪声初值xiek=zeros(nc,1); %白噪声估计初值yfk=zeros(nn,1); %yf(k-i)ufk=zeros(nn,1); %uf(k-i)xiefk=zeros(nc,1); %白噪声f(k-i)u=normrnd(1,0.4,500,1); %输入

12、采用白噪声序列xi=normrnd(0,0.4,500,1); %白噪声序列thetae_1=zeros(na+nb+1+nc,1); %参数估计初值P=eye(na+nb+nc+1); %单位阵for k=1:L y(k)=-a(2:na+1)'*yk+b'*uk(d:d+nb)+c'*xi(k);xik; %采集输出数据 phi=-yk;uk(d:d+nb);xiek; xie=y(k)-phi'*thetae_1; phif=-yfk(1:na);ufk(d:d+nb);xiefk; %递推极大似然参数估计算法 K=P*phif/(1+phif'*

13、P*phif); thetae(:,k)=thetae_1+K*xie; P=(eye(na+nb+1+nc)-K*phif')*P; yf=y(k)-thetae(na+nb+2:na+nb+1+nc,k)'*yfk(1:nc); %yf(k) uf=u(k)-thetae(na+nb+2:na+nb+1+nc,k)'*ufk(1:nc); %uf(k) xief=xie-thetae(na+nb+2:na+nb+1+nc,k)'*xiefk(1:nc); %xief(k) %更新数据 thetae_1=thetae(:,k); for i=d+nb:-1:2

14、 uk(i)=uk(i-1); end uk(1)=u(k); for i=na:-1:2 yk(i)=yk(i-1); end yk(1)=y(k); for i= nc:-1:2 xik(i)=xik(i-1); xiek(i)=xiek(i-1); xiefk(i)=xiefk(i-1); end xik(1)=xi(k); xiek(1)=xie; xiefk(1)=xief; for i=nn:-1:2 yfk(i)=yfk(i-1); ufk(i)=ufk(i-1); end yfk(1)=yf; ufk(1)=uf;endfigureplot(1:L,thetae(1:na,:),1:L,thetae(na+nb+2:na+nb+1+nc,:);xlabel('k');ylabel('参数估计a,c');le

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论