📄 vrls.m
字号:
%VRLS Volterra RLS algorithm%% 'ifile.mat' - input file containing:% Nr - members of ensemble% dim - iterations% Sx - standard deviation of input% Sn - standard deviation of measurement noise% lambda - exponential weighting factor% % 'ofile.mat' - output file containing:% MSE - mean-square errorclear all % clear memoryload ifile; % read input variablesfor j=1:Nr n=Sn*randn(dim,1); % noise at system output x=Sx*randn(dim,1); % input signal xl1=zeros(dim,1); xl2=xl1; xl1(2:dim)=x(1:dim-1); xl2(3:dim)=x(1:dim-2); d=zeros(dim,1); d=-.76*x-xl1+xl2+.5*x.^2+2*x.*xl2-1.6*xl1.^2+1.2*xl2.^2+.8*xl1.*xl2+n; ... % unknown system output w=zeros(9,dim); % initial coefficient vector uxl=[x xl1 xl2 x.^2 x.*xl1 x.*xl2 xl1.^2 xl1.*xl2 xl2.^2]'; % input vectors Sd=eye(9); for i=1:dim elinha(i)=d(i)-w(:,i)'*uxl(:,i)+n(i); % error sample psi=Sd*uxl(:,i); Sd=(1/lambda)*(Sd-(psi*psi')/(lambda+psi'*uxl(:,i))); w(:,i+1)=w(:,i)+elinha(i)*Sd*uxl(:,i); % new coefficient vector y(i)=w(:,i+1)'*uxl(:,i); % output sample e(i)=d(i)-y(i)+n(i); end mse(j,:)=e.^2;endMSE=mean(mse);save ofile MSE;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -