资源简介

遗忘因子递推最小二乘参数估计,用于识别系统,MATLAB程序

资源截图

代码片段和文件信息

%遗忘因子递推最小二乘参数估计(FFRLS)
clear all; close all;

a=[1 -1.5 0.7]‘; b=[1 0.5]‘; d=3; %对象参数
na=length(a)-1; nb=length(b)-1; %na、nb为A、B阶次

L=1000; %仿真长度
uk=zeros(d+nb1); %输入初值:uk(i)表示u(k-i)
yk=zeros(na1); %输出初值
u=randn(L1); %输入采用白噪声序列
xi=sqrt(0.1)*randn(L1); %白噪声序列

thetae_1=zeros(na+nb+11); %thetae初值
P=10^6*eye(na+nb+1);
lambda=0.98; %遗忘因子范围[0.9 1]
for k=1:L
    if k==501
        a=[1 -1 0.4]‘;b=[1.5 0.2]‘; %对象参数突变
    end
    theta(:k)=[a(2:na+1);b]; %对象参数真值
    
    phi=[-yk;uk(d:d+nb)];
    y(k)=phi‘*theta(:k)+xi(k); %采集输出数据
   
    %遗忘因子递推最小二乘法
    K=P*phi/(lambda+phi‘*P*phi);
  

评论

共有 条评论