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

AI Thread Summary
The discussion focuses on implementing a not-a-knot spline fit to the Bessel function of the second kind and calculating the maximum absolute error. Users are instructed to use provided function files to create splines from a set of 10 linearly spaced points and evaluate them on a denser grid of 500 points. The main challenge is determining the maximum error between the spline and the actual function values. Participants clarify that the error can be computed by evaluating both the spline and the Bessel function at the denser grid and finding the largest absolute difference. The conversation emphasizes the numerical approach to estimating the error rather than relying on analytical methods.
gfd43tg
Gold Member
Messages
947
Reaction score
48

Homework Statement


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:
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:
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:
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?

Homework Equations


The Attempt at a Solution


Code:
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.
 

Attachments

Last edited:
Physics news on Phys.org
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.
 
How would I do that? None of the inputs in either splineE7 or splinevalueE7 are points in the interval.
 
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.
 
Okay I got it, thanks
 
Back
Top