Trigonometric Functions (HP-17BII) « Next Oldest | Next Newest »

 ▼ Gerson W. Barbosa Posting Freak Posts: 2,761 Threads: 100 Joined: Jul 2005 04-07-2013, 07:37 PM Here is a new set of trigonometric functions equations for the HP-17BII. These are based upon approximations for both sine and cosine involving a few Taylor series terms and the correspondent hyperbolic functions, as discussed here last week. ```SIN=(1-2*IP((MOD(X:360)/180)))*(2*SIGMA(K:1:21:4:(L(A:MOD(X:180)*PI/180))^K/FACT(K))-(EXP(G(A))-EXP(-G(A)))/2)COS=(1-2*IP((MOD(X+90:360)/180)))*(2*SIGMA(K:1:21:4:(L(A:MOD(X+90:180)*PI/180))^K/FACT(K))-(EXP(G(A))-EXP(-G(A)))/2)TAN=(4*SIGMA(K:1:21:4:(L(A:MOD(X:180)*PI/180))^K/FACT(K))-EXP(G(A))+EXP(-G(A)))/ (4*SIGMA(K:0:20:4:(L(A:MOD(X:180)*PI/180))^K/FACT(K))-EXP(G(A))-EXP(-G(A))) ``` The equations are short enough to be quickly keyed into the calculator without mistakes. Arguments in degrees up to +/- 999 999 999 999 are accepted for SIN and TAN (The range is slightly shorter for COS because it is computed as SIN shifted 90 degrees).The maximum absolute error for SIN should be in theory 3.5*10-13 (2*pi^25/25! -- that is close to what is obtained on the HP-200LX solver as can be seen in the third plot), but in practice the HP-17BII, a 12-digit calculator (four less than the HP-200LX solver), can deliver results accurate to 10 or 11 results only. When working next to its accuracy level, the HP-200LX loses about two digits of accuracy (second plot). The running times are very good: about 1.1 second for SIN and COS and 2.2 seconds for TAN. Of course the inverse functions can also be calculated, but this will take longer and will depend on the initial guess. Plots of SIN, COS and TAN on the HP-200LX: The second plot shows the difference of the SIN equation in relation to the built-in SIN function (in degrees mode), when seven terms of the Taylor series are used (...SIGMA(K:1:25:4:...). For arguments and results in radians, the conversion factor pi/180 should be used. Alternatively, the following set of equations (arguments and results in radians, but input range limited to [-pi..pi]) can be used: ```SIN=2*SIGMA(K:1:21:4:X^K/FACT(K))-(EXP(X)-EXP(-X))/2COS=2*SIGMA(K:0:20:4:X^K/FACT(K))-(EXP(X)+EXP(-X))/2TAN=(4*SIGMA(K:1:21:4:X^K/FACT(K))-EXP(X)+EXP(-X))/(4*SIGMA(K:0:20:4:X^K/FACT(K))-EXP(X)-EXP(-X)) ``` This latter set should work on all HP-17BII versions. I don't have any HP-17BII+ handy to test the first set of equations. Perhaps a few changes have to me made, because of issues with L() and G() on the newest models. ▼ Namir Posting Freak Posts: 2,247 Threads: 200 Joined: Jun 2005 04-08-2013, 08:48 AM The cos-cosh and sin-sinh series calculate the cos and sin values, respectively, with good accuracy. They are rivaled (as web searches recently reminded me) by their CORDIC versions for cos and sin. The CORDIC algorithms use pre-calculated tables of values to replace the rich list of polynomial coefficients used by summation series. The moral of the proverbial story is ... if you need to calculate cos and sin (and other trig functions and their inverses) you need to work with sizable arrays of coefficients or tables. In other words, high-precision results come with a serious calculation effort. Using polynomials with 2 to 4 coefficients will generally not give you high precision results. You will get results that are good for a few decimal places. These limited results were acceptable in the days when the slide rule and log tables were kings and ruled the computational landscape! The advent of electronic calculators dethroned these vintage tools and made us expect high precision results. Namir ▼ Gerson W. Barbosa Posting Freak Posts: 2,761 Threads: 100 Joined: Jul 2005 04-09-2013, 11:57 PM Namir, Here is a very good reference, in case you are not aware of it yet: BTW, here is the Minimax version of the radians sine equation (input range [-pi..pi]). The polynomial is four orders lower (that it, one term less), evaluated using Horner's Method. Also, there is only one instance of EXP, thus the the evaluation is very fast (about 0.7 seconds). ```SIN=X*(2+L(Q:SQ(SQ(X)))*(1/60+G(Q)*(5.511463854E-6+G(Q)*( 3.211803895E-10+5.6307313E-15*G(Q)))))-(L(V:EXP(X))-1/G(V))/2``` Regards, Gerson. -------------------- ```SUMMARY MINIMAX EQUATIONS (RADIANS) SIN=X*(2+L(Q:SQ(SQ(X)))*(1/60+G(Q)*(5.511463854E-6+G(Q) *(3.211803895E-10+5.6307313E-15*G(Q)))))-(EXP(X)-EXP(-X))/2 COS=(L(V:SQRT(2)*(2+L(Q:SQ(SQ(X)))*(1/192+G(Q)*( 1.93762394E-7+1.01959E-12*G(Q)))-(EXP(X/2)+EXP(-X/2))/2))+1)* (G(V)-1) FULL RANGE TAYLOR SERIES EQUATIONS (DEGREES) SIN=(1-2*IP((MOD(X:360)/180)))*(2*SIGMA(K:1:21:4:(L(A:MOD(X: 180)*PI/180))^K/FACT(K))-(EXP(G(A))-EXP(-G(A)))/2) COS=(1-2*IP((MOD(X+90:360)/180)))*(2*SIGMA(K:1:21:4:(L(A:MOD( X+90:180)*PI/180))^K/FACT(K))-(EXP(G(A))-EXP(-G(A)))/2) TAN=(4*SIGMA(K:1:21:4:(L(A:MOD(X:180)*PI/180))^K/FACT(K))-EXP (G(A))+EXP(-G(A)))/(4*SIGMA(K:0:20:4:G(A)^K/FACT(K))-EXP(G(A)) -EXP(-G(A))) FULL RANGE MINIMAX EQUATIONS (DEGREES) SIN=(1-2*IP((MOD(X:360)/180)))*(L(A:MOD(X:180)*PI/180)*(2+L( Q:SQ(SQ(G(A))))*(1/60+G(Q)*(5.511463854E-6+G(Q)*( 3.211803895E-10+5.6307313E-15*G(Q)))))-(EXP(G(A))-EXP(-G(A))) /2) COS=(1-2*IP((MOD(X+90:360)/180)))*(L(A:MOD(X+90:180)*PI/180)* (2+L(Q:SQ(SQ(G(A))))*(1/60+G(Q)*(5.511463854E-6+G(Q)*( 3.211803895E-10+5.6307313E-15*G(Q)))))-(EXP(G(A))-EXP(-G(A))) /2) TAN=(L(A:MOD(X:180)*PI/180)*(2+L(Q:SQ(SQ(G(A))))*(1/60+G(Q)*( 5.511463854E-6+G(Q)*(3.211803895E-10+5.6307313E-15*G(Q)))))-( EXP(G(A))-EXP(-G(A)))/2)/((L(V:SQRT(2)*(2+G(Q)*(1/192+G(Q)*( 1.93762394E-7+1.01959E-12*G(Q)))-(EXP(G(A)/2)+EXP(-G(A)/2))/ 2))+1)*(G(V)-1)) ``` Edited: 11 Apr 2013, 11:41 a.m.

 Possibly Related Threads... Thread Author Replies Views Last Post Solver issue with HP 17BII - different from 19BII Jeff Kearns 13 578 11-28-2013, 02:36 AM Last Post: Don Shepherd 17BII & 17BII+ Discounted Payback Period Revisited Tom Neudorfl 8 468 11-25-2013, 10:28 AM Last Post: Don Shepherd HP Prime - CAS functions in Spreadsheet App CR Haeger 6 413 11-11-2013, 12:37 AM Last Post: Michael de Estrada [41CL] New Extra Functions version Monte Dalrymple 0 177 11-08-2013, 04:32 PM Last Post: Monte Dalrymple HP Prime: in need of help with defining functions Alberto Candel 14 697 10-27-2013, 10:48 AM Last Post: Alberto Candel Is the Prime a superset of the HP 17bII+ ? vrrr 3 254 10-16-2013, 12:03 PM Last Post: Michael de Estrada HP Prime spreadsheet functions SanS 0 412 10-04-2013, 04:23 AM Last Post: SanS Stats functions on the HP34S Nicholas van Stigt 5 309 09-24-2013, 02:45 AM Last Post: Nick_S Trig Functions Howard Owen 11 549 09-16-2013, 02:53 PM Last Post: Fred Lusk 50g piecewise functions Kurt Fankhauser 6 320 09-15-2013, 08:01 PM Last Post: Kurt Fankhauser

Forum Jump: 