function [y,a,weights]=train_CMAC_NLMS(InpPat,TarPat,n_fun,weights,Inter,num_knot,n_fun_over,disp_matrix,gener,iter,neta); [m,n]=size(InpPat); for j=1:iter for i=1:m [a(i,:),ender]=out_basis(InpPat(i,:),n_fun,Inter,num_knot,n_fun_over,disp_matrix,gener); y(i)=a(i,[ender])*weights([ender]); e(i)=TarPat(i)-y(i); den=norm(a(i,[ender]))^2; for k=1:gener weights(ender(k))=weights(ender(k))+neta*e(i)*a(ender(k))'/den; end end norm(e) end