(41C) Method of Successive Substitutions

10042020, 04:21 PM
Post: #1




(41C) Method of Successive Substitutions
Repeating the Calculation Again and Again
With an aid of a scientific calculator, we can solve certain problems of the form: f(x) = x. Examples include: tan cos sin x = x e^x = x atan √x = x sin cos x = x (acos x) ^ (1/3) = x In any case with trigonometric functions, the angle mode will need to be in radians. You will also need a good guess to get to a solution and to know that at some real number x, f(x) and x intersect. Take the equation ln(3*x) = x with initial guess x0 = 1.512 Depending on the operating of the scientific calculator the keystrokes would be: AOS: 1.512 [ = ] Loop: [ × ] 3 [ = ] [ ln ] RPN: 1.512 [ENTER] Loop: 3 [ × ] [ ln ] ALG: 1.512 [ENTER/=] Loop: ln( 3 * Ans) [ ENTER/= ] Repeat the loop as many times as you like and hope you start seeing the answers converge. After repeating the loop over and over and over again, at six decimal answers, the readout will be about 1.512135. An approximate answer to ln(3x) = x, x ≈ 1.512134552 If your calculator has a solve function, you can check the answer, but this method can be useful if your calculator does not have a solve function. The program SUCCESS illustrates this method. HP 41C/DM41 Program: SUCCESS This program calls on the subroutine, FX. FX is where you enter f(x). End FX with the RTN command. Code: 01 LBL^T SUCCESS Examples for FX: f(x) = sin cos x. Program: LBL ^FX RAD COS SIN RTN f(x) = e^x Program: LBL ^FX CHS E↑X RTN Be aware, some equations cannot be solved in this manner, such as x = π / sin x and x = ln(1 / x^4). Cheung, Y.L. "Using Scientific Calculators to Demonstrate the Method of Successive Substitutions" The Mathematics Teacher. National Council of Teachers of Mathematics. January 1986, Vol. 79 No. 1 pp. 1517 http://www.jstor.com/stable/27964746 Blog entry: https://edspi31415.blogspot.com/2020/10/...odof.html 

10062020, 12:57 AM
(This post was last modified: 10062020 02:05 AM by Albert Chan.)
Post: #2




RE: (41C) Method of Successive Substitutions
(10042020 04:21 PM)Eddie W. Shore Wrote: Take the equation ln(3*x) = x with initial guess x0 = 1.512 Sometimes, convergence may be slow, or not at all. We can place a weight on it. With my Casio FX115MS 1.512 = ln(3 Ans = → 1.512045566 = → 1.512075703 = → 1.512095633 r = (9563375703) / (7570345566) = 19930 / 30317 Convegence is slow (we wanted small r) Assume same trend continued (constant r), estimated converged to: 1.512045566 + 0.000030317/(1r) = 1.512134548 Let's check if assumption is good. Continued on ... w = 1/(1r) ≈ 3 x = (1w)*x + w*ln(3*x) = 2 x + 3 ln(3*x) 2 Ans + 3 ln( 3 Ans = → 1.512135175 = → 1.512134542 = → 1.512134552, converged see https://www.hpmuseum.org/forum/thread12...#pid112232 

06102022, 07:20 AM
Post: #3




RE: (41C) Method of Successive Substitutions
(10042020 04:21 PM)Eddie W. Shore Wrote: Be aware, some equations cannot be solved in this manner, such as x = π / sin x and x = ln(1 / x^4). In such cases we can often calculate \( f^{1} \) algebraically and use this in the fixedpoint iteration instead. Examples \( \begin{align} f(x) &= \log\left(\frac{1}{x^4}\right) \\ \\ f^{1}(x) &= \sqrt[4]{\frac{1}{e^x}} \\ \end{align} \) Code: 00 { 4Byte Prgm } If we start with \( 1 \) and iterate the program we get: 1.000000000 0.778800783 0.823081384 0.814019998 0.815866125 0.815489664 0.815566418 0.815550768 0.815553959 0.815553309 0.815553441 0.815553414 0.815553420 0.815553419 0.815553419 … The other example is a bit more complicated since ASIN returns a value that doesn't come close to a solution. So we need to adjust this by adding \( 2 \pi \): \( \begin{align} f(x) &= \frac{\pi}{\sin(x)} \\ \\ f^{1}(x) &= \sin^{1}\left(\frac{\pi}{x}\right) + 2 \pi \\ \end{align} \) Code: 00 { 9Byte Prgm } If we start with \( 6 \) and iterate the program we get: 6.000000000 6.834254890 6.760823831 6.766453994 6.766017396 6.766051223 6.766048602 6.766048805 6.766048789 6.766048791 6.766048790 6.766048790 … The reason this works is that at a fixedpoint we have \( x = f(x) \) and thus: \( \begin{align} \frac{\mathrm{d}}{\mathrm{d} x} [ f^{1}\left(f(x)\right) ] &= \frac{\mathrm{d}}{\mathrm{d} x} x \\ \\ {[f^{1}]}' \left(f(x)\right) \cdot {f}'(x) &= 1 \\ \\ {[f^{1}]}' \left(x\right) \cdot {f}'(x) &= 1 \\ \end{align} \) A fixedpoint is attractive if \( f'(x) < 1 \). If this is not the case for \( f \), then the equation above shows that it is true for the derivative of the inverse function. 

