Numerical Method for engineers-chapter 5
Short Description
Download Numerical Method for engineers-chapter 5...
Description
1
CHAPTER 5 5.1 (a) A plot indicates that roots occur at about x = –1.4 and 6.4. 8 4 0 -5
0
-4
5
10
-8
(b) x=
− 2.5 ± (2.5) 2 − 4(−0.5)(4.5) 2( −0.5)
=
− 1.40512 6.40512
(c) First iteration: xr =
5 + 10 = 7.5 2
εt =
6.40512 − 7.5 × 100% = 17.09% 6.40512
εa =
10 − 5 × 100% = 33.33% 10 + 5
εa =
7.5 − 5 × 100% = 20.00% 7.5 + 5
f (5) f (7.5) = 4.5( −4.875) = −21.9375 Therefore, the bracket is xl = 5 and xu = 7.5. Second iteration: xr =
5 + 7.5 = 6.25 2
εt =
6.40512 − 6.25 × 100% = 2.42% 6.40512
f (5) f (6.25) = 4.5(0.59375) = 2.672 Consequently, the new bracket is xl = 6.25 and xu = 7.5. Third iteration:
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
xr =
6.25 + 7.5 = 6.875 2
εt =
6.40512 − 6.875 × 100% = 7.34% 6.40512
εa =
7.5 − 6.25 × 100% = 9.09% 7.5 + 6.25
5.2 (a) A plot indicates that a single real root occurs at about x = 0.42. 8 4 0 -1
-4
0
1
-8
(b) First iteration: xr =
0 +1 = 0.5 2
εa =
1− 0 × 100% = 100% 1+ 0
f (0) f (0.5) = −2(0.375) = −0.75 Therefore, the new bracket is xl = 0 and xu = 0.5. The process can be repeated until the approximate error falls below 10%. As summarized below, this occurs after 5 iterations yielding a root estimate of 0.40625. iteration 1 2 3 4 5
xl
xu
xr
f(xl)
0 0 0.25 0.375 0.375
1 0.5 0.5 0.5 0.4375
0.5 0.25 0.375 0.4375 0.40625
-2 -2 -0.73438 -0.18945 -0.18945
f(xr) 0.375 -0.73438 -0.18945 0.08667 -0.05246
f(xl)× f(xr ) -0.75 1.46875 0.13913 -0.01642 0.009939
εa 100.00% 33.33% 14.29% 7.69%
5.3 (a) A plot indicates that a single real root occurs at about x = 0.58.
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 8 4 0 -4
0
0.5
1
1.5
-8
(b) Bisection: First iteration: xr =
0.5 + 1 = 0.75 2
εa =
1 − 0.5 × 100% = 33.33% 1 + 0.5
f (0.5) f (0.75) = −1.47813( 2.07236) = −3.06321 Therefore, the new bracket is xl = 0.5 and xu = 0.75. The process can be repeated until the approximate error falls below 10%. As summarized below, this occurs after 4 iterations yielding a root estimate of 0.59375. iteration 1 2 3 4
xl 0.50000 0.50000 0.50000 0.56250
xu 1.00000 0.75000 0.62500 0.62500
xr 0.75000 0.62500 0.56250 0.59375
f(xl) -1.47813 -1.47813 -1.47813 -0.28199
f(xr) 2.07236 0.68199 -0.28199 0.22645
f(xl)× f(xr ) -3.06321 -1.00807 0.41682 -0.06386
εa 20.00% 11.11% 5.26%
(c) False position: First iteration: xl = 0.5 xu = 1 xr = 1 −
f(xl) = –1.47813 f(xu) = 3.7 3.7(0.5 − 1) = 0.64273 − 1.47813 − 3.7
f (0.5) f (0.64273) = −1.47813(0.91879) = −1.35808 Therefore, the bracket is xl = 0.5 and xu = 0.64273. Second iteration: 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
xl = 0.5 xu = 0.64273
f(xl) = –1.47813 f(xu) = 0.91879
xr = 0.64273 −
εa =
0.91879(0.5 − 0.64273) = 0.58802 − 1.47813 − 0.91879
0.58802 − 0.64273 × 100% = 9.304% 0.58802
The process can be repeated until the approximate error falls below 0.2%. As summarized below, this occurs after 4 iterations yielding a root estimate of 0.57956. iteration 1 2 3 4
xl 0.5 0.5 0.5 0.5
xu 1.00000 0.64273 0.58802 0.58054
f(xl) -1.47813 -1.47813 -1.47813 -1.47813
f(xu) 3.70000 0.91879 0.13729 0.01822
xr 0.64273 0.58802 0.58054 0.57956
f(xr) 0.91879 0.13729 0.01822 0.00238
f(xl)× f(xr ) -1.35808 -0.20293 -0.02693 -0.00351
εa 9.304% 1.289% 0.169%
5.4 (a) The graph indicates that roots are located at about –0.4, 2.25 and 4.7. 40 20
-2
2
4
6
-20
(b) Using bisection, the first iteration is xr =
−1+ 0 = −0.5 2
f (−1) f (−0.5) = 29.75(3.34375) = 99.47656 Therefore, the root is in the second interval and the lower guess is redefined as xl = –0.5. The second iteration is xr =
− 0.5 + 0 = −0.25 2
εa =
− 0.25 − (−0.5) 100% = 100% − 0.25
f (−0.5) f ( −0.25) = 3.34375( −5.5820313) = −18.66492 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
Consequently, the root is in the first interval and the upper guess is redefined as xu = –0.25. All the iterations are displayed in the following table: i 1 2 3 4 5 6 7 8
xl −1 −0.5 −0.5 −0.5 −0.4375 −0.4375 −0.42188 −0.42188
f(xl) 29.75 3.34375 3.34375 3.34375 0.863098 0.863098 0.269471 0.269471
xu
f(xu)
xr
0 0 −0.25 −0.375 −0.375 −0.40625 −0.40625 −0.41406
−12 −12 −5.5820313 −1.4487305 −1.4487305 −0.3136673 −0.3136673 −0.0234052
−0.5 −0.25 −0.375 −0.4375 −0.40625 −0.421875 −0.414063 −0.417969
f(xr) 3.34375 −5.5820313 −1.4487305 0.8630981 −0.3136673 0.2694712 −0.0234052 0.1227057
εa 100.00% 33.33% 14.29% 7.69% 3.70% 1.89% 0.93%
Thus, after eight iterations, we obtain a root estimate of −0.417969 with an approximate error of 0.93%, which is below the stopping criterion of 1%. (c) Using false position, the first iteration is xr = 0 −
− 12(−1 − 0) = −0.287425 29.75 − (−12)
f (−1) f (−0.287425) = 29.75( −4.4117349) = −131.2491 Therefore, the root is in the first interval and the upper guess is redefined as xu = –0.287425. The second iteration is x r = −0.287425 −
εa =
− 4.4117349(−1 − (−0.287425)) = −0.3794489 29.75 − (−4.4117349)
− 0.3794489 − (−0.2874251) 100% = 24.25% − 0.3794489
f (−1) f (−0.3794489) = 29.75( −1.2896639) = −38.3675 Consequently, the root is in the first interval and the upper guess is redefined as xu = – 0.379449. All the iterations are displayed in the following table: i 1 2 3 4 5
xl −1 −1 −1 −1 −1
f(xl) 29.75 29.75 29.75 29.75 29.75
xu
f(xu)
0 −0.28743 −0.37945 −0.40523 −0.41217
−12 −4.4117349 −1.2896639 −0.3512929 −0.0938358
xr −0.287425 −0.379449 −0.405232 −0.412173 −0.414022
f(xr) −4.4117349 −1.2896639 −0.3512929 −0.0938358 −0.0249338
εa 24.25% 6.36% 1.68% 0.45%
Therefore, after five iterations we obtain a root estimate of –0.414022 with an approximate error of 0.45%, which is below the stopping criterion of 1%. 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
5.5 A graph indicates that a nontrivial root (i.e., nonzero) is located at about 0.93. 0.5 0 -0.5
0
0.5
1
1.5
-1 -1.5
Using bisection, the first iteration is xr =
0.5 + 1 = 0.75 2
f (0.5) f (0.75) = 0.354426(0.2597638) = 0.092067 Therefore, the root is in the second interval and the lower guess is redefined as xl = 0.75. The second iteration is xr =
0.75 + 1 = 0.875 2
εa =
0.875 − 0.75 100% = 14.29% 0.875
f (0.75) f (0.875) = 0.259764(0.0976216) = 0.025359 Because the product is positive, the root is in the second interval and the lower guess is redefined as xl = 0.875. All the iterations are displayed in the following table: i 1 2 3 4 5
xl 0.5 0.75 0.875 0.875 0.90625
f(xl) 0.354426 0.259764 0.097622 0.097622 0.042903
xu 1 1 1 0.9375 0.9375
f(xu) -0.158529 -0.158529 -0.158529 -0.0178935 -0.0178935
xr 0.75 0.875 0.9375 0.90625 0.921875
f(xr) 0.2597638 0.0976216 -0.0178935 0.0429034 0.0132774
εa 14.29% 6.67% 3.45% 1.69%
Consequently, after five iterations we obtain a root estimate of 0.921875 with an approximate error of 1.69%, which is below the stopping criterion of 2%. The result can be checked by substituting it into the original equation to verify that it is close to zero. f ( x) = sin( x) − x 3 = sin(0.921875) − 0.9218753 = 0.0132774 5.6 (a) A graph of the function indicates a positive real root at approximately x = 1.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.
7
10 0 -2
-1
0
-10
1
2
-20 (b) Using bisection, the first iteration is xr =
0.5 + 2 = 1.25 2
εa =
2 − 0.5 100% = 60% 2 + 0.5
f (0.5) f (1.25) = −3.47259(0.19257) = −0.66873 Therefore, the root is in the first interval and the upper guess is redefined as xu = 1.25. The second iteration is xr =
0.5 + 1.25 = 0.875 2
εa =
0.875 − 1.25 100% = 42.86% 0.875
f (0.5) f (0.875) = −3.47259( −1.23413) = 4.28561 Consequently, the root is in the second interval and the lower guess is redefined as xl = 0.875. All the iterations are displayed in the following table: i 1 2 3
xl 0.50000 0.50000 0.87500
xu 2.00000 1.25000 1.25000
xr 1.25000 0.87500 1.06250
f(xl) -3.47259 -3.47259 -1.23413
f(xr) 0.19257 -1.23413 -0.4575
f(xl)× f(xr) -0.66873 4.28561 0.56461
εa 42.86% 17.65%
Thus, after three iterations, we obtain a root estimate of 1.0625 with an approximate error of 17.65%. (c) Using false position, the first iteration is xr = 2 −
2.07259(0.5 − 2) = 1.43935 − 3.47259 − 2.07259
f (0.5) f (1.43935) = −3.47259(0.75678) = −2.62797
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 Therefore, the root is in the first interval and the upper guess is redefined as xu = 1.43935. The second iteration is xr = 1.43935 −
εa =
0.75678(0.5 − 1.43935) = 1.27127 − 3.47259 − 0.75678
1.27127 − 1.43935 100% = 13.222% 1.27127
f (0.5) f (1.27127) = −3.47259(0.26007) = −0.90312 Consequently, the root is in the first interval and the upper guess is redefined as xu = 1.27127. All the iterations are displayed in the following table: iteration 1 2 3
xl 0.5 0.5 0.5
xu 2.00000 1.43935 1.27127
f(xl) -3.47259 -3.47259 -3.47259
f(xu) 2.07259 0.75678 0.26007
xr 1.43935 1.27127 1.21753
f(xr) 0.75678 0.26007 0.08731
f(xl)× f(xr ) -2.62797 -0.90312 -0.30319
εa 13.222% 4.414%
After three iterations we obtain a root estimate of 1.21753 with an approximate error of 4.414%. 5.7 (a) (0.8 − 0.3 x) = 0 x=
0.8 = 2.666667 0.3
(b) The graph of the function indicates a root between x = 2 and 3. Note that the shape of the curve suggests that it may be ill-suited for solution with the false-position method (refer to Fig. 5.14) 6 4 2 0 -2 0
1
2
3
4
5
(c) Using false position, the first iteration is xr = 3 −
εt =
− 0.03333(1 − 3) = 2.875 0.5 − ( −0.03333)
2.66667 − 2.875 100% = 7.81% 2.66667
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
f (1) f (2.875) = 0.5( −0.02174) = −0.01087 Therefore, the root is in the first interval and the upper guess is redefined as xu = 2.875. The second iteration is xr = 2.875 −
− 0.03333(1 − 2.875) = 2.79688 0.5 − ( −0.03333)
εa =
2.79688 − 2.875 100% = 2.793% 2.79688
εt =
2.66667 − 2.79688 100% = 4.88% 2.66667
f (1) f (2.79688) = 0.5( −0.01397) = −0.00698 Consequently, the root is in the first interval and the upper guess is redefined as xu = 2.79688. All the iterations are displayed in the following table: i 1 2 3
xl 1 1 1
xu 3.00000 2.87500 2.79688
f(xl) 0.5 0.5 0.5
f(xu) -0.03333 -0.02174 -0.01397
xr 2.87500 2.79688 2.74805
f(xr) -0.02174 -0.01397 -0.00888
f(xl)× f(xr ) -0.01087 -0.00698 -0.00444
εa 2.793% 1.777%
εt 7.81% 4.88% 3.05%
Therefore, after three iterations we obtain a root estimate of 2.74805 with an approximate error of 1.777%. Note that the true error is greater than the approximate error. This is not good because it means that we could stop the computation based on the erroneous assumption that the true error is at least as good as the approximate error. This is due to the slow convergence that results from the function’s shape. 5.8 The square root of 18 can be set up as a roots problem by determining the positive root of the function f ( x) = x 2 − 18 = 0 Using false position, the first iteration is xr = 5 −
7(4 − 5) = 4.22222 −2−7
f (4) f ( 4.22222) = −2( −0.17284) = 0.34568 Therefore, the root is in the second interval and the lower guess is redefined as xl = 4.22222. The second iteration is 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
xr = 4.22222 −
εa =
7( 4.22222 − 5) = 4.24096 − 0.17284 − 7
4.24096 − 4.22222 100% = 0.442% 4.24096
Thus, the computation can be stopped after just two iterations because 0.442% < 0.5%. Note that the true value is 4.2426. The technique converges so quickly because the function is very close to being a straight line in the interval between the guesses as in the plot of the function shown below. 10 5 0 -5
4
4.5
5
5.9 A graph of the function indicates a positive real root at approximately x = 3.7.
10
0 0
1
2
3
4
5
-10 Using false position, the first iteration is xr = 5 −
10.43182(0 − 5) = 1.62003 − 5 − 10.43182
f (0) f (1.62003) = −5(−4.22944) = 21.147 Therefore, the root is in the second interval and the lower guess is redefined as xl = 1.62003. The remaining iterations are summarized below i 1 2 3 4 5 6
xl 0 1.62003 2.59507 3.34532 3.62722 3.71242
xu 5.00000 5.00000 5.00000 5.00000 5.00000 5.00000
f(xl) -5 -4.2294 -4.7298 -2.1422 -0.6903 -0.197
f(xu) 10.43182 10.43182 10.43182 10.43182 10.43182 10.43182
xr 1.62003 2.59507 3.34532 3.62722 3.71242 3.73628
f(xr) -4.22944 -4.72984 -2.14219 -0.69027 -0.19700 -0.05424
f(xl)× f(xr ) 21.14722 20.00459 10.13219 1.47869 0.13598 0.01069
εa 37.573% 22.427% 7.772% 2.295% 0.639%
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 The final result, xr = 3.73628, can be checked by substituting it into the original function to yield a near-zero result, f (3.73628) = (3.73628) 2 cos 3.73628 − 5 = −0.05424 5.10 Using false position, the first iteration is xr = 6 −
7(4.5 − 6) = 5.01754 − 3.6875 − 7
f (4.5) f (5.01754) = −3.6875(−1.00147) = 3.69294 Therefore, the root is in the second interval and the lower guess is redefined as xu = 5.01754. The true error can be computed as
εt =
5.60979 − 5.01754 100% = 10.56% 5.60979
The second iteration is xr = 6 −
7(5.01754 − 6) = 5.14051 − 1.00147 − 7
εt =
5.60979 − 5.14051 100% = 8.37% 5.60979
εa =
5.14051 − 5.01754 100% = 2.392% 5.14051
f (5.01754) f (5.14051) = −1.00147( −1.06504) = 1.06661 Consequently, the root is in the second interval and the lower guess is redefined as xu = 5.14051. All the iterations are displayed in the following table: i 1 2 3 4 5 6 7
xl 4.50000 5.01754 5.14051 5.25401 5.35705 5.44264 5.50617
xu 6 6 6 6 6 6 6
f(xl) -3.68750 -1.00147 -1.06504 -1.12177 -1.07496 -0.90055 -0.65919
f(xu) 7.00000 7.00000 7.00000 7.00000 7.00000 7.00000 7.00000
xr 5.01754 5.14051 5.25401 5.35705 5.44264 5.50617 5.54867
f(xr) -1.00147 -1.06504 -1.12177 -1.07496 -0.90055 -0.65919 -0.43252
f(xl)× f(xr ) 3.69294 1.06661 1.19473 1.20586 0.96805 0.59363 0.28511
ε a, % 2.392 2.160 1.923 1.573 1.154 0.766
ε t, % 10.56 8.37 6.34 4.51 2.98 1.85 1.09
Notice that the results have the undesirable feature that the true error is greater than the approximate error. This is not good because it means that we could stop the computation 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 based on the erroneous assumption that the true error is at least as good as the approximate error. This is due to the slow convergence that results from the function’s shape as shown in the following plot (recall Fig. 5.14). 8 6 4 2 0 -2 4
4.5
5
5.5
6
-4 -6
5.11 (a) x r = (80)1 / 3.5 = 3.497357 (b) Here is a summary of the results obtained with false position to the point that the approximate error falls below the stopping criterion of 2.5%: i 1 2 3 4
xl 2 2.768318 3.176817 3.364213
xu 5 5 5 5
f(xl) -68.68629 -44.70153 -22.85572 -10.16193
f(xu) 199.5085 199.5085 199.5085 199.5085
xr 2.76832 3.17682 3.36421 3.44349
f(xr) -44.70153 -22.85572 -10.16193 -4.229976
f(xl)× f(xr ) 3070.382 1021.686 232.258 42.985
εa 12.859% 5.570% 2.302%
5.12 A plot of the function indicates a maximum at about 0.87. 10 5 0 -0.5
-5
0
0.5
1
1.5
-10
In order to determine the maximum with a root location technique, we must first differentiate the function to yield f ' ( x) = −12 x 5 − 6 x 3 + 10 The root of this function represents an extremum. Using bisection and the recommended initial guesses 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.
13 i 1 2 3 4 5
xl 0.00000 0.50000 0.75000 0.75000 0.81250
xu 1.00000 1.00000 1.00000 0.87500 0.87500
xr 0.50000 0.75000 0.87500 0.81250 0.84375
f(xl) 10.00000 8.87500 4.62109 4.62109 2.53263
f(xr) 8.87500 4.62109 -0.17444 2.53263 1.26437
f(xl)× f(xr) 88.75000 41.01221 -0.80610 11.70351 3.20217
εa 33.33% 14.29% 7.69% 3.70%
The maximum can be determined by substituting the root into the original equation to give f (0.84375) = −2(0.84375) 6 − 1.5(0.84375) 4 + 10(0.84375) + 2 = 8.956 5.13 The correct mass can be determined by finding the root of f ( m) =
(
)
9.8m 1 − e − (15 / m ) 9 − 35 = 0 15
Here are the results of using false position with initial guesses of 50 and 70 kg: i 1 2 3
xl 50 50 50
xu 70.00000 60.51423 59.88461
f(xl) -4.52871 -4.52871 -4.52871
f(xu) 4.085733 0.288464 0.018749
xr 60.51423 59.88461 59.84386
f(xr) 0.288464 0.018749 0.001212
f(xl)× f(xr) -1.30637 -0.08491 -0.00549
εa 1.051% 0.068%
Thus, after 3 iterations, a value of 59.84386 kg is determined with an approximate error of 0.068%. This result can be verified by substituting it into the equation for velocity to give v=
(
)
9.8(59.84386) m 1 − e −(15 / 59.84386 )9 = 35.00121 15 s
5.14 Solve for the reactions:
R1=265 lbs.
R2= 285 lbs.
Write beam equations: 0 0) Then xl = xr Else ea = 0# End If 'terminate computation if stopping criterion is met 'or maximum iterations are exceeded If ea < es Or iter >= imax Then Exit Do Loop FalsePos = xr End Function Function f(c) f = 9.8 * 68.1 / c * (1 - Exp(-(c / 68.1) * 10)) - 40 End Function
For Example 5.5, the Excel worksheet used for input looks like:
The program yields a root of 14.78036 after 4 iterations. The approximate error at this point − is 9.015× 10 3 %. These results are all displayed as message boxes. For example, the solution check is displayed as
5.21 Here is a VBA Sub procedure to implement the false position method which minimizes function evaluations. It is set up to evaluate Example 5.6. Option Explicit Sub TestFP() Dim imax As Integer, iter As Integer Dim x As Double, xl As Double, xu As Double 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.
24 Dim es As Double, ea As Double, xr As Double Dim root As Double 'input information from the user Sheets("Sheet1").Select Range("b4").Select xl = ActiveCell.Value ActiveCell.Offset(1, 0).Select xu = ActiveCell.Value ActiveCell.Offset(1, 0).Select es = ActiveCell.Value ActiveCell.Offset(1, 0).Select imax = ActiveCell.Value Range("b4").Select If f(xl) * f(xu) < 0 Then 'if the initial guesses are valid, implement bisection 'and display results root = FalsePosMin(xl, xu, es, imax, xr, iter, ea) MsgBox "The root is: " & root MsgBox "Iterations: " & iter MsgBox "Estimated error: " & ea MsgBox "f(xr) = " & f(xr) Else 'if the initial guesses are invalid, 'display an error message MsgBox "No sign change between initial guesses" End If End Sub Function FalsePosMin(xl, xu, es, imax, xr, iter, ea) Dim xrold As Double, test As Double Dim fl As Double, fu As Double, fr As Double iter = 0 fl = f(xl) fu = f(xu) Do xrold = xr 'determine new root estimate xr = xu - fu * (xl - xu) / (fl - fu) fr = f(xr) iter = iter + 1 'determine approximate error If xr 0 Then ea = Abs((xr - xrold) / xr) * 100# End If 'determine new bracket test = fl * fr If (test < 0) Then xu = xr fu = fr ElseIf (test > 0) Then xl = xr fl = fr Else ea = 0# End If 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.
25 'terminate computation if stopping criterion is met 'or maximum iterations are exceeded If ea < es Or iter >= imax Then Exit Do Loop FalsePosMin = xr End Function Function f(x) f = x ^ 10 - 1 End Function
For Example 5.6, the Excel worksheet used for input looks like:
The program yields a root of 0.9996887 after 39 iterations. The approximate error at this − point is 9.5× 10 3 %. These results are all displayed as message boxes. For example, the solution check is displayed as
The number of function evaluations for this version is n + 2. This is much smaller than the number of function evaluations in the standard false position method (5n). 5.22 Here is a VBA Sub procedure to implement the modified false position method. It is set up to evaluate Example 5.5. Option Explicit Sub TestModFP() Dim imax As Integer, iter As Integer Dim x As Double, xl As Double, xu As Double Dim es As Double, ea As Double, xr As Double Dim root As Double 'input information from the user Sheets("Sheet1").Select Range("b4").Select xl = ActiveCell.Value ActiveCell.Offset(1, 0).Select xu = 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.
26 ActiveCell.Offset(1, 0).Select es = ActiveCell.Value ActiveCell.Offset(1, 0).Select imax = ActiveCell.Value Range("b4").Select If f(xl) * f(xu) < 0 Then 'if the initial guesses are valid, implement bisection 'and display results root = ModFalsePos(xl, xu, es, imax, xr, iter, ea) MsgBox "The root is: " & root MsgBox "Iterations: " & iter MsgBox "Estimated error: " & ea MsgBox "f(xr) = " & f(xr) Else 'if the initial guesses are invalid, 'display an error message MsgBox "No sign change between initial guesses" End If End Sub Function ModFalsePos(xl, xu, es, imax, xr, iter, ea) Dim il As Integer, iu As Integer Dim xrold As Double, fl As Double Dim fu As Double, fr As Double, test As Double iter = 0 fl = f(xl) fu = f(xu) Do xrold = xr xr = xu - fu * (xl - xu) / (fl - fu) fr = f(xr) iter = iter + 1 If xr 0 Then ea = Abs((xr - xrold) / xr) * 100 End If test = fl * fr If test < 0 Then xu = xr fu = f(xu) iu = 0 il = il + 1 If il >= 2 Then fl = fl / 2 ElseIf test > 0 Then xl = xr fl = f(xl) il = 0 iu = iu + 1 If iu >= 2 Then fu = fu / 2 Else ea = 0# End If If ea < es Or iter >= imax Then Exit Do Loop ModFalsePos = xr End Function 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.
27
Function f(x) f = x ^ 10 - 1 End Function
For Example 5.6, the Excel worksheet used for input looks like:
The program yields a root of 1.0000057 after 12 iterations. The approximate error at this − point is 1.16× 10 3 %. These results are all displayed as message boxes. For example, the solution check is displayed as
Note that the standard false position method requires 39 iterations to attain comparable accuracy.
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.
View more...
Comments