⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rls.m

📁 这是黑龙江大学自控理论专业同学在最优估计课程当中用matlab编写的带遗忘因子的最小二乘法!
💻 M
字号:
%**********带遗忘因子的最小二乘估计算法(例2.1.2)**********
%**********a(t),b(t)为真实参数,cite为估值,lamda为遗忘因子*********


clear;
randn('seed',1);
e=sqrt(0.81)*randn(1,2020);
u=unifrnd(-1,1,1,2020);
a(1:1000)=-0.9;b(1:1000)=3;a(1001:2010)=0.9;b(1001:2010)=1;
y(1)=0;
lamda=0.99;

for t=1:2000
    y(t+1)=a(t)*y(t)+b(t)*u(t)+e(t);
end

fai(:,1)=[0,0]'; cite(:,1)=[0;0];P=eye(2)*9999;
%********带遗忘因子的自小二乘估计算法*********
for t=1:2000
    fai(:,t+1)=[y(t),u(t)]';
    cite(:,t+1)=cite(:,t)+P*fai(:,t+1)*(y(t+1)-fai(:,t+1)'*cite(:,t))/(lamda+fai(:,t+1)'*P*fai(:,t+1));
    P=(P-(P*fai(:,t+1))*(P*fai(:,t+1))'/(lamda+fai(:,t+1)'*P*fai(:,t+1)))/lamda;
end
t=1:2000;
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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -