n=50; s=1000; x=linspace(-3,3,n)';
pix=pi*x; y=sin(pix)+o.1*x+0.05*randn(n,1);
hh=2*0.3^2;t0=randn(n,1);e=0.1;
for o=1:n*1000
i=ceil(rand*n);
ki=exp(-(x-x(i)).^2/hh);t=t0-e*ki*(ki'*t0-y(i));
if=norm(t-t0)<0.000001,break,
end
K=exp(-(repmat(X.^2,N,1)-2*X*x')/hh;
F=K*t;
figure(1); c1f; hold on ;axis([-2.8 2.8 -0.5 1.2]);
plot(X, F, '-g'); plot(x, y, 'bo
梯度法的收敛速度强烈依赖与梯度下降的步幅以及收敛结果的判断方法,nrom(t-t0<0.000001)如果合理调整这个值,收敛速度会一定程度内提高,这个一般比较困难,需要从大到小逐步优化。