欢迎来到第一文库网! | 帮助中心 第一文库网-每个人都是第一
第一文库网
全部分类
  • 研究报告>
  • 学术论文>
  • 全科教育>
  • 应用文档>
  • 行业资料>
  • 企业管理>
  • 技术资料>
  • 生活休闲>
  • ImageVerifierCode 换一换
    首页 第一文库网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    最小方差自校正控制Matlab程序.docx

    • 资源ID:239029       资源大小:26.96KB        全文页数:7页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    扫码关注公众号登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    最小方差自校正控制Matlab程序.docx

    最小方差自校正控制Mat1ab程序最小方差自校正控制Mat1ab程序1自校正控制自适应控制有很多种,例如模型参考自适应控制系统、自校正控制系统等。自校正控制(STC)最早是由R.E.Ka1man在1958年提出的,他设计了基于最小二乘估计和有限拍控制的自适应控制器,并为了实现这个控制器,还建造了一台专用模拟计算机,但其发展受到了当时的硬件问题的闲扰。4*w1"HnwI图1间接自校正控制系统图2直接自校正控制系统自校正控制系统也有内环和外环。内环与常规反馈系统类似,外环由对象参数递推估计器和控制器计算机构组成,其任务是由递推估计器在线估计被控对象参数,用以代替对象的未知参数,然后由设计机构按一定的规则对可调控制器的参数进行在线求解,用以修改内环的控制器。自校正控制器是在线参数估计和控制参数在线设计两者的有机结合。另外,在参数估计时,对观测数据的使用方式有两种。一种是不直接更新控制器参数,而是先估计被控对象模型本身的未知参数,然后再通过设计机构得到控制器参数,如图1所示,称为间接算法,另一种是直接估计控制器参数,这时需要将过程重新参数化,建立一个与控制器参数直接关联的估计模型,称为直接算法,如图2。2.最小方差自校正Mat1ab算法仿真(直接自校正和间接自校正)设被调对象为CARMA模型111()()()()()()dAzytzBzutCzt=+其中,1121111()11.70.7()10.5()10.2AZzzBqzCzz=+=÷式中,()k£为方差为1的白噪声。(一)取初值6?(O)Io(O)OP16=、,0f的下界为min0.1f二,期望输出()ryk为幅值为10的方波信号,采用最小方差直接自校正控制算法,观察不同时滞d=14、8时,最小方差自校正算法的控制效果。QBB(a)时滞为1(b)时滞为4(C)时滞为8图4-2最小方差直接自校正算法仿真结果(二)取初值6?(O)Io(O)0.001PI。期望输出Oryk为幅值为10的方波信号,用增广递推最小二乘法进行参数估计,采用最小方差间接自校正控制算法,仿真效果如图4-3,d=4。图4-3最小方差间接自校正算法仿真效果(d=4)Mat1ab程序:%程序:最小方差直接自校正控制(MVC)算法c1eara11;c1osea11;a=1-1.70.7;b=10.5;c=10.2;d=4;%对象参数na=1ength(a)-1;nb=1ength(b)-1;nc=1ength(c)-1;%na、nb、nc为多项式A、B、C阶次nf=nb+d-1%nf为多项式F的阶次1=400;%控制步数uk=zeros(d+nb,1);%输入初值:uk(i)表示u(k-i);yk=zeros(na11);%输出初值yrk=zeros(ncz1);%期望输出初值xik=zeros(ncz1);%白噪声初值yr=10*ones(14,1)rones(14,1)jones(14,1)rones(14+d,1);%期望输出xi=sqrt(O.1)*randn(1z1);%白噪声序列e,f,g=SindiOPhantine(a,b,c,d);%求解单步DioPhantine方程fork=1:1time(k)=k;y(k)=-a(2:na+1)*yk+b*uk(d:d+nb)+c*xi(k);xik;%采集输出数据u(k)=(-f(2:nf+1)*uk(1:nf)+c*yr(k+d:-1:k+d-min(d,nc);yrk(1:nc-d)-g*y(k);yk(1:na-1)/f;求控制量%更新数据fori=d+nb:-1:2uk(i)=uk(i-1);enduk(1)=u(k);fori=na:-1:2yk(i)=yk(i-1);endyk=y(k);fori=nc:-1:2yrk(i)=yrk(i-1);xik(i)=xik(i-1);endifnc>0yrk(1)=yr(k);xik(1)=xi(k);endendsubp1ot(2,1z1);p1ot(timezyr(11),ztimezy);×1abe1('k');y1abe1(,y-r(k)xy(k),);1egendCy_r(k)7y(k)');subp1ot(2z1z2);p1ot(timezu);x1abe1(,k,);y1abe1(,u(k),);%程序:最小方差间接自校正控制c1eara11;c1osea11;a=1-1.70.7;b=10.5;c=10.2;d=4;%对象参数na=1ength(a)-1;nb=1ength(b)-1;nc=1ength(c)-1;%naxnb、nc为多项式A、B、C阶次nf=nb÷d-1;%nf为多项式F的阶次1=400;%控制步数uk=zeros(d+nbz1);%输入初值:Uk(i)表示u(k-i);yk=zeros(na,1);%输出初值yrk=zeros(ncz1);%期望输出初值×ik=zeros(ncz1);%白噪声初值xiek=zeros(ncz1);%白噪声估计初值yr=10*ones(14,1)rones(14,1)jones(14,1)rones(14+d,1);%期望输出xi=sqrt(0.1)*randn(1,1);%白噪声序列%RE1S初值设置thetae-1=0001*ns(na+nb+1+ncz1);%非常小的正数(这里不能为0)P=10A6*eye(na+nb+1+nc);fork=1:1time(k)=k;y(k)=-a(2:na+1)*yk+b*uk(d:d+nb)+c*xi(k);xik;%采集输出数据%递推增广最小二乘法phie=-yk;uk(d:d+nb);xiek;K=P*phie(1+phie,*P*phie);thetaeC,k)=thetae-1+K*(y(k)-phie'*thetae-1);P=(eye(na+nb+1+nc)-K*phie,)*P;xie=y(k)-phie'*thetae(:,k);%白噪声的估计值%提取辨识参数ae=1thetae(1azk)'be=thetae(na+1:na+nb+1zk)'ce=1thetae(na+nb+2:na+nb+1+nczk),;ifabs(be)>0.9be(2)=sign(ce(2)*0.9;%MVC算法要求B稳定endifabs(ce(2)>0.9ce(2)=sign(ce(2)*0.9;ende,fg=SindiOPhantine(ae,be,ce,d);%求解单步Diophantine方程u(k)=(-f(2:nf+1)*uk(1:nf)+ce*yr(k+d:-1:k+d-min(drnc);yrk(1:nc-d)-g*y(k);yk(1:na-1)/f(1);%求控制量%更新数据thetae_1=thetae(:zk);fori=d+nb:-1:2uk(i)=uk(i-1);enduk(1)=u(k);fori=na:-1:2yk(i)=yk(i-1);endyk=y(k);fori=nc:-1:2yrk(i)=yrk(i-1);xik(i)=xik(i-1);xiek(i)=xiek(i-1);endifnc>Oyrk(1)=yr(k);xik(1)=xi(k);xiek(1)=xie;endendfigure(1);subp1ot(2,1z1);P1ot(time,yr(1:1);r:',time,y);x1abe1('k');y1abe1('y_r(k)、y(k),);1egend('y-r(k),y(k)');axis(01-2020);subp1ot(2z1z2);p1ot(timezu);x1abe1(,k');y1abe1('u(k)');axis(O1-4040);figure(2)subp1ot(211)p1ot(1±,thetae(1na,:);×abe1('k');y1abe1('参数估计a');1egend(,a.1a-2");axis(01-32);subp1ot(212)p1ot(1:1zthetae(na+1:na+nb+1+ncr:);x1abe1(,k,);y1abe1('参数估计b、c,);Iegend('b.7b-ic-1,);axis(0101.5);

    注意事项

    本文(最小方差自校正控制Matlab程序.docx)为本站会员(lao****ou)主动上传,第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知第一文库网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 001doc.com网站版权所有   

    经营许可证编号:宁ICP备2022001085号

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



    收起
    展开