Accuracy and Stability for Collocation

u

lambda = 10;
exact = x -> sinh(lambda*x)/sinh(lambda) - 1;

p = x -> 0;
q = x -> -lambda^2;
r = x -> lambda^2; 
n = 5*[round(Int,10^d) for d in 0:.25:3];
err = zeros(size(n));
for (k,n) in enumerate(n)
    x,u = FNC.bvplin(p,q,r,[0,1],-1,0,n)    
    err[k] = norm(exact.(x)-u,Inf)
end

data = (n=n[1:4:end],err=err[1:4:end]);
pretty_table(data,["n","max-norm error"])
plot(n,err,m=:o,label="observed",
    xaxis=(:log10,L"n"), yaxis=(:log10,"max-norm error"),
    title="Convergence for a linear BVP");
plot!(n,0.25*n.^(-2),l=(:dash,:gray),label="2nd order")