Numerical Method for engineers-chapter 18

25
1 CHAPTER 18 18.1 (a) (b) 18.2 First, order the points x 0 = 9 f(x 0 ) = 0.9542425 x 1 = 11 f(x 1 ) = 1.0413927 x 2 = 8 f(x 2 ) = 0.9030900 Applying Eq. (18.4) b 0 = 0.9542425 Equation (18.5) yields Equation (18.6) gives PROPRIETARY MATERIAL. © The McGraw-Hill Companies, Inc. All rights reserved. No part of this Manual may be displayed, reproduced or distributed in any form or by any means, without the prior written permission of the publisher, or used beyond the limited distribution to teachers and educators permitted by McGraw- Hill for their individual course preparation. If you are a student using this Manual, you are using it without permission.

Transcript of Numerical Method for engineers-chapter 18

Page 1: Numerical Method for engineers-chapter 18

1

CHAPTER 18

18.1 (a)

(b)

18.2 First, order the points

x0 = 9 f(x0) = 0.9542425x1 = 11 f(x1) = 1.0413927x2 = 8 f(x2) = 0.9030900

Applying Eq. (18.4)

b0 = 0.9542425

Equation (18.5) yields

Equation (18.6) gives

Substituting these values into Eq. (18.3) yields the quadratic formula

which can be evaluated at x = 10 for

18.3 First, order the points

PROPRIETARY MATERIAL. © The McGraw-Hill Companies, Inc. All rights reserved. No part of this Manual may be displayed, reproduced or distributed in any form or by any means, without the prior written permission of the publisher, or used beyond the limited distribution to teachers and educators permitted by McGraw-Hill for their individual course preparation. If you are a student using this Manual, you are using it without permission.

Page 2: Numerical Method for engineers-chapter 18

2

x0 = 9 f(x0) = 0.9542425x1 = 11 f(x1) = 1.0413927x2 = 8 f(x2) = 0.9030900x3 = 12 f(x3) = 1.0791812

The first divided differences can be computed as

The second divided differences are

The third divided difference is

Substituting the appropriate values into Eq. (18.7) gives

which can be evaluated at x = 10 for

18.4 First, order the points so that they are as close to and as centered about the unknown as possible

x0 = 2.5 f(x0) = 14x1 = 3.2 f(x1) = 15x2 = 2 f(x2) = 8x3 = 4 f(x3) = 8x4 = 1.6 f(x4) = 2

PROPRIETARY MATERIAL. © The McGraw-Hill Companies, Inc. All rights reserved. No part of this Manual may be displayed, reproduced or distributed in any form or by any means, without the prior written permission of the publisher, or used beyond the limited distribution to teachers and educators permitted by McGraw-Hill for their individual course preparation. If you are a student using this Manual, you are using it without permission.

Page 3: Numerical Method for engineers-chapter 18

3

Next, the divided differences can be computed and displayed in the format of Fig. 18.5,

i xi f(xi) f[xi+1,xi] f[xi+2,xi+1,xi] f[xi+3,xi+2,xi+1,xi] f[xi+4,xi+3,xi+2,xi+1,xi]0 2.5 14 1.428571 -8.809524 1.011905 1.8477181 3.2 15 5.833333 -7.291667 -0.6510422 2 8 0 -6.253 4 8 2.54 1.6 2

The first through third-order interpolations can then be implemented as

The errors estimates for the first and second-order predictions can be computed with Eq. 18.19 as

The error for the third-order prediction can be computed with Eq. 18.18 as

18.5 First, order the points so that they are as close to and as centered about the unknown as possible

x0 = 3 f(x0) = 19x1 = 5 f(x1) = 99x2 = 2 f(x2) = 6x3 = 7 f(x3) = 291x4 = 1 f(x4) = 3

Next, the divided differences can be computed and displayed in the format of Fig. 18.5,

i xi f(xi) f[xi+1,xi] f[xi+2,xi+1,xi] f[xi+3,xi+2,xi+1,xi] f[xi+4,xi+3,xi+2,xi+1,xi]0 3 19 40 9 1 01 5 99 31 13 12 2 6 57 93 7 291 484 1 3

The first through fourth-order interpolations can then be implemented as

