Loading [MathJax]/jax/output/HTML-CSS/jax.js

Friday, February 8, 2019

Simple normal splines examples


In this post we illustrate the normal spline interpolation approach with a few simple examples.
Let there is the following information of a smooth function φ(x,y),(x,y)R2:
φ(0,0)=0,φx(0,0)=1,φy(0,0)=1,
and it is necessary to reconstruct φ using this data.
Assume this function is an element of Hilbert space H2.5ε(R2), thus it can be treated as a continuously differentiable function φC1(R2), and construct a normal spline σ(2.5)1 approximating φ:
σ(2.5)1=argmin{φ2H2.5ε:(1),(2),(3),φH2.5ε(R2)}.
This spline can be presented as
σ(2.5)1=μ1h1+μ1h1+μ2h2,
here
h1(η1,η2,ε)=exp(εη21+η22)(1+εη21+η22),h1(η1,η2,ε)=ε2exp(εη21+η22)(η1+η2),h2(η1,η2,ε)=h1(η1,η2,ε), (η1,η2)R2,
and coefficients (μ1,μ1,μ2) are defined from the system (see the previous post):
[10002ε20002ε2][μ1μ1μ2]=[011].
Eventually
σ(2.5)1(x,y,ε)=exp(εx2+y2)(x+y),(x,y)R2.
Fig.1 Spline σ(2.5)1,ε=1

Fig.2 Spline σ(2.5)1,ε=0.1

Now let function φ(x,y),(x,y)R2 is a twice continuously differentiable function which satisfies constraints:
φ(0,0)=0,φx(0,0)+φy(0,0)=2.
We approximate it by constructing a normal spline σ(3.5)1 in H3.5ε(R2)
σ(3.5)1=argmin{φ2H3.5ε:(11),(12),φH3.5ε(R2)},σ(3.5)1=μ1h1+μ1h1,
where
h1(η1,η2,ε)=exp(εη21+η22)(3+3εη21+η22+ε2(η21+η22)),h1(η1,η2,ε)=ε2exp(εη21+η22)(1+εη21+η22)(η1+η2),
and coefficients (μ1,μ1) are defined from the system:
[3002ε2][μ1μ1]=[02].
Therefore
σ(3.5)1(x,y,ε)=exp(εx2+y2)(1+εx2+y2)(x+y),(x,y)R2.

As the last example consider a problem of reconstructing a continuously differentiable function φ(x),xR, which satisfies constraint
dφdx(0)=1,
and it is closest to function z(x)=2x,xR. We approximate it by constructing a normal spline σ(2)1 in H2ε(R):
σ(2)1=argmin{φz2H2ε:(19),φH2ε(R)},σ(2)1=z+μ1h1=2x+μ1h1,
Performing calculations analogous to previous ones, we'll receive:
σ(2)1(x,ε)=2xxexp(ε|x|),xR.


No comments:

Post a Comment