Problem 2.11

basic meshfree interpolation with other RBFs

comparison between euclidean distance, Gaussians and inverse multiquadrics

f = @(x) 4*x.*(1-x);
phi = @(ep,r) exp(-(ep*r).^2); ep = 10;          % Gaussian
beta = 1; imqr = @(ep,r) (1+(ep*r).^2).^(-beta); % inverse multiquadric
M = 1000;
X_eval = linspace(0,1,M)';
N = logspace(1,2.8,20);
for k=1:20,
X = linspace(0,1,N(k))';
y = f(X);
D1 = distm(X,X); c1 = D1\y;
D2 = phi(ep,distm(X,X)); c2 = D2\y;
D3 = imqr(ep,distm(X,X)); c3 = D3\y;
D_eval1 = distm(X_eval,X);
D_eval2 = phi(ep,distm(X_eval,X));
D_eval3 = imqr(ep,distm(X_eval,X));
err_1(k) = norm(D_eval1*c1 - f(X_eval))/sqrt(M);
err_2(k) = norm(D_eval2*c2 - f(X_eval))/sqrt(M);
err_3(k) = norm(D_eval3*c3 - f(X_eval))/sqrt(M);
end
clf; loglog(N,err_1,'o-',N,err_2,'ro-',N,err_3,'mo-');
xlabel('N'); ylabel('errors');
legend('euclidean distance','Gaussians','inv. multiquadric (\beta = 1)')

Warning: Matrix is close to singular or
inaccurate. RCOND =  3.819048e-17.
Warning: Matrix is close to singular or
inaccurate. RCOND =  4.160602e-18.
Warning: Matrix is close to singular or
inaccurate. RCOND =  2.070905e-18.
Warning: Matrix is close to singular or
inaccurate. RCOND =  3.522113e-18.
Warning: Matrix is close to singular or
inaccurate. RCOND =  3.251374e-19.
Warning: Matrix is close to singular or
inaccurate. RCOND =  1.121269e-20.
Warning: Matrix is close to singular or
inaccurate. RCOND =  2.668393e-18.
Warning: Matrix is close to singular or
inaccurate. RCOND =  2.365660e-19.
Warning: Matrix is close to singular or
inaccurate. RCOND =  5.515476e-20.
Warning: Matrix is close to singular or
inaccurate. RCOND =  6.884628e-20.
Warning: Matrix is close to singular or
inaccurate. RCOND =  9.104271e-20.
Warning: Matrix is close to singular or
inaccurate. RCOND =  6.779828e-20.
Warning: Matrix is close to singular or
inaccurate. RCOND =  4.721455e-21.
Warning: Matrix is close to singular or
inaccurate. RCOND =  9.420485e-21.
Warning: Matrix is close to singular or
inaccurate. RCOND =  2.153599e-20.
Warning: Matrix is close to singular or
inaccurate. RCOND =  5.257635e-20.
Warning: Matrix is close to singular or
inaccurate. RCOND =  2.422394e-20.
Warning: Matrix is close to singular or