function [y,a,c,sig,w]=rbf_fc(InpPat,TarPat, n_cent) [m,n]=size(InpPat); x_min=min(InpPat); x_max=max(InpPat); c=rand(n_cent,n); for i=1:n c(:,i)=(c(:,i)+(x_min(i)+x_max(i))/2-0.5)*(x_max(i)-x_min(i)); end d_max=0; for i=1:n_cent for j=i+1:n_cent d=norm(c(i,:)-c(j,:)); if d>d_max d_max=d; end end end sig=d_max/sqrt(2*n_cent); for i=1:n_cent a(:,i)=rbf(c(i,:),sig,InpPat)'; end; w=pinv(a)*TarPat; y=a*w;