rels.asv
来自「这是黑龙江大学自控理论专业同学在最优估计课程当中用matlab编写的带遗忘因子的」· ASV 代码 · 共 34 行
ASV
34 行
%**********递推增广最小二乘估计算法(例2.2.1)**********
%**********cite为估值*********
M=600;
clear;
randn('seed',1);
e=sqrt(0.81)*randn(1,M+50);
y(1)=0;y(2)=0;
for t=1:M+20
y(t+2)=-1.3*y(t+1)-0.4*y(t)+e(t+2)-1.1*e(t+1)+0.3*e(t);
end
fai(:,1)=[0,0,0,0]';cite(:,1)=[0;0;0;0];P=eye(4)*9999;
%********带遗忘因子的最小二乘估计算法*********
for t=1:M
ej(t)=y(t)-fai(:,t)'*cite(:,t);
if t-1<=0
fai(:,t+1)=[y(t),0,ej(t),0]';
else
fai(:,t+1)=[y(t),y(t-1),ej(t),ej(t-1)]';
end
cite(:,t+1)=cite(:,t)+P*fai(:,t+1)*(y(t+1)-fai(:,t+1)'*cite(:,t))/(1+fai(:,t+1)'*P*fai(:,t+1));
P=P-(P*fai(:,t+1))*(P*fai(:,t+1))'/(1+fai(:,t+1)'*P*fai(:,t+1));
end
t=1:M;
a(1:M)=-1.3;
b(1:M)=-0.4;
subplot(2,2,1)
title('参数a的收敛图');
plot(t,a(t),t,cite(1,t),'r');
subplot(2,2,2)
title('参数b的收敛图');
plot(t,b(t),t,cite(2,t),'r');
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?