(12C) Numeric Solver - Printable Version +- HP Forums (https://www.hpmuseum.org/forum) +-- Forum: HP Software Libraries (/forum-10.html) +--- Forum: General Software Library (/forum-13.html) +--- Thread: (12C) Numeric Solver (/thread-8154.html) |
(12C) Numeric Solver - Dwight Sturrock - 04-13-2017 01:50 AM This solver uses Newton's method to solve f(x)=0. It is an adaptation of the HP-25 solver (HP-25 Application Programs, Chapter 5). The program uses registers 0, 1, 2, 3 and 4. Enter the program as listed- it will occupy lines 1 through 38. The formula to be solved will start on line 39 and must end with the command GTO 17. EXAMPLE- Solve ln x + 3x -10.8074 = 0 Starting with line 38 displayed, enter the formula: LN LST X 3 * + 1 0 . 8 0 7 4 - GTO 17 Store an initial guess in register 1: 1 STO 1 Store the desired tolerance in register 2: EEX 5 CHS STO 2 Press R/S to solve. Result: 3.21336 PHP Code: CLX RE: (12C) Numeric Solver - Dieter - 04-14-2017 04:33 PM (04-13-2017 01:50 AM)Dwight Sturrock Wrote: This solver uses Newton's method to solve f(x)=0. It is an adaptation of the HP-25 solver (HP-25 Application Programs, Chapter 5). The program calculates h (in R3) as x/1E5. This does not work for x=0 since it yields h=0 and so the derivative gets zero, leading to a division by zero. But this can be fixed easily: ... RCL 1 RCL 1 X=0? e^x EEX 4 / STO 3 ... After this change the GTOs of course need to be updated. One more tip: instead of 2 [Y^X] always use [ENTER] [x]. This is much faster and exact. Dieter RE: (12C) Numeric Solver - Dwight Sturrock - 04-14-2017 10:15 PM (04-14-2017 04:33 PM)Dieter Wrote:(04-13-2017 01:50 AM)Dwight Sturrock Wrote: This solver uses Newton's method to solve f(x)=0. It is an adaptation of the HP-25 solver (HP-25 Application Programs, Chapter 5). Thanks Dieter, I'll try your enhancements and repost. |