06102022, 04:51 PM
Post: #4




RE: (41C) Method of Successive Substitutions
(06102022 07:20 AM)Thomas Klemm Wrote: The other example is a bit more complicated since ASIN returns a value that doesn't come close to a solution. It may be better to rearrange it so we could visualize the curves. x = pi/sin(x) sin(x) = pi/x RHS ≥ 0 → LHS: x (mod 2*pi) = 0 .. pi LHS ≤ 1 → RHS: x ≥ pi First positive solution: x = 2*pi .. 3*pi >>> x = 6.28 >>> for i in range(10): x += pi/x  sin(x); print x ... 6.78343890905 6.76691767331 6.76608868702 6.76605061437 6.76604887382 6.76604879426 6.76604879063 6.76604879046 6.76604879045 6.76604879045 

06112022, 07:11 AM
(This post was last modified: 06182022 05:13 PM by Thomas Klemm.)
Post: #5




RE: (41C) Method of Successive Substitutions
From Plot[{x,Pi/Sin[x]},{x,0,10}]:
… we can find the next solution with the following branch of the inverse function: \( \begin{align} f^{1}(x) &= 3 \pi  \sin^{1}\left(\frac{\pi}{x}\right) \\ \end{align} \) Code: 00 { 10Byte Prgm } If we start with \( 9 \) and iterate the program we get: 9.000000000 9.068203896 9.071004065 9.071118067 9.071122707 9.071122896 9.071122903 9.071122904 9.071122904 … 

06122022, 09:14 PM
Post: #6




RE: (41C) Method of Successive Substitutions
We can already see from these examples that the larger the solution, the faster the convergence.
\( \begin{align} f^{1}(x) &= \sin^{1}\left(\frac{\pi}{x}\right) + 1000 \pi \\ \end{align} \) Code: 00 { 9Byte Prgm } If we start with \( 3141 \) and iterate the program we get: 3141.00000000 3141.59365378 3141.59365359 3141.59365359 … This reminds me of my solution to an older challenge by Valentin: Short & Sweet Math Challenge #19: Surprise ! [LONG] Quote:Instead of solving tan(x) = x, I solved x = arctan(x) using a fixedpoint iteration which converges faster as N grows. The reason is similar: Larger fixedpoints are closer to the poles. As a result, the derivative of the inverse becomes flatter and tends towards \( 0 \). This increases the speed of convergence. 

« Next Oldest  Next Newest »

User(s) browsing this thread: 1 Guest(s)