Question: Solve in python please When working with functions on finite domains, it is often convenient to approximate the function as a polynomial. The reason is

Solve in python please

Solve in python please When working with functions on finite domains, it

is often convenient to approximate the function as a polynomial. The reason

is that the rules of calculus are much easier when working with

polynomials than with general functions. Now, an nth-order polynomial p(x)=a0+a1x+a2x2+anxn is uniquely

defined by n+1 point, which specify the n+1 coefficients of the polynomial.

Therefore, we can find an approximating polynomial of order n by fitting

When working with functions on finite domains, it is often convenient to approximate the function as a polynomial. The reason is that the rules of calculus are much easier when working with polynomials than with general functions. Now, an nth-order polynomial p(x)=a0+a1x+a2x2+anxn is uniquely defined by n+1 point, which specify the n+1 coefficients of the polynomial. Therefore, we can find an approximating polynomial of order n by fitting it to n+1 points of the original function. Now, it turns out that approve polynomial representation is not numerically stable, especially when working with higher-order polynomials. better solution is to use Chebyshev polynomials. which have the form p(x)=c0T0+c1T1(x)+c2T2(x)++cnTn(x) where Ti(x) is a Chebychev polynomial of order i. These polynomials (of the first kind) are defined as: T0(x)=1T1(x)=xT2(x)=2x21Tn(x)=2xTn1(x)Tn1(x) In addition to using a different form of the polynomial, it also matters how we choose the n+1 points, known as collocation points, for fitting the polynomial to the function: (e.g. f(xi)=p(xi) for i=0,,n). If we assume that the domain is [1,1] (good for numerical stability), the optimal choice of n+1 points is xi=cos(i for i=0,,n. We can then fit a Chebychev polynomial to a function as illustrated in the code below. as illustrated in the code below: This code with generate the figure below (note that the two curves overlap). In general, more points yields a better fit to the function though at some point you will run into numerical issues. Given a polynomial representation of the function, we can determine the functions derivative and integral using the functions (chebder) and chebint, respectively. Similar to Homework 2 , these functions return the coefficients for the derivative and integral of the polynomial. Now, you task is to plot the derivative of the function f(x)=sin2(6x) on the domain [1,1] by fitting the function f(x) is a Chebyshev polynomial of order n. Then use chebdev to determine the derivative of f(x). First, compare the exact derivative (df(x)=12sin(6x)cos(6x)) to the one generated using a 10 th order Chebyshev polynomial. You should generate the following plot. Next, compare the accuracy of the derivative for various values of n. The error is given by the maxidf(xi)pd(xi) for 1000 equally spaced points between 1 and 1 . Here, df(x) refers to the exact derivative and pd(x) the approximate one determined using chebder. You should generate the following plot. Notice how fast the error decreases with increasing n. This is known as spectral accuracy. Last, use chebint to determine the integral: 11sin2(6x)dx The exact integral is given by 2x241sin(12x). Compare the results for the definite integral using chebint versus the exact answer (do not use quad) as a function of n. You should generate the following plot (where the error is the absolute value of the exact and approximate answer). Notice again how fast the error decreases with increasing n

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Chemical Engineering Questions!