资源简介
遗忘因子递推最小二乘参数估计,用于识别系统,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);
- 上一篇:各种自适应算法的matlab仿真
- 下一篇:D搜索算法matlab实现GUI
评论
共有 条评论