⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rbf.m

📁 《自适应滤波算法与实现》(第二版)源码
💻 M
字号:
%RBF Radial Basis Function algorithm%%   'ifile.mat' - input file containing:%      Nr - members of ensemble%      dim - iterations%      Nneur - number of neurons%      Sx - standard deviation of input%      Sn - standard deviation of measurement noise%      ur - convergence factor for reference vector%      uw - convergence factor for coefficient vector%      us - convergence factor for spread%%   '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 channel output    x=Sx*randn(dim,1);     % input signal   xl1=zeros(dim,1); xl2=xl1;   xl1(1)=0; xl1(2:dim)=x(1:dim-1);   xl2(1)=0; xl2(2:dim)=xl1(1:dim-1);    d=-.08*x-.15*xl1+.14*xl2+.055*x.^2+.3*x.*xl2-.16*xl1.^2+.14*xl2.^2+n; ...     % unknown system output   w=randn(Nneur,dim); w(:,1)=randn(Nneur,1);  % initial coefficient vector   vet=.5*randn(Nneur,3);                      % initial reference vector   sigma=ones(Nneur,1);                        % initial neuron spread   for i=1:dim      uxl(:,i)=[x(i) xl1(i) xl2(i)]';      % new input vector      dis=dist(uxl(:,i)',vet')';      fdis=exp(-(dis.^2)./(sigma.^2));      e(i)=d(i)-w(:,i)'*fdis;              % error sample      w(:,i+1)=w(:,i)+2*uw*e(i)*fdis;      % new coefficient vector      sigma=sigma+2*us*e(i)*fdis.*w(:,i).*(dis.^2)./(sigma.^3); % new spread       for p=1:Nneur        vet(p,:)=vet(p,:)+2*ur*fdis(p)*e(i)*w(p,i)*(uxl(:,i)'-vet(p,:))/ ...		 (sigma(p)^2); % new reference vector     end     y(i)=w(:,i)'*fdis;                    % output sample   end   mse(j,:)=e.^2;endMSE=mean(mse);save ofile MSE;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -