function [y,a,weights]=train_CMAC_opt(InpPat,TarPat,n_fun,weights,Inter,num_knot,n_fun_over,disp_matrix,gener); a=out_basis(InpPat,n_fun,Inter,num_knot,n_fun_over,disp_matrix,gener); weights=pinv(a)*TarPat; y=a*weights;