PROPRIETARY MATERIAL. © The McGraw-Hill Companies, Inc. All rights reserved. No part of this Manual may be displayed, reproduced or distributed in any form or by any means, without the prior written permission of the publisher, or used beyond the limited distribution to teachers and educators permitted by McGraw-Hill for their individual course preparation. If you are a student using this Manual, you are using it without permission.

Page 4: Numerical Method for engineers-chapter 18

4

Clearly this data was generated with a cubic polynomial since the difference between the 4th and the 3rd-order versions is zero.

18.618.1 (a):

x0 = 8 f(x0) = 0.9030900x1 = 12 f(x1) = 1.0791812

18.1 (b):

x0 = 9 f(x0) = 0.9542425x1 = 11 f(x1) = 1.0413927

18.2:

x0 = 8 f(x0) = 0.9030900x1 = 9 f(x1) = 0.9542425x2 = 11 f(x2) = 1.0413927

18.3:

x0 = 8 f(x0) = 0.9030900x1 = 9 f(x1) = 0.9542425x2 = 11 f(x2) = 1.0413927x3 = 12 f(x3) = 1.0791812

18.7First order:x0 = 3 f(x0) = 19x1 = 5 f(x1) = 99

PROPRIETARY MATERIAL. © The McGraw-Hill Companies, Inc. All rights reserved. No part of this Manual may be displayed, reproduced or distributed in any form or by any means, without the prior written permission of the publisher, or used beyond the limited distribution to teachers and educators permitted by McGraw-Hill for their individual course preparation. If you are a student using this Manual, you are using it without permission.

Page 5: Numerical Method for engineers-chapter 18

5

Second order:x0 = 3 f(x0) = 19x1 = 5 f(x1) = 99x2 = 2 f(x2) = 6

Third order:x0 = 3 f(x0) = 19x1 = 5 f(x1) = 99x2 = 2 f(x2) = 6x3 = 7 f(x3) = 291

18.8 The following points are used to generate a cubic interpolating polynomial

x0 = 3 f(x0) = 0.3333x1 = 4 f(x1) = 0.25x2 = 5 f(x2) = 0.2x3 = 6 f(x3) = 0.1667 The polynomial can be generated in a number of ways including simultaneous equations (Eq. 18.26) or a software tool. The result is

The roots problem can then be developed by setting this polynomial equal to the desired value of 0.23

Bisection can then be used to determine the root. Using initial guesses of xl = 4 and xu = 5, the first five iterations are

i xl xu xr f(xl) f(xr)f(xl)f(xr

) a1 4.00000 5.00000 4.50000 0.02000 -0.00811 -0.00016 11.11%2 4.00000 4.50000 4.25000 0.02000 0.00504 0.00010 5.88%3 4.25000 4.50000 4.37500 0.00504 -0.00174 -0.00001 2.86%4 4.25000 4.37500 4.31250 0.00504 0.00160 0.00001 1.45%5 4.31250 4.37500 4.34375 0.00160 -0.00009 0.00000 0.72%

PROPRIETARY MATERIAL. © The McGraw-Hill Companies, Inc. All rights reserved. No part of this Manual may be displayed, reproduced or distributed in any form or by any means, without the prior written permission of the publisher, or used beyond the limited distribution to teachers and educators permitted by McGraw-Hill for their individual course preparation. If you are a student using this Manual, you are using it without permission.

Page 6: Numerical Method for engineers-chapter 18

6

If the iterations are continued, the final result is x = 4.34213.

18.9 [Errata: Note that in the first printing, the function for this problem was erroneously shown as f(x) = x3/(2 + x3). The correct formula, which appears in subsequent printings is f(x) = x2/(1 + x2).]

(a) Analytically

(b) Cubic interpolation of x versus y

y0 = 0.5 x0 = 1y1 = 0.8 x1 = 2y2 = 0.9 x2 = 3y3 = 0.941176 x3 = 4 The polynomial can be generated as

This function can then be used to compute

(c) Quadratic interpolation of y versus x yields

x0 = 2 f(x0) = 0.8x1 = 3 f(x1) = 0.9x2 = 4 f(x2) = 0.941176

The polynomial can be generated as

The roots problem can then be developed by setting this polynomial equal to the desired value of 0.85 to give

