In Matlab (diary on), do the following: 1. Generate N+1=11 equi-spaced nodes Xi in the...

50.1K

Verified Solution

Question

Advance Math

In Matlab (diary on), do the following: 1. Generate N+1=11 equi-spaced nodes Xi in the interval [?5,5]:     X = [-5:1:5];  (to see values, omit the ;)  or   X = linspace(-5,5,11);  and evaluate f(x) at these nodes:     Y = 1./(1+X.^2);  The N+1 points (Xi, Yi) are the data points to be interpolated by various methods.  Plot them to see where they are:     plot(X,Y,'o')     title('N+1 = 11 equi-spaced points of Runge function')     pause   Also generate lots of points xi at which to evaluate f(x) and the interpolants for plotting:     x = [-5:0.1:5];  (this is a lower case x, not X)  Evaluate f(x) at these xi's and plot y=f(x) and the data points:     plot(x,y,'-', X,Y,'o')     title('Runge f(x) and data pts')     pause Now, we use the data points (Xi, Yi) to construct various interpolants.A good interpolant should "reproduce" the function f(x) as close as possible. Let's try a few.2. Nth degree interpolating polynomial:  Use Matlab's polyinterp to construct (the coefficients of) the Nth degree interpolating polynomial (here N=10):     pN = polyfit( X,Y, N);  Now this can be evaluated anywhere in the interval [-5,5] with polyval, e.g. at the xi's:     v = polyval( pN, x);  Find the Inf-norm error ?y-v??:     err = norm(y-v, inf)  and plot both f(x) and pN(x) on the same plot:     plot(x,y,'-b', x,v,'*-r')     title('f(x) and pN(x) at plotting pts')     pause   Is this a good interpolant ? Why ?      3. Interpolation at Chebychev nodes:  Generate N+1=11 Chebychev points (Xchebi, Ychebi) in [a,b]:     fprintf('------ chebychev nodes ------')     K = N+1;     a=?5; b=5;     for i=1:K       Xcheb(i)=(a+b)/2 + (b?a)/2 *cos( (i?0.5)*pi/K );     end     Ycheb = 1./(1+Xcheb.^2);  Follow the steps in 2. to produce the Nth degree interpolating polynomial pNcheb  based on the Chebychev nodes, its values vcheb at the xi's, the error ?y ? vcheb??,  and plot both f(x) and pNcheb(x) on the same plot.  Compare the error and plot with those from 2.  Which one is better ? why ?    4. Piecewise linear interpolation:  Use Matlab's interp1 to construct the linear interpolant:     lin = interp1(X,Y, x, 'linear');   Repeat the steps of 2.  Compare errors and plots.    5. Piecewise cubic interpolation:  Use Matlab's interp1 to construct the cubic interpolant:     cub = interp1(X,Y, x, 'cubic');   Repeat the steps of 2.  Compare errors and plots.    6. Cubic spline interpolation:  Use Matlab's interp1 to construct the spline interpolant:     spl = interp1(X,Y, x, 'spline');   Repeat the steps of 2.  Compare errors and plots.    7. To see that the error gets worse for bigger N for equi-spaced nodes but not for Chebychev nodes  (for this f(x) at least), repeat 2. and 3. with N = 20.

Answer & Explanation Solved by verified expert
3.8 Ratings (664 Votes)
    See Answer
Get Answers to Unlimited Questions

Join us to gain access to millions of questions and expert answers. Enjoy exclusive benefits tailored just for you!

Membership Benefits:
  • Unlimited Question Access with detailed Answers
  • Zin AI - 3 Million Words
  • 10 Dall-E 3 Images
  • 20 Plot Generations
  • Conversation with Dialogue Memory
  • No Ads, Ever!
  • Access to Our Best AI Platform: Flex AI - Your personal assistant for all your inquiries!
Become a Member

Other questions asked by students