Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lecture 11 Chap. 15. Outline-1 15.1 Interpolation – 15.1.1 Linear Interpolation – 15.1.2 Cubic Spline Interpolation – 15.1.3 Extrapolation 15.2 Curve.

Similar presentations


Presentation on theme: "Lecture 11 Chap. 15. Outline-1 15.1 Interpolation – 15.1.1 Linear Interpolation – 15.1.2 Cubic Spline Interpolation – 15.1.3 Extrapolation 15.2 Curve."— Presentation transcript:

1 Lecture 11 Chap. 15

2 Outline-1 15.1 Interpolation – 15.1.1 Linear Interpolation – 15.1.2 Cubic Spline Interpolation – 15.1.3 Extrapolation 15.2 Curve Fitting – 15.2.1 Linear Regression – 15.2.2 Polynomial Regression

3 Outline-2 15.3 Numerical Integration – 15.3.1 Determination of the Complete Integral – 15.3.2 Continuous Integration Problems 15.4 Numerical Differentiation – 15.4.1 Difference Expressions – 15.4.2 MATLAB Implementation

4 Interpolation We have at least two points with independent (think, horizontal axis) and dependent (think, vertical axis) components. We have another independent component, whose value is in between the smallest and the greatest of the previous independent components. We would like to know the corresponding dependent component.

5 Methods of Estimating the Result of Interpolation Linear Piecewise-linear Polynomial Cubic Spline Interpolation via Gaussian Processes Other

6 Quality Considerations Accuracy of interpolated value Amount of work to obtain an interpolated value Amount of initial data needed …

7 Example Interpolation From http://en.wikipedia.org/wiki/Interpolation

8 Linear Interpolation If the initial points all lie on a line (y = mx + b) then use the equation of the line on newX. If there are only two initial points, they define a line.

9 Piecewise Linear Use adjacent pairs of initial points to define lines. With the point whose value is to be estimated by interpolation, choose the relevant defined line. Y = m(i) x(i) + b(i).

10 Polynomial If we had a polynomial for y in terms of x, – then, with an x to be interpolated, – we would evaluate the polynomial So, what’s left is to obtain a polynomial – For n points, there is one polynomial of degree n- 1 that touches all of the points – Can be computationally complex to find it

11 Spline Piecewise – polynomial – Low degree polynomials for intervals between furnished points – Connection from one interval to the next smooth Smaller error than linear interpolation (if linear is not perfect) Less work than perfect polynomial (if “real” polynomial is of higher degree than that of spline)

12 Cubic Spline The curve between each pair of points is a third-degree polynomial. There is a parameter t that varies from 0 to 1, and the distance from the starting point to the ending point goes from 0 to 100%. X = at 3 + b t 2 + c t + d Y = et 3 + f t 2 + g t + h So, need to know the values of a, b, …h

13 How to … Linear X = [ the independent axis values] Y = [the dependent axis values] Only works when X, Y pairs are all on the same line. answer_y = interp1(x,y, target_x)

14 How to…Piecewise Linear X = [ the independent axis values] Y = [the dependent axis values] whichInterval = 0; for i = 1:length(X) if target_x > X(i) – whichInterval = whichInterval+1; end Interval_x = [ x(whichInterval) x(whichInterval+1)] Interval_y = [ y(whichInterval) y(whichInterval+1)] answer_y = interp1(Interval_x, Interval_y, target_x)

15 How to…Cubic Spline answer_y = spline(x, y, target_x)

16 15.1.3 Extrapolation This is where one tries to guess beyond the limits of the available data. Be aware that error in this process can be significant. Cannot use interp1 Can use spline

17 15.2 Curve Fitting In polynomial interpolation we observed that for n points there is a polynomial of degree n-1 that includes all of the points. Suppose we believe that the points are not perfect, as in measured data. Suppose we choose a degree of polynomial less than n, and then choose some coefficients for the polynomial, such that the difference between the measured data and the resulting polynomial is “minimized”.

