1 / 3
文档名称:

递推最小二乘参数估计.doc

格式:doc   页数:3页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

递推最小二乘参数估计.doc

上传人:zhangbing32159 2015/5/12 文件大小:0 KB

下载得到文件列表

递推最小二乘参数估计.doc

文档介绍

文档介绍:递推最小二乘参数估计(RLS)
考虑如下系统:
式中x(k)。
采用方差为1的白噪声序列作为输入信号u(k):
clear all; close all;
a=[1 - ]';b=[1 ]';d=3; %对象参数
na=length(a)-1;nb=length(b)-1; %计算阶次
L=500; %数据长度
uk=zeros(d+nb,1);yk=zeros(na,1); %输入输出初值
u=randn(L,1); %输入采用方差为1的白噪声序列
xi=sqrt()*randn(L,1); %
theta=[a(2:na+1);b]; %对象参数真值
thetae_1=zeros(na+nb+1,1); %参数初值
P=10^6*eye(na+nb+1);
for k=1:L
phi=[-yk;uk(d:d+nb)]; %此处phi为列向量
y(k)=phi'*theta+xi(k); %采集输出数据

%递推公式
K=P*phi/(1+phi'*P*phi);
thetae(:,k)=thetae_1+K*(y(k)-phi'*thetae_1);
P=(eye(na+nb+1)-K*phi')*P;

%更新数据
thetae_1=thetae(:,k);

for i=d+nb:-1:2
uk(i)=uk(i-1);
end
uk(1)=u(k);

for i=na:-1:2
yk(i)=yk(i-1);
end
yk(1)=y(k);
end
plot([1:L],thetae); %line([1:L],[theta,theta]);
xlabel('k');ylabel('参数估计a,b');
legend('a_1','a_2','b_0','b_1');
axis([0 L -2 2]);
thetae =
-