GSB A runs a Newton-Raphson solver which acts on f(x) = 0 under label E. This program was written to test the hp-15c Simulator by Torsten Manz.

Label E can hold any equation of the form f(x) = 0. Note that some of the hp-15C Owner's Handbook examples may require some extra ENTER statements at the beginning as the stack is expected to be filled with x. The open box example on page 189 requires three ENTER statements at the beginning.

The box should hold a volume V of 7.5 cubic decimetres, i.e. 7.5 litres.

How should the metal be folded for the tallest box in decimetres.

We are using decimetres rather than mm because equation entry is simplified.

Let x be the height.

Volume V = (8 - 2x)(4-2x)x. There are two sides and two ends of height x.

Rearrange to f(x) = 4((x - 6)x + 8)x - V = 0 and solve for the height x.

0 GSB C gives x = 0.2974 decimetres or 29.74 mm - a flat box

1 GSB C gives x = 1.5 decimetres or 150 mm - a reasonable height box.

2 GSB C gives x = 1.5 decimetres or 150 mm - a reasonable height box.

3 GSB C gives x = 0.2974 decimetres or 29.74 mm - a flat box. Here the secant line now intersects the x axis below the smallest root.

4 GSB C gives x = 4.2026 decimetres or 420.26 mm - an impossible box.

do

Calculate f(x1)

If x1 = 0 use 1 instead to avoid a divide by zero from the derivative f'(x1)

define h = 1/10000

calculate f'(x1) ≈ (f(x1+h) - f(x1))/h

calculate f(x1)/f'(x1)

subtract from x1

Loop until f(x1) = 0 within an error tolerance determined by the FIX, SCI or ENG significant digits setting.

Display root x1.

There are useful discussions on Newton's solver for the hp-12C here and here.

SOLVEkey.pdf has a good explanation of the additional tricks used to solve difficult equations using the built-in Solver.

In SCI and ENG modes on the DM15 and a real hp-15C some roots are not always found. This is because RND is implemented slightly differently in the hp-15C Simulator. Just stop the iteration by pressing any key and examine the register where x is held. This can be done with GSB D. Alternatively change to FIX mode - e.g. FIX 4 before solving.

Guesses can be tested with GSB E.

Name | Description | |
---|---|---|

A | Newton-Raphson solve routine - needs one guess in x | |

E | Formula to be Solved, f(x) = 0 | |

1 | loop |

Name | Description | |
---|---|---|

.1 | x1 | |

.2 | f(x1) | |

.3 | h |

Line | Display | Key Sequence | Line | Display | Key Sequence | ||
---|---|---|---|---|---|---|---|

000 | 023 | 43 34 | g RND | ||||

001 | 42,21,11 | f LBL A | 024 | 43,30, 0 | g TEST x≠0 | ||

002 | 44 .1 | STO . 1 | 025 | 22 1 | GTO 1 | ||

003 | 42,21, 1 | f LBL 1 | 026 | 45 .1 | RCL . 1 | ||

004 | 45 .1 | RCL . 1 | 027 | 43 32 | g RTN | ||

005 | 32 15 | GSB E | 028 | 42,21,15 | f LBL E | ||

006 | 44 .2 | STO . 2 | 029 | 36 | ENTER | ||

007 | 45 .1 | RCL . 1 | 030 | 36 | ENTER | ||

008 | 43 20 | g x=0 | 031 | 36 | ENTER | ||

009 | 12 | eˣ | 032 | 6 | 6 | ||

010 | 26 | EEX | 033 | 30 | − | ||

011 | 4 | 4 | 034 | 20 | × | ||

012 | 10 | ÷ | 035 | 8 | 8 | ||

013 | 44 .3 | STO . 3 | 036 | 40 | + | ||

014 | 45,40, .1 | RCL + . 1 | 037 | 20 | × | ||

015 | 32 15 | GSB E | 038 | 4 | 4 | ||

016 | 45,30, .2 | RCL − . 2 | 039 | 20 | × | ||

017 | 45,10, .3 | RCL ÷ . 3 | 040 | 7 | 7 | ||

018 | 45 .2 | RCL . 2 | 041 | 48 | . | ||

019 | 34 | x↔y | 042 | 5 | 5 | ||

020 | 10 | ÷ | 043 | 30 | − | ||

021 | 44,30, .1 | STO − . 1 | 044 | 43 32 | g RTN | ||

022 | 45 .2 | RCL . 2 |