# Maximum error in not-a-knot spline of bessel function

1. Jul 25, 2014

### Maylis

1. The problem statement, all variables and given/known data
If you didn't already, download splineFunctions.zipView in a new window. This contains the splineE7.p and splinevalueE7.p function files.

The syntax is as follows: If Xdata and Ydata are vectors with the same number of elements, then four various splines can be created as

Code (Text):
SN = splineE7(Xdata,Ydata,'N');        % Natural
SK = splineE7(Xdata,Ydata,'K');        % not-a-knot
SP = splineE7(Xdata,Ydata,'P');        % Periodic
SE = splineE7(Xdata,Ydata,'E',v1,vN);  % end-slope
If xG is an array, then the various splines can be evaluated at the values in xG using splinevalueE7, for example

Code (Text):
yG = splinevalueE7(S,xG)
where S is one of the created splines.

Define a function using Bessel functions of the 2nd kind, which is the solution to an important differential equation arising in acoustics and other engineering disciplines. Define a function f via an anonymous function,

Code (Text):
f = @(x) besselj(x,2);
Consider a not-a-knot-spline fit to the function $f(x)$, using 10 points, with $\left\{ x_i \right\}_{i=1}^{10}$ linearly spaced from 0 to 2. Associated with this spline, compute the maximum absolute value of the error, evaluated on a denser grid, with 500 points linearly spaced from 0 to 2. Which of the numbers below is approximately equal to that maximum absolute error?

Now consider a natural spline fit to the function $f(x)$, using 10 points, with $\left\{ x_i \right\}_{i=1}^{10}$ linearly spaced from 0 to 2. Associated with this spline, compute the maximum absolute value of the error, evaluated on a denser grid, with 500 points linearly spaced from 0 to 2. Which of the numbers below is approximately equal to that maximum absolute error?

2. Relevant equations

3. The attempt at a solution
Code (Text):
f = @(x) besselj(x,2);
x = linspace(0,2,10);
S = splineE7(x,f(x),'K')
S =

Coeff: [4x9 double]
x: [0 0.2222 0.4444 0.6667 0.8889 1.1111 1.3333 1.5556 1.7778 2]
y: [1x10 double]
I don't understand how to find the maximum error. I uploaded the p-files for the spline functions.

#### Attached Files:

• ###### splineFunctions.zip
File size:
1.2 KB
Views:
65
Last edited: Jul 25, 2014
2. Jul 26, 2014

### AlephZero

I think they want you to estimate the error numerically, not by trying to do some clever math.

Evaluate the splines and the Bessel function at 500 points in the interval, and find the biggest absolute difference.

3. Jul 26, 2014

### Maylis

How would I do that? None of the inputs in either splineE7 or splinevalueE7 are points in the interval.

4. Jul 26, 2014

### AlephZero

Your variable S contains all data about the spline. You don't need to know the details of what it contains, but from what you printed out, it's a reasonable guess that the "x" values you printed out are 10 points between 0 and 2.

Splineval takes two arguments, the variable S, and an array of X values (i.e. the x coordinate of the 500 points between 0 and 2). It returns the y coordinates of the points on the spline.

5. Jul 26, 2014

### Maylis

Okay I got it, thanks