function [y,a,c,sig,w]=rbf_clust(InpPat,TarPat, n_cent,alfa) [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 % Clustering change=1; while change c_old=c; change=0; for i=1:m x=InpPat(i,:); d=norm(x_max-x_min); for j=1:n_cent dist=norm(x-c(j,:)); if distd_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;