PROPRIETARY MATERIAL. © The McGraw-Hill Companies, Inc. All rights reserved. No part of this Manual may be displayed, reproduced or distributed in any form or by any means, without the prior written permission of the publisher, or used beyond the limited distribution to teachers and educators permitted by McGraw-Hill for their individual course preparation. If you are a student using this Manual, you are using it without permission.

Page 7: Numerical Method for engineers-chapter 18

7

The quadratic formula can then be used to determine the root as

(d) Cubic interpolation of y versus x yields

x0 = 1 f(x0) = 0.5x1 = 2 f(x1) = 0.8x2 = 3 f(x2) = 0.9x3 = 4 f(x3) = 0.941176

The polynomial can be generated as

The roots problem can then be developed by setting this polynomial equal to the desired value of 0.85

Bisection can then be used to determine the root. Using initial guesses of xl = 2 and xu = 3, the first five iterations are

i xl xu xr f(xl) f(xr)f(xl)f(xr

) a1 2.00000 3.00000 2.50000 -0.05000 0.01617 -0.00081 20.00%2 2.00000 2.50000 2.25000 -0.05000 -0.01177 0.00059 11.11%3 2.25000 2.50000 2.37500 -0.01177 0.00335 -0.00004 5.26%4 2.25000 2.37500 2.31250 -0.01177 -0.00390 0.00005 2.70%5 2.31250 2.37500 2.34375 -0.00390 -0.00020 0.00000 1.33%

If the iterations are continued, the final result is x = 2.345481.

18.10 For the present problem, we have five data points and n = 4 intervals. Therefore, 3(4) = 12 unknowns must be determined. Equations 18.29 and 18.30 yield 2(4) – 2 = 6 conditions

PROPRIETARY MATERIAL. © The McGraw-Hill Companies, Inc. All rights reserved. No part of this Manual may be displayed, reproduced or distributed in any form or by any means, without the prior written permission of the publisher, or used beyond the limited distribution to teachers and educators permitted by McGraw-Hill for their individual course preparation. If you are a student using this Manual, you are using it without permission.

Page 8: Numerical Method for engineers-chapter 18

8

Passing the first and last functions through the initial and final values adds 2 more

Continuity of derivatives creates an additional 4 – 1 = 3.

Finally, Eq. 18.34 specifies that a1 = 0. Thus, the problem reduces to solving 11 simultaneous equations for 11 unknown coefficients,

which can be solved for

b1 = 15 c1 = 22a2 = 6 b2 = 39 c2 = 46a3 = 10.816327 b3 = 63.081633 c3 = 76.102041a4 = 3.258929 b4 = 14.714286 c4 = 1.285714

The predictions can be made as

PROPRIETARY MATERIAL. © The McGraw-Hill Companies, Inc. All rights reserved. No part of this Manual may be displayed, reproduced or distributed in any form or by any means, without the prior written permission of the publisher, or used beyond the limited distribution to teachers and educators permitted by McGraw-Hill for their individual course preparation. If you are a student using this Manual, you are using it without permission.

Page 9: Numerical Method for engineers-chapter 18

9

Finally, here is a plot of the data along with the quadratic spline,

0

5

10

15

20

0 1 2 3 4 5

spline

data

18.11 For the first interior knot

x0 = 1 f(x0) = 3x1 = 2 f(x1) = 6x2 = 3 f(x2) = 19

Because of the natural spline condition, f”(1) = 0, and the equation reduces to

Equations can be written for the remaining interior knots and the results assembled in matrix form as

which can be solved for

These values can be used in conjunction with Eq. 18.36 to yield the following interpolating splines for each interval,

PROPRIETARY MATERIAL. © The McGraw-Hill Companies, Inc. All rights reserved. No part of this Manual may be displayed, reproduced or distributed in any form or by any means, without the prior written permission of the publisher, or used beyond the limited distribution to teachers and educators permitted by McGraw-Hill for their individual course preparation. If you are a student using this Manual, you are using it without permission.

Page 10: Numerical Method for engineers-chapter 18

10

The interpolating splines can be used to make predictions along the interval. The results are shown in the following plot.

0

100

200

300

400

500

0 2 4 6 8

(a) The interpolating equations can be used to determine

f3(4) = 48.41157f2(2.5) = 10.78384

(b)

18.12 The points to be fit are

