📄 rls4.m
字号:
%RLS4 Problem 1.1.2.2
%
% 'ifile.mat' - input file containing:
% I - members of ensemble
% K - iterations
% sigmax - standard deviation of input
% lambdaW, sigmaW - parameters of first-order Markov
% processes which generate Wo
% Wo0 - initial coefficient vector of plant
% sigman - standard deviation of measurement noise
% lambda - forgetting factor
%
% 'ofile.mat' - output file containing:
% ind - sample indexes
% texcMSE - total excess MSE
clear all % clear memory
load ifile; % read input variables
L=length(Wo0); % plant and filter length
N=L-1; % plant and filter order
delta=1/sigmax^2; % initialization factor for SD
ilambda=1/lambda; % auxiliary constant
MSE=zeros(K,1); % prepare to accumulate MSE*I
minMSE=zeros(K,1); % prepare to accumulate minMSE*I
for i=1:I, % ensemble
X=zeros(L,1); % initial memory
SD=delta*eye(L);
% initial inverse of deterministic correlation matrix
Wo=Wo0; % initial coefficient vector of plant
W=zeros(L,1); % initial coefficient vector
x=randn(K,1)*sigmax; % input
nW=randn(L,K)*sigmaW;
% input to Markov processes which generate Wo
n=randn(K,1)*sigman; % measurement noise
for k=1:K, % iterations
X=[x(k)
X(1:N)]; % new input vector
Wo=lambdaW*Wo+nW(:,k);
% new coefficient vector of plant
d=Wo'*X; % desired signal sample
ep=d+n(k)-W'*X; % a priori error sample
psi=SD*X;
SD=ilambda*(SD-psi*psi'/(lambda+psi'*X));
% new inverse of deterministic correlation matrix
W=W+ep*SD*X; % new coefficient vector
MSE(k)=MSE(k)+ep^2; % accumulate MSE*I
minMSE(k)=minMSE(k)+(n(k))^2; % accumulate minMSE*I
end
end
ind=0:(K-1); % sample indexes
texcMSE=(MSE-minMSE)/I; % calculate total excess MSE
save ofile ind texcMSE; % write output variables
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -