广义最小方差直接自校正控制器

广义最小方差直接自校正控制器

clear all ;close all ; clc a=[1-0.90.8-0.5];b=[12];c=[10.6];d=4;

nf=nb+d-1;ng=na-1;na=length(a)-1;nb=length(b)-1;nc=length(c)-1;

Pw=1;R=1.5;Q=2;%加权多项式区别于增广最小二乘法中的P np=length(Pw)-1;nr=length(R)-1;nq=length(Q)-1;L=500;uk=zeros(d+nf,1);yk=zeros(d+ng,1);yek=zeros(nc,1);yrk=zeros(nc,1);xik=zeros(nc,1);%控制步数%输入初值:uk(i)表示u(k-i);%输出初值%最优输出预测估计初值%期望输出初值%白噪声初值yr=10*[ones(L/4,1);-ones(L/4,1);ones(L/4,1);-ones(L/4+d,1)];%期望输出xi=sqrt(0.1)*randn(L,1);%白噪声序列%递推估计初值thetaek=zeros(ng+nf+nc+2,d);P=10^6*eye(ng+nf+nc+2);time=1:L;for k=1:Ly(k)=-a(2:na+1)*yk(1:na)+b*uk(d:d+nb)+c*[xi(k);xik];%采集输出数据

%增广最小二乘phie=[yk(d:d+ng);uk(d:d+nf);-yek(1:nc)];K=P*phie/(1+phie'*P*phie);thetae(:,k)=thetaek(:,1)+K*(y(k)-phie'*thetaek(:,1));P=(eye(na+nb+nc+d)-K*phie')*P;

ye=phie'*thetaek(:,d);%最优预测输出可以=yr(k)

ge=thetae(1:ng+1,k)';fe=thetae(ng+2:ng+nf+2,k)';ce=[1thetae(ng+nf+3:ng+nf+nc+2,k)'];if abs(ce(2))>0.9

end ce(2)=sign(ce(2))*0.9;

if fe(1)

u(k)=(-Q(1)*CQ(2:nc+nq+1)*uk(1:nc+nq)/fe(1)-FP(2:np+nf+1)*uk(1:np+nf). ..

+CR*[yr(k+d:-1:k+d-min(nc+nr,d));yrk(1:nr+nc-d)]...

for i=d:-1:2

end -GP*[y(k);yk(1:np+ng)])/(Q(1)*Q(1)/fe(1)+fe(1));thetaek(:,i)=thetaek(:,i-1);

thetaek(:,1)=thetae(:,k);

for i=d+nf:-1:2

end uk(i)=uk(i-1);

uk(1)=u(k);for i=d+ng:-1:2

end yk(i)=yk(i-1);

yk(1)=y(k);for i=nc:-1:2yek(i)=yek(i-1);yrk(i)=yrk(i-1);xik(i)=xik(i-1);end if nc>0yek(1)=ye;yrk(1)=yr(k);

end xik(1)=xi(k);

end figure(1)plot(time,yr(1:L),'r:',time,y); xlabel('k' );ylabel('y_r(k)、y(k)');

title(' 实际输出跟踪期望输出图' ); axis([0L -2020]);

figure(2)legend(' 模型输出y_r(k)', ' 实际输出y(k)'); plot(time,u);xlabel('k' );ylabel('u(k)'); title(' 控制量变化图' ); axis([0L -1010]);

figure(3)plot([1:L],thetae(1:ng+1,:),[1:L],thetae(ng+nf+3:ng+nf+nc+2,:));xlabel('k' );ylabel(' 参数估计g 、c' ); legend('g_0', 'g_1', 'c_1'); axis([0L -11]);

figure(4)plot([1:L],thetae(ng+2:ng+2+nf,:));xlabel('k' );ylabel(' 辨识参数f' ); legend('f_0', 'f_1', 'f_2', 'f_3', 'f_4'); axis([0L -24]);

广义最小方差直接自校正控制器

clear all ;close all ; clc a=[1-0.90.8-0.5];b=[12];c=[10.6];d=4;

nf=nb+d-1;ng=na-1;na=length(a)-1;nb=length(b)-1;nc=length(c)-1;

Pw=1;R=1.5;Q=2;%加权多项式区别于增广最小二乘法中的P np=length(Pw)-1;nr=length(R)-1;nq=length(Q)-1;L=500;uk=zeros(d+nf,1);yk=zeros(d+ng,1);yek=zeros(nc,1);yrk=zeros(nc,1);xik=zeros(nc,1);%控制步数%输入初值:uk(i)表示u(k-i);%输出初值%最优输出预测估计初值%期望输出初值%白噪声初值yr=10*[ones(L/4,1);-ones(L/4,1);ones(L/4,1);-ones(L/4+d,1)];%期望输出xi=sqrt(0.1)*randn(L,1);%白噪声序列%递推估计初值thetaek=zeros(ng+nf+nc+2,d);P=10^6*eye(ng+nf+nc+2);time=1:L;for k=1:Ly(k)=-a(2:na+1)*yk(1:na)+b*uk(d:d+nb)+c*[xi(k);xik];%采集输出数据

%增广最小二乘phie=[yk(d:d+ng);uk(d:d+nf);-yek(1:nc)];K=P*phie/(1+phie'*P*phie);thetae(:,k)=thetaek(:,1)+K*(y(k)-phie'*thetaek(:,1));P=(eye(na+nb+nc+d)-K*phie')*P;

ye=phie'*thetaek(:,d);%最优预测输出可以=yr(k)

ge=thetae(1:ng+1,k)';fe=thetae(ng+2:ng+nf+2,k)';ce=[1thetae(ng+nf+3:ng+nf+nc+2,k)'];if abs(ce(2))>0.9

end ce(2)=sign(ce(2))*0.9;

if fe(1)

u(k)=(-Q(1)*CQ(2:nc+nq+1)*uk(1:nc+nq)/fe(1)-FP(2:np+nf+1)*uk(1:np+nf). ..

+CR*[yr(k+d:-1:k+d-min(nc+nr,d));yrk(1:nr+nc-d)]...

for i=d:-1:2

end -GP*[y(k);yk(1:np+ng)])/(Q(1)*Q(1)/fe(1)+fe(1));thetaek(:,i)=thetaek(:,i-1);

thetaek(:,1)=thetae(:,k);

for i=d+nf:-1:2

end uk(i)=uk(i-1);

uk(1)=u(k);for i=d+ng:-1:2

end yk(i)=yk(i-1);

yk(1)=y(k);for i=nc:-1:2yek(i)=yek(i-1);yrk(i)=yrk(i-1);xik(i)=xik(i-1);end if nc>0yek(1)=ye;yrk(1)=yr(k);

end xik(1)=xi(k);

end figure(1)plot(time,yr(1:L),'r:',time,y); xlabel('k' );ylabel('y_r(k)、y(k)');

title(' 实际输出跟踪期望输出图' ); axis([0L -2020]);

figure(2)legend(' 模型输出y_r(k)', ' 实际输出y(k)'); plot(time,u);xlabel('k' );ylabel('u(k)'); title(' 控制量变化图' ); axis([0L -1010]);

figure(3)plot([1:L],thetae(1:ng+1,:),[1:L],thetae(ng+nf+3:ng+nf+nc+2,:));xlabel('k' );ylabel(' 参数估计g 、c' ); legend('g_0', 'g_1', 'c_1'); axis([0L -11]);

figure(4)plot([1:L],thetae(ng+2:ng+2+nf,:));xlabel('k' );ylabel(' 辨识参数f' ); legend('f_0', 'f_1', 'f_2', 'f_3', 'f_4'); axis([0L -24]);


相关文章

  • 电加热炉的系统辨识与自适应控制
  • 电加热炉的系统辨识与自适应控制 目 录 一.电加热炉的先验知识......................................................................................... ...查看


  • 先进控制技术及应用
  • 先进控制技术及应用 作者: 发布时间:2008-02-04 04:04:41 来源: 繁体版 访问数: 4857 在工业生产过程中,一个良好的控制系统不但要保护系统的稳定性和整个生产的安全,满足一定约束条件,而且应该带来一定的经济效益和社会 ...查看


  • 反馈干扰系统的自校正控制方法
  • 第22卷 第6期 2010年12月 海军工程大学学报 JO U RN A L OF NA V A L U NI VERSIT Y O F EN GIN EERIN G Vo l. 22 No. 6 Dec. 2010 DOI:10. 396 ...查看


  • 测绘工程专业英语翻译(英文版)
  • 一种基于二维图像信息的三维地形测量 翻译:杜雷 班级:测绘一班 学号:[1**********]0 [摘要] 研究目的:利用数字图像测量技术对河流模型实验中的河床地形测量研究.创新要点:以高质量的图像径向畸变校正为基础,依据多幅图像间映射换 ...查看


  • 系统辨识-最小二乘法
  • 最小二乘法参数辨识 201403027 摘 要:系统辨识在工程中的应用非常广泛, 系统辨识的方法有很多种, 最小 二乘法是一种应用极其广泛的系统辨识方法. 阐述了动态系统模型的建立及其最小二乘法在系统辨识中的应用, 并通过实例分析说明了最小 ...查看


  • 统计学术语中英文对照
  • population 母体 sample 样本 census 普查 sampling 抽样 quantitative 量的 qualitative/categorical质的 discrete 离散的 continuous 连续的 popu ...查看


  • 统计学常用英语词汇
  • Absolute deviation, 绝对离差 Absolute number, 绝对数 Absolute residuals, 绝对残差 Acceleration array, 加速度立体阵 Acceleration in an arb ...查看


  • 张晓峒Eviews使用教程简易版(清晰word版)
  • 计量经济学软件包Eviews 使用说明 一.启动软件包 假定用户有Windows95/98的操作经验,我们通过一个实际问题的处理过程,使用户对EViews 的应用有一些感性认识,达到速成的目的. 1. Eviews 的启动步骤: 进入Win ...查看


  • 空间数据误差校正
  • 摘 要 主要介绍了图形输入过程中引起误差的原因.误差校正的原理及一些常用的误差校正方法,特别是在MAPGIS 中应用的分块误差校正方法,实践表明效果很好,最后还简要地介绍了图形精度的评价. 关键词 数字化,控制点,误差校正,数据精度. 中图 ...查看


热门内容