- 131 Views
- Uploaded on

Download Presentation
## PowerPoint Slideshow about ' Lecture 11' - clare-britt

**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

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

- 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

- Linear
- Piecewise-linear
- Polynomial
- Cubic Spline
- Interpolation via Gaussian Processes
- Other

Quality Considerations

- Accuracy of interpolated value
- Amount of work to obtain an interpolated value
- Amount of initial data needed
- …

Example Interpolation

- From http://en.wikipedia.org/wiki/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

- 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

- 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

- 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

- 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

- 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

- 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

- answer_y = spline(x, y, target_x)

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

- 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

- 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

- 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

- 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

- 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

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

- 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

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

- 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

- 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

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 Presentation

Connecting to Server..