numerical methods for engineers 5th e-solution ch 18
TRANSCRIPT
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.