x0 = 3.2 f(x0) = 15x1 = 4 f(x1) = 8x2 = 4.5 f(x2) = 2

Using Eq. 18.26 the following simultaneous equations can be generated

These can be solved for a0 = 11, a1 = 9.25, and a2 = –2.5. Therefore, the interpolating polynomial is

f(x) = 11 + 9.25x – 2.5x2

18.13 The points to be fit are

x0 = 1 f(x0) = 3x1 = 2 f(x1) = 6x2 = 3 f(x2) = 19x3 = 5 f(x3) = 99

PROPRIETARY MATERIAL. © The McGraw-Hill Companies, Inc. All rights reserved. No part of this Manual may be displayed, reproduced or distributed in any form or by any means, without the prior written permission of the publisher, or used beyond the limited distribution to teachers and educators permitted by McGraw-Hill for their individual course preparation. If you are a student using this Manual, you are using it without permission.

Page 11: Numerical Method for engineers-chapter 18

11

Using Eq. 18.26 the following simultaneous equations can be generated

These can be solved for a0 = 4, a1 = –1, a2 = –1, and a3 = 1. Therefore, the interpolating polynomial is

f(x) = 4 – x – x2 + x3

18.14 Here is a VBA/Excel program to implement Newton interpolation.

Option Explicit

Sub Newt()Dim n As Integer, i As IntegerDim yint(10) As Double, x(10) As Double, y(10) As DoubleDim ea(10) As Double, xi As DoubleSheets("Sheet1").SelectRange("a5").Selectn = ActiveCell.RowSelection.End(xlDown).Selectn = ActiveCell.Row - nRange("a5").SelectFor i = 0 To n x(i) = ActiveCell.Value ActiveCell.Offset(0, 1).Select y(i) = ActiveCell.Value ActiveCell.Offset(1, -1).SelectNext iRange("e3").Selectxi = ActiveCell.ValueCall Newtint(x, y, n, xi, yint, ea)Range("d5:f25").ClearContentsRange("d5").SelectFor i = 0 To n ActiveCell.Value = i ActiveCell.Offset(0, 1).Select ActiveCell.Value = yint(i) ActiveCell.Offset(0, 1).Select ActiveCell.Value = ea(i) ActiveCell.Offset(1, -2).SelectNext iRange("a5").SelectEnd Sub

Sub Newtint(x, y, n, xi, yint, ea)Dim i As Integer, j As Integer, order As IntegerDim fdd(10, 10) As Double, xterm As DoubleDim yint2 As DoubleFor i = 0 To n fdd(i, 0) = y(i)Next iFor j = 1 To n

PROPRIETARY MATERIAL. © The McGraw-Hill Companies, Inc. All rights reserved. No part of this Manual may be displayed, reproduced or distributed in any form or by any means, without the prior written permission of the publisher, or used beyond the limited distribution to teachers and educators permitted by McGraw-Hill for their individual course preparation. If you are a student using this Manual, you are using it without permission.

Page 12: Numerical Method for engineers-chapter 18

12

For i = 0 To n - j fdd(i, j) = (fdd(i + 1, j - 1) - fdd(i, j - 1)) / (x(i + j) - x(i)) Next iNext jxterm = 1#yint(0) = fdd(0, 0)For order = 1 To n xterm = xterm * (xi - x(order - 1)) yint2 = yint(order - 1) + fdd(0, order) * xterm ea(order - 1) = yint2 - yint(order - 1) yint(order) = yint2Next orderEnd Sub

For those who are using MATLAB, here is an M-file that implements Newton interpolation:

function yint = Newtint(x,y,xx)% yint = Newtint(x,y,xx):% Newton interpolation. Uses an (n - 1)-order Newton% interpolating polynomial based on n data points (x, y)% to determine a value of the dependent variable (yint)% at a given value of the independent variable, xx.% input:% x = independent variable% y = dependent variable% xx = value of independent variable at which% interpolation is calculated% output:% yint = interpolated value of dependent variable

% compute the finite divided differences in the form of a% difference tablen = length(x);if length(y)~=n, error('x and y must be same length'); endb = zeros(n,n);% assign dependent variables to the first column of b.b(:,1) = y(:); % the (:) ensures that y is a column vector.for j = 2:n for i = 1:n-j+1 b(i,j) = (b(i+1,j-1)-b(i,j-1))/(x(i+j-1)-x(i)); endend% use the finite divided differences to interpolate xt = 1;yint = b(1,1);for j = 1:n-1 xt = xt*(xx-x(j)); yint = yint+b(1,j+1)*xt;end

18.15 Here is the solution when the Excel VBA program from Prob. 18.14 is run for Example 18.5.

PROPRIETARY MATERIAL. © The McGraw-Hill Companies, Inc. All rights reserved. No part of this Manual may be displayed, reproduced or distributed in any form or by any means, without the prior written permission of the publisher, or used beyond the limited distribution to teachers and educators permitted by McGraw-Hill for their individual course preparation. If you are a student using this Manual, you are using it without permission.

Page 13: Numerical Method for engineers-chapter 18

13

18.16 Here are the solutions when the program from Prob. 18.14 is run for Probs. 18.1 through 18.3.

18.17 A plot of the error can easily be added to the Excel application. Note that we plot the absolute value of the error on a logarithmic scale. The following shows the solution for Prob. 18.4:

The following shows the solution for Prob. 18.5:

PROPRIETARY MATERIAL. © The McGraw-Hill Companies, Inc. All rights reserved. No part of this Manual may be displayed, reproduced or distributed in any form or by any means, without the prior written permission of the publisher, or used beyond the limited distribution to teachers and educators permitted by McGraw-Hill for their individual course preparation. If you are a student using this Manual, you are using it without permission.

Page 14: Numerical Method for engineers-chapter 18

14

18.18Option Explicit

Sub LagrInt()Dim n As Integer, i As Integer, order As IntegerDim x(10) As Double, y(10) As Double, xi As DoubleRange("a5").Selectn = ActiveCell.RowSelection.End(xlDown).Selectn = ActiveCell.Row - nRange("a5").SelectFor i = 0 To n x(i) = ActiveCell.Value ActiveCell.Offset(0, 1).Select y(i) = ActiveCell.Value ActiveCell.Offset(1, -1).SelectNext iRange("e3").Selectorder = ActiveCell.ValueActiveCell.Offset(1, 0).Selectxi = ActiveCell.ValueActiveCell.Offset(2, 0).SelectActiveCell.Value = Lagrange(x, y, order, xi)End Sub

Function Lagrange(x, y, order, xi)Dim i As Integer, j As IntegerDim sum As Double, prod As Doublesum = 0#For i = 0 To order prod = y(i) For j = 0 To order If i <> j Then prod = prod * (xi - x(j)) / (x(i) - x(j)) End If Next j sum = sum + prodNext iLagrange = sum

PROPRIETARY MATERIAL. © The McGraw-Hill Companies, Inc. All rights reserved. No part of this Manual may be displayed, reproduced or distributed in any form or by any means, without the prior written permission of the publisher, or used beyond the limited distribution to teachers and educators permitted by McGraw-Hill for their individual course preparation. If you are a student using this Manual, you are using it without permission.

Page 15: Numerical Method for engineers-chapter 18

15

End Function

Application to Example 18.7:

For those who are using MATLAB, here is an M-file that implements Lagrange interpolation:

function yint = Lagrange(x,y,xx)% yint = Lagrange(x,y,xx):% Lagrange interpolation. Uses an (n - 1)-order Lagrange% interpolating polynomial based on n data points (x, y)% to determine a value of the dependent variable (yint)% at a given value of the independent variable, xx.% input:% x = independent variable% y = dependent variable% xx = value of independent variable at which the% interpolation is calculated% output:% yint = interpolated value of dependent variable

n = length(x);if length(y)~=n, error('x and y must be same length'); ends = 0;for i = 1:n product = y(i); for j = 1:n if i ~= j product = product*(xx-x(j))/(x(i)-x(j)); end end s = s+product;endyint = s;

18.19 The following VBA program uses cubic interpolation for all intervals:

Option Explicit

Sub TableLook()Dim n As Integer, i As IntegerDim yint(10) As Double, x(10) As Double, y(10) As DoubleDim ea(10) As Double, xi As DoubleRange("a5").Selectn = ActiveCell.RowSelection.End(xlDown).Selectn = ActiveCell.Row - nRange("a5").SelectFor i = 0 To n x(i) = ActiveCell.Value

PROPRIETARY MATERIAL. © The McGraw-Hill Companies, Inc. All rights reserved. No part of this Manual may be displayed, reproduced or distributed in any form or by any means, without the prior written permission of the publisher, or used beyond the limited distribution to teachers and educators permitted by McGraw-Hill for their individual course preparation. If you are a student using this Manual, you are using it without permission.

Page 16: Numerical Method for engineers-chapter 18

16

ActiveCell.Offset(0, 1).Select y(i) = ActiveCell.Value ActiveCell.Offset(1, -1).SelectNext iRange("e4").Selectxi = ActiveCell.ValueActiveCell.Offset(2, 0).SelectActiveCell.Value = Interp(x, y, n, xi)Range("a5").SelectEnd Sub

Function Interp(x, y, n, xx)Dim ii As IntegerIf xx < x(0) Or xx > x(n) Then Interp = "out of range"Else If xx <= x(ii + 1) Then Interp = Lagrange(x, y, 0, 3, xx) ElseIf xx <= x(n - 1) Then For ii = 0 To n - 2 If xx >= x(ii) And xx <= x(ii + 1) Then Interp = Lagrange(x, y, ii - 1, 3, xx) Exit For End If Next ii Else Interp = Lagrange(x, y, n - 3, 3, xx) End IfEnd IfEnd Function

Function Lagrange(x, y, i0, order, xi)Dim i As Integer, j As IntegerDim sum As Double, prod As Doublesum = 0#For i = i0 To i0 + order prod = y(i) For j = i0 To i0 + order If i <> j Then prod = prod * (xi - x(j)) / (x(i) - x(j)) End If Next j sum = sum + prodNext iLagrange = sumEnd Function

Application to evaluate ln(2.5):

PROPRIETARY MATERIAL. © The McGraw-Hill Companies, Inc. All rights reserved. No part of this Manual may be displayed, reproduced or distributed in any form or by any means, without the prior written permission of the publisher, or used beyond the limited distribution to teachers and educators permitted by McGraw-Hill for their individual course preparation. If you are a student using this Manual, you are using it without permission.

Page 17: Numerical Method for engineers-chapter 18

17

18.20Option Explicit

Sub Splines()Dim i As Integer, n As IntegerDim x(7) As Double, y(7) As Double, xu As Double, yu As DoubleDim dy As Double, d2y As DoubleRange("a5").Selectn = ActiveCell.RowSelection.End(xlDown).Selectn = ActiveCell.Row - nRange("a5").SelectFor i = 0 To n x(i) = ActiveCell.Value ActiveCell.Offset(0, 1).Select y(i) = ActiveCell.Value ActiveCell.Offset(1, -1).SelectNext iRange("e4").Selectxu = ActiveCell.ValueCall Spline(x, y, n, xu, yu, dy, d2y)ActiveCell.Offset(2, 0).SelectActiveCell.Value = yuEnd Sub

Sub Spline(x, y, n, xu, yu, dy, d2y)Dim e(10) As Double, f(10) As Double, g(10) As Double, r(10) As Double, d2x(10) As DoubleCall Tridiag(x, y, n, e, f, g, r)Call Decomp(e, f, g, n - 1)Call Substit(e, f, g, r, n - 1, d2x)Call Interpol(x, y, n, d2x, xu, yu, dy, d2y)End Sub

Sub Tridiag(x, y, n, e, f, g, r)Dim i As Integerf(1) = 2 * (x(2) - x(0))g(1) = x(2) - x(1)r(1) = 6 / (x(2) - x(1)) * (y(2) - y(1))r(1) = r(1) + 6 / (x(1) - x(0)) * (y(0) - y(1))For i = 2 To n - 2 e(i) = x(i) - x(i - 1) f(i) = 2 * (x(i + 1) - x(i - 1)) g(i) = x(i + 1) - x(i) r(i) = 6 / (x(i + 1) - x(i)) * (y(i + 1) - y(i))

PROPRIETARY MATERIAL. © The McGraw-Hill Companies, Inc. All rights reserved. No part of this Manual may be displayed, reproduced or distributed in any form or by any means, without the prior written permission of the publisher, or used beyond the limited distribution to teachers and educators permitted by McGraw-Hill for their individual course preparation. If you are a student using this Manual, you are using it without permission.

Page 18: Numerical Method for engineers-chapter 18

18

r(i) = r(i) + 6 / (x(i) - x(i - 1)) * (y(i - 1) - y(i))Next ie(n - 1) = x(n - 1) - x(n - 2)f(n - 1) = 2 * (x(n) - x(n - 2))r(n - 1) = 6 / (x(n) - x(n - 1)) * (y(n) - y(n - 1))r(n - 1) = r(n - 1) + 6 / (x(n - 1) - x(n - 2)) * (y(n - 2) - y(n - 1))End Sub

Sub Interpol(x, y, n, d2x, xu, yu, dy, d2y)Dim i As Integer, flag As IntegerDim c1 As Double, c2 As Double, c3 As Double, c4 As DoubleDim t1 As Double, t2 As Double, t3 As Double, t4 As Doubleflag = 0i = 1Do If xu >= x(i - 1) And xu <= x(i) Then c1 = d2x(i - 1) / 6 / (x(i) - x(i - 1)) c2 = d2x(i) / 6 / (x(i) - x(i - 1)) c3 = y(i - 1) / (x(i) - x(i - 1)) - d2x(i - 1) * (x(i) - x(i - 1)) / 6 c4 = y(i) / (x(i) - x(i - 1)) - d2x(i) * (x(i) - x(i - 1)) / 6 t1 = c1 * (x(i) - xu) ^ 3 t2 = c2 * (xu - x(i - 1)) ^ 3 t3 = c3 * (x(i) - xu) t4 = c4 * (xu - x(i - 1)) yu = t1 + t2 + t3 + t4 t1 = -3 * c1 * (x(i) - xu) ^ 2 t2 = 3 * c2 * (xu - x(i - 1)) ^ 2 t3 = -c3 t4 = c4 dy = t1 + t2 + t3 + t4 t1 = 6 * c1 * (x(i) - xu) t2 = 6 * c2 * (xu - x(i - 1)) d2y = t1 + t2 flag = 1 Else i = i + 1 End If If i = n + 1 Or flag = 1 Then Exit DoLoopIf flag = 0 Then MsgBox "outside range" EndEnd IfEnd Sub

Sub Decomp(e, f, g, n)Dim k As IntegerFor k = 2 To n e(k) = e(k) / f(k - 1) f(k) = f(k) - e(k) * g(k - 1)Next kEnd Sub

Sub Substit(e, f, g, r, n, x)Dim k As IntegerFor k = 2 To n r(k) = r(k) - e(k) * r(k - 1)Next kx(n) = r(n) / f(n)For k = n - 1 To 1 Step -1 x(k) = (r(k) - g(k) * x(k + 1)) / f(k)

PROPRIETARY MATERIAL. © The McGraw-Hill Companies, Inc. All rights reserved. No part of this Manual may be displayed, reproduced or distributed in any form or by any means, without the prior written permission of the publisher, or used beyond the limited distribution to teachers and educators permitted by McGraw-Hill for their individual course preparation. If you are a student using this Manual, you are using it without permission.

Page 19: Numerical Method for engineers-chapter 18

19

Next kEnd Sub

18.21 The following shows the solution for Prob. 18.4:

The following shows the solution for Prob. 18.5:

18.22 (a) Linear interpolation:

(b) Quadratic interpolation:

(c) Inverse interpolation. First, we fit a quadratic to the data

PROPRIETARY MATERIAL. © The McGraw-Hill Companies, Inc. All rights reserved. No part of this Manual may be displayed, reproduced or distributed in any form or by any means, without the prior written permission of the publisher, or used beyond the limited distribution to teachers and educators permitted by McGraw-Hill for their individual course preparation. If you are a student using this Manual, you are using it without permission.

Page 20: Numerical Method for engineers-chapter 18

20

The roots problem can then be developed by setting this polynomial equal to the desired value of 6.6 to give

The quadratic formula can then be used to determine the root as

PROPRIETARY MATERIAL. © The McGraw-Hill Companies, Inc. All rights reserved. No part of this Manual may be displayed, reproduced or distributed in any form or by any means, without the prior written permission of the publisher, or used beyond the limited distribution to teachers and educators permitted by McGraw-Hill for their individual course preparation. If you are a student using this Manual, you are using it without permission.