Lecture 11
This presentation is the property of its rightful owner.
Sponsored Links
1 / 27

Lecture 11 PowerPoint PPT Presentation


  • 84 Views
  • Uploaded on
  • Presentation posted in: General

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 Fitting 15.2.1 Linear Regression 15.2.2 Polynomial Regression. Outline-2. 15.3 Numerical Integration

Download Presentation

Lecture 11

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Lecture 11

Lecture 11

Chap. 15


Outline 1

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


Outline 2

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


Interpolation

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.


Methods of estimating the result of interpolation

Methods of Estimating the Result of Interpolation

  • Linear

  • Piecewise-linear

  • Polynomial

  • Cubic Spline

  • Interpolation via Gaussian Processes

  • Other


Quality considerations

Quality Considerations

  • Accuracy of interpolated value

  • Amount of work to obtain an interpolated value

  • Amount of initial data needed


Example interpolation

Example Interpolation

  • From http://en.wikipedia.org/wiki/Interpolation


Linear interpolation

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.


Piecewise linear

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).


Polynomial

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


Spline

Spline

  • Piecewise – polynomial

    • Low degree polynomials for intervalsbetween 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)


Cubic spline

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


How to linear

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)


How to piecewise linear

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)


How to cubic spline

How to…Cubic Spline

  • answer_y = spline(x, y, target_x)


15 1 3 extrapolation

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


15 2 curve fitting

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”.


Polynomial curve fitting 1

Polynomial Curve Fitting-1

  • Degree of polynomial is the largest exponent

  • Polynomial in x:

    • f(x) = ax n + bxn-1 + cxn-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.


Polynomial curve fitting 2

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.


Linear regression

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.


Polynomial regression

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)


More degrees of freedom yields closer fit

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


15 3 numerical integration

15.3 Numerical Integration

  • Using piecewise linear technique

    • Add areas from trapezoidal rule

    • KT = (b – a)/2n)(f(a) + 2f(x1) + 2f(x2)… + 2f(xn-1) + f(b))

  • Using piecewise parabolic technique

    • Add areas from Simpson’s rule

    • KS= (b – a)/2n)(1/3)(f(a) + 4f(x1) + 2f(x2) + 4f(x3)+ … + 2f(xn-2) +4f(xn-1) +f(b))


Numerical integration code

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));


Numerical differentiation

Numerical Differentiation

  • Forward difference:

  • f’(xk) = (f(x k ) – f( x k-1 ))/(x k – x k-1)

  • Backward difference:

  • f’(xk) = (f(x k+1) – f( x k))/(x k+1– x k)

  • Centered difference:

  • f’(xk) = (f(x k+1) – f( x k-1 ))/(xk+1– x k-1)

  • Both forward and backward differences are first-order. They take differences of adjacent terms.


Matlab function diff

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?


Forward difference code

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)’})


  • Login