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

📄 rls_rels.m

📁 这是黑龙江大学自控理论专业同学编写的二段递推最小二乘法!
💻 M
字号:
%**********RLS-RELS改进递推增广最小二乘估计算法(例2.3.1)**********
%**********cite为估值*********
clear;

M=600;
randn('seed',4);
e=sqrt(1)*randn(1,M+50);
y(1)=0;y(2)=0;

for t=1:M+20
    y(t+2)=1.4*y(t+1)-0.45*y(t)+e(t+2)-0.3*e(t+1);
end

%********用RLS算法拟合高阶AR模型(n阶)***********
n=5;
fai1(:,1)=zeros(1,n)'; B(:,1)=zeros(1,n)';P=eye(n)*9999;
%*******递推过程*******
for t=1:M
    fai1(2:n,t+1)=fai1(1:n-1,t);
    fai1(1,t+1)=-y(t);
    
    r=1/(1+fai1(:,t+1)'*P*fai1(:,t+1));
    B(:,t+1)=B(:,t)+r*P*fai1(:,t+1)*(y(t+1)-fai1(:,t+1)'*B(:,t));
    P=P-r*(P*fai1(:,t+1))*(P*fai1(:,t+1))';
end

%********RLS-RELS改进递推增广最小二乘估计算法*********
fai(:,1)=[0,0,0]';cite(:,1)=[0,0,0]';P=eye(3)*9999;efang(1)=0;

for t=1:M
    ej(t)=y(t)-fai1(:,t)'*B(:,t+1);
    efang(t+1)=efang(t)+1/(t+1)*(ej(t)^2-efang(t)^2);
    if t-1<=0
       fai(:,t+1)=[-y(t),0,ej(t)]';   
      else 
          fai(:,t+1)=[-y(t),-y(t-1),ej(t)]';
    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.4;
b(1:M)=0.45;
c(1:M)=-0.3;
e(1:M)=1;
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');
figure;
subplot(2,2,1)
title('参数c的收敛图');
plot(t,c(t),t,cite(3,t),'r');
subplot(2,2,2)
title('方差e的收敛图');
plot(t,e(t),t,efang(t),'r');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -