(15C) Accurate TVM for HP15C

01102014, 03:36 AM
(This post was last modified: 01022016 01:46 PM by Jeff_Kearns.)
Post: #1




(15C) Accurate TVM for HP15C
Note: See post #6 for the latest version (now 40 lines in length). I have left previous posts unedited to avoid causing confusion.
This is an adaptation of the Pioneer's (42S/35S/33S/32Sii/32S) Accurate TVM routine for the HP15C using Karl Schneider's technique for invoking SOLVE with the routine written as a MISO (multipleinput, singleoutput) function, using indirect addressing. 001 f LBL E 002 STO(i) 003 RCL 2 004 EEX 005 2 006 ÷ 007 ENTER 008 ENTER 009 1 010 + 011 LN 012 X<>Y 013 LSTx 014 1 015 X≠Y 016  017 ÷ 018 * 019 RCL * 1 020 e^x 021 ENTER 022 RCL * 3 023 X<>Y 024 1 025  026 RCL * 4 027 EEX 028 2 029 RCL ÷ 2 030 RCL + 6 031 * 032 + 033 RCL + 5 034 RTN Usage instructions: 1. Store 4 of the following 5 variables, using appropriate cash flow conventions as follows:
2. Store the register number containing the floating variable to the indirect storage register. 3. f SOLVE E Example from the HP15C Advanced Functions Handbook "Many Pennies (alternatively known as A Penny for Your Thoughts): A corporation retains Susan as a scientific and engineering consultant at a fee of one penny per second for her thoughts, paid every second of every day for a year. Rather than distract her with the sounds of pennies dropping, the corporation proposes to deposit them for her into a bank account in which interest accrues at the rate of 11.25 percent per annum compounded every second. At year's end these pennies will accumulate to a sum total = (payment) X ((1+i/n)^n1)/(i/n) where payment = $0.01 = one penny per second, i = 0.1125 = 11.25 percent per annum interest rate, n = 60 X 60 X 24 X 365 = number of seconds in a year. Using her HP15C, Susan reckons that the total will be $376,877.67. But at year's end the bank account is found to hold $333,783.35 . Is Susan entitled to the $43,094.32 difference?"
The HP15C now gives the correct result: $333,783.35. Thanks to Thomas Klemm for debugging the above routine. Edit: The code has been edited to reflect Thomas' suggested changes below. Jeff Kearns 

01102014, 05:31 AM
Post: #2




RE: Accurate TVM for HP15C  
01102014, 05:38 AM
(This post was last modified: 01102014 05:48 AM by Jeff_Kearns.)
Post: #3




RE: Accurate TVM for HP15C  
01162014, 09:32 PM
Post: #4




RE: Accurate TVM for HP15C  
01162014, 09:38 PM
(This post was last modified: 01162014 09:40 PM by Jeff_Kearns.)
Post: #5




RE: Accurate TVM for HP15C
Dieter wrote: "There's a 1/x too much now. ;) Obviously a leftover from the original code. Take a look at line 30."
Fixed! Thanks Dieter. 

05252014, 03:03 PM
(This post was last modified: 05252014 03:42 PM by Jeff_Kearns.)
Post: #6




RE: Accurate TVM for HP15C
Most accurate version is now 40 lines:
001  LBL E 002  STO (i) 003  RCL 2 004  EEX 005  2 006  / 007  ENTER 008  ENTER 009  1 010  + 011  LN 012  x<>y 013  LSTx 014  1 015  TEST 6 016   017  / 018  x 019  RCLx 1 020  ENTER 021  e^x 022  RCLx 3 023  x<>y 024  2 025  / 026  SINH 027  LSTx 028  e^x 029  x 030  2 031  x 032  RCLx 4 033  EEX 034  2 035  RCL/ 2 036  RCL+ 6 037  x 038  + 039  RCL+ 5 040  RTN 

08272016, 10:07 PM
(This post was last modified: 08272016 10:42 PM by Nick.)
Post: #7




RE: (15C) Accurate TVM for HP15C
UI Mod: 40 step version w/ 12C Layout
Layout (12C): [A: N], [B: I], [C: PV], [D: PMT], [E: FV] Clear: GSB 2  Mnemonic: 12C  Note: You must run Clear to initialize the program before use. Store: STO {A..E} Solve: [f] {A..E} or for User Mode simply {A..E}  (Option) Set X & Y to a range of values to search (slightly faster to run and much slower to key)  (Option) Don't bother entering anything as most of the time it will work asis. Use 1 ENTER or 1 ENTER and rerun if SOLVE fails. (faster to key) Recall: RCL {A..E} Set End (default): 0 STO 2 Set Begin: 1 STO 2  Mnemonic: 12C Code: 01 LBL A Comments:  Uses 1x1 Matricies to treat A..E as direct access registers. This requires R0=1 and R1=1 for A..E to function. This is set via MATRIX 1 in the Initialize/Clear routine. The contents of A..E will not be lost if R0 or R1 are changed, but they must be reset with MATRIX 1 (or manually) to restore direct access.  The 12C style version in the 15C Advanced Functions Handbook p2430 [2012] by contrast is 108 steps long. 

08272016, 10:34 PM
(This post was last modified: 08272016 11:58 PM by Nick.)
Post: #8




RE: (15C) Accurate TVM for HP15C
Issue:
The 40 step version fails when I = 0 (either by setting it as a value or when searching for I). Workaround: Set X & Y = 1 when solving for I (or a similar known range to search) Set I = (a very small interest rate) to approximate 0% interest problems or solve manually. 

« Next Oldest  Next Newest »

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