18 Polynomial Curve Fitting-1 Degree of polynomial is the largest exponent Polynomial in x: – f(x) = ax n + bx n-1 + cx n-2 … dx + e – has degree n – has n+1 coefficients – so, with n+2 choices, the polynomial is determined Choose/guess the degree from information about the problem.

19 Polynomial Curve Fitting -2 What constitutes a “good” fit, for a particular choice of degree, n? Least squares is one kind of measure of how good the fit is. If for each point x,y, we take the difference between the y of the point and the y of the polynomial curve, square the difference (yields a positive number) and add up all those squared differences, we get a measure of goodness of fit called least squares.

20 Linear Regression If in curve fitting, we choose the degree n to be 1, we are fitting by linear regression. To get MATLAB to determine the coefficients, we call polyfit with n=1, which looks like polyfit(x,y,1) Polyfit returns the coefficients in linearly decreasing order of power of the variable in the polynomial. If n = 1, f(x)= ax+b, and the first coefficient returned is a, and the second is b.

21 Polynomial Regression Suppose we choose a degree of polynomial, called n, > 1. There will be more coefficients. For example, n=3, the number of coefficients will be 4. coef = polyfit (x, y, n) Now that coef is set, it can be used. New_y = polyval(coef, new_y)

22 More degrees of freedom yields closer fit function viewFits() x = 0:5; fine_x = 0:.1:5; y = [0 20 60 68 77 110]; for order = 2:5 y2=polyval(polyfit(x,y,order), fine_x); subplot(2,2,order-1) plot (x,y,'o', fine_x, y2) axis([-1 7 -20 120]) ttl = sprintf('Degree %d Polynomial Fit',... order); title(ttl) xlabel('Time (sec)') ylabel('Temperature (degrees F)') end

23 15.3 Numerical Integration Using piecewise linear technique – Add areas from trapezoidal rule – K T = (b – a)/2n)(f(a) + 2f(x 1 ) + 2f(x 2 )… + 2f(x n-1 ) + f(b)) Using piecewise parabolic technique – Add areas from Simpson’s rule – K S = (b – a)/2n)(1/3)(f(a) + 4f(x 1 ) + 2f(x 2 ) + 4f(x 3 )+ … + 2f(x n-2 ) + 4f(x n-1 ) + f(b))

24 Numerical Integration Code function K = trapezoid(v,a,b) %h = trapezoid(v,a,b) K=(b-a)*(v(1)+v(end)+... 2*sum(v(2:end-1)))/(2*(length(v)-1)); function K = simpson(v,a,b) %h = simpson(v,a,b) K=(b-a)*(v(1)+v(end)+… 4*sum(v(2:2:end-1))+… 2*sum(v(3:2:end-2)))/ (3*length(v)-1));

25 Numerical Differentiation Forward difference: f’(x k ) = (f(x k ) – f( x k-1 ))/(x k – x k-1 ) Backward difference: f’(x k ) = (f(x k+1 ) – f( x k ))/(x k+1 – x k ) Centered difference: f’(x k ) = (f(x k+1 ) – f( x k-1 ))/(x k+1 – x k-1 ) Both forward and backward differences are first- order. They take differences of adjacent terms.

26 MATLAB function diff function diff returns a vector of differences between adjacent terms v(2)-v(1), v(3)-v(2), … Which of forward, backward is this? Could it be used for either one? Suppose we wanted centered. Could we use diff? Would we need to prepare by a step?

27 Forward Difference Code x=-7:0.1:9; f = polyval([0.0333,-0.3,-1.3333,16,0,-187.2,0],x); plot(x,f) hold on df = diff(f)./diff(x) plot(x(2:end),df, ‘g’) grid legend({‘f(x)’,’f ‘’(x)’})


Download ppt "Lecture 11 Chap. 15. Outline-1 15.1 Interpolation – 15.1.1 Linear Interpolation – 15.1.2 Cubic Spline Interpolation – 15.1.3 Extrapolation 15.2 Curve."

Similar presentations


Ads by Google