资源描述
a=1 -1.5 0.7;b=1 0.5;d=3; %对象参数 na=length(a)-1;nb=length(b)-1; %计算阶次L=1000;%数据长度uk=zeros(d+nb,1);yk=zeros(na,1); %输入输出初值u=randn(L,1); %输入采用方差为 1 的白噪声序列xi=sqrt(0.1)*randn(L,1); % 方差为 0.1 的白噪声干扰序列 %theta=a(2:na+1);b; %对象 参数真值thetae_1=zeros(na+nb+1,1); %参数初值P=10人6*eye(na+nb+1);lambda=0.98; %遗忘因子范围0.9 1for k=1:Lif k=501a=1 -1 0.4;b=1.5 0.2; %对象参数突变endtheta(:,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); thetae(:,k)=thetae_1+K*(y(k)-phi*thetae_1);P=(eye(na+nb+1)-K*phi)*P/lambda; %更新数据thetae_1=thetae(:,k);for i=d+nb:-1:2uk(i)=uk(i-1);enduk(1)=u(k);for i=na:-1:2yk(i)=yk(i-1);endyk(1)=y(k);endsubplot(2,1,1); plot(1:L,thetae(1:na,:);hold on;plot(1:L,theta(1:na,:),k:);xlabel(k);ylabel(参数估计 a); legend(a_1,a_2);axis(0 L-2 2);subplot(2,1,2);plot(1:L,thetae(na+1:na+nb+1,:);hold on; plot(1:L,theta(na+1:na+nb+1,:),k:);xlabel(k);ylabel(参数估计 b); legend(b_0,b_1);axis(0 L-0.5 2);出图遗忘因子为 0.98遗忘因子为1Figure 1文件垢濒ElJftAfl)工具E蛊面SftlCH)吕p输很.|鹫痕/|對口凰T 归
展开阅读全文