Friday, April 19, 2019

TI-74: Five Stencil Derivative, Vertical Height on a Hill, Solving Cubic Equations

TI-74:  Five Stencil Derivative, Vertical Height on a Hill, Solving Cubic Equations

TI-74 Program: Five Stencil Derivative

This program estimates the numerical derivative of f(x) at x0 by the formula:

f'(x0) ≈ ( -f(x0+2h) + 8*f(x0+h) - 8*f(x0-h) + f(x0-2h) )/(12h)

Source:  "Five Stencil Method"  Wikipedia.  Page last edited November 8, 2018.  https://en.wikipedia.org/wiki/Five-point_stencil  Retrieved April 14, 2019

Note:  comments (after !) are for notes, and do not need to be typed. 


500 PRINT "F(X) IS ON LINE 550.": PAUSE 1: RAD  ! RAD sets radians mode
502 INPU T "X: ";A
504 INPUT "H: ";H
506 D=0: X=A+2*H: GOSUB 550
508 D=-F: X =A+H: GOSUB 550
510 D=8*F+D: X=A-H: GOSUB 550
512 D=D-8*F: X=A-2*H: GOSUB 550
514 D=(D+F)/(12*H)
516 PRINT "DF/DX =";D: PAUSE 
518 END
550 F=5.2^X  ! Insert F(X) here
552 END

Examples:

550  F=5.2^X
x0 = 1.2, h = 0.001, Result:  11.92160564

550 F=EXP(X)*SIN(X)
x0 = PI/3, h = PI/24, Result: 3.892851849

TI-74 Program:  Vertical Height on a Hill

Variables:
H = height of the observer
L = horizontal length
V = vertical angle (entered in degrees-minutes-seconds, DD.MMSSSS)
G = ground slope (entered in degrees-minutes-seconds, DD.MMSSSS)

If G>0, the hill is at an elevation.  If G<), the hill is at an depression.

T = total height = vertical difference + observer's height
T = L * (tan V - tan G) + H

Since there is no DMS to decimal conversion function in TI-74's basic, a conversion is necessary. The following is sample code where A is DMS format needed to be converted:

T = ABS(A)
D = INT(T)
M = INT((T-D)*100)
S = ((T-D)*100-M)*100
A = (D+M/60+S/3600)*SGN(A)

The program code is shown below:

600 INPUT "LENGTH: ";L
602 INPUT "OBSERVER'S HEIGHT: ";H   ! ' is SHIFT + SPACE

604 DEG: PRINT "ANGELS IN DD.MMSSSS": PAUSE 1.5
606 INPUT "VERTICAL ANGLE: ";V: A=ABS(V)
608 D=INT(A): M=INT((A-D)*100): S=((A-D)*100-M)*100
612  V=(D+M/60+S/3600)*SGN(V)

614 INPUT "GROUND SLOPE: ";G: A=ABS(G)
616 D=INT(A): M=INT((A-D)*100): S=((A-D)*100-M)*100
618 G=(D+M/60+S/3600)*SGN(G)

620 T=L*(TAN(V)-TAN(G))+H
622 PRINT "TOTAL HEIGHT =";T: PAUSE
624 END

Examples:

Input:  L: 10 m, V: 30°14'33", G: 10°30'00", H = 1.7780 m
Result:  T = 5.754638129 m

Input:  L: 10 m, V: 30°14'33", G: -10°30'00", H = 1.7780 m
Result:  T = 9.461464028 m

Source: 

F.A. Shepherd "Engineering Surveying: Problems and Solutions" 2nd Edition  Edward Arnold Publishers Ltd.  London, UK  1983 ISBN 0-7131-3478-X

TI-74 Program:  Solving Cubic Equations

This program solves the cubic equation:

A*X^3 + B*X^2 + C*X + D = 0

This program uses Newton's method to get the first root, then divides the polynomial by (x - root).  Finally the quadratic formula is used to find the other two roots.  This program assumes the coefficients A, B, C, and D are real.  An initial guess of 1 is used (can be changed, see line 710).

700 PRINT "A*X^3+B*X^2+C*X+D=0, REAL COEFS.": PAUSE 1.5
702 INPUT "A: ";A
704 INPUT "B: ";B
706 INPUT "C: ";C
708 INPUT "D: ";D

710 X=1
712 XN=X-(A*X^3+B*X^2+C*X+D)/(3*A*X^2+2*B*X+C)
714 IF ABS(XN-N)<1e-9 718="" font="" then="">
716 X=XN: GOTO 712

718 X1=XN
720 PRINT "X1 =";X1: PAUSE
722 J=-(A*X1+B)
724 K=(A*X1+B)^2-4*A*(A*X1^2+B*X1+C)
726 IF K<0 750="" font="" then="">
728 X2=(J+SQR(K))/(2*A): X3=(J-SQR(K))/(2*A)
730 PRINT "X2 =";X2: PAUSE
732 PRINT "X3 =";X3: PAUSE
734 END

750 XR=J/(2*A): XI=SQR(ABS(K))/(2*A)
752 PRINT XR;"+- ";XI;"I": PAUSE
754 END

Example:
A: 1, B: 1, C: -9, D: -9
Roots: -3, 3, 1
Eddie

All original content copyright, © 2011-2019.  Edward Shore.   Unauthorized use and/or unauthorized distribution for commercial purposes without express and written permission from the author is strictly prohibited.  This blog entry may be distributed for noncommercial purposes, provided that full credit is given to the author.

Thursday, April 18, 2019

TI-74: Lottery, Solving Linear Equation Script, Escape Velocity Solver

TI-74:  Lottery, Solving Linear Equation Script, Escape Velocity Solver

TI-74 Program:  Lottery

This program collects six random digits from 1 to 63.  The results are stored in an array N.  The dimension pointers of the TI-74 are from 0 to n-1. 

To execute:  RUN 200

Note:  comments (after !) are for notes, and do not need to be typed. 

200 DIM N(5)
202 INPUT "SEED: ";S
204 RANDOMIZE S
210 FOR I=0 TO 5    ! choose random numbers
212 R=INT(RND*63+1)
220 FOR J=0 TO 5   ! check to see if the random number is unique
222 IF R=N(J) THEN 212
224 NEXT J
230 N(I) = R
232 K=K+1
234 PRINT "# "&STR$(K)$": "&STR$(N(I))
236 PAUSE 1.5
240 NEXT I
242 END

TI-74 Program:  Solving Linear Equation Script

This program uses READ and DATA to execute a teaching script.

To execute:  RUN 300

300 FOR I=1 TO 5
302 READ S$  ! string variables have the dollars sign after the name
304 PRINT S$: PAUSE
306 NEXT
310 DATA "To Solve: a*x + b = c"
312 DATA "a*x + b - b = c - b"
314 DATA "a*x = c - b"
316 DATA "(a*x)/a = (c-b)/a"
318 DATA "x = (c-b)/a"
320 END

TI-74 Program:  Escape Velocity Solver

This program is in two stages:
1.  Enter data.  Use M, R, or V to enter data.  When done, press C to solve.
2.  Choose which variable to solve for. 

M = mass of the planet in kg
R = radius of the planet in km
V = escape velocity in km/s

G = Universal Gravitational Constant
= 6.672E-11 m^3/(kg*s^2) = 6.672E-20 km^3/(kg*s^2)

Equation:  V = √(2 * G * M/R)

To execute:  RUN 400

400 M=0:R=0:V=0:G=6.674E-20
402 PRINT "M MASS, R RADIUS, V VEL, CALC":K$=KEY$
406 IF K$="M" THEN 420
408 IF K$="R" THEN 430
410 IF K$="V" THEN 440
412 IF K$ = "C" THEN 450
414 GOTO 402   ! repeats loop if any other key is pressed

420 INPUT "MASS (KG): ";M
422 GOTO 402
430 INPUT "RADIUS (KM): ";R
432 GOTO 402
440 INPUT "VELOCITY (KM/S): ";V
442 GOTO 402
450 PRINT "SOLVER: M,R,V": K$=KEY$

452 IF K$="M" THEN 460
454 IF K$="R" THEN 470
456 IF K$="V" THEN 480
458 GOTO 450

460 M=V^2*R/(2*G)
462 PRINT "MASS =";M;" KG": PAUSE
464 GOTO 490
470 R=2*G*M/V^2
472 PRINT "RADIUS =";R;" KM": PAUSE
474 GOTO 490
480 V=SQR(2*G*M/R)   ! SQR is √
482 PRINT "VELOCITY =";V;" KM/S": PAUSE
484 GOTO 490

490 PRINT "AGAIN? Y/N": K$=KEY$
492 IF K$="Y" THEN 402
494 IF K$="N" THEN END
496 GOTO 490

Examples: 

Solve for V:   M: 5.9724E24 kg, R:  6374 km,  Result: V ≈ 11.178 KM/S
*Escape Velocity for Earth

Solve for M:  R: 5800 km, V: 16 km/s,  Result:  M ≈ 1.112E25 kg

Solve for R:  M: 3.8E24 kg, V: 22 km/s, Result:  R ≈ 1048.0148 km

Eddie

All original content copyright, © 2011-2019.  Edward Shore.   Unauthorized use and/or unauthorized distribution for commercial purposes without express and written permission from the author is strictly prohibited.  This blog entry may be distributed for noncommercial purposes, provided that full credit is given to the author.

Tuesday, April 16, 2019

My Blog Turns 8!

My Blog Turns 8!



It turns out last year I was a bit early on declaring my blog's birthday.  My first blog was not on April 11, 2011 but on April 16, 2011.  Here it is:

https://edspi31415.blogspot.com/2011/04/hi-everyone-this-is-my-very-first-blog.html

Not too exciting, I know.  The first mathematical topic I did was reviewing the HP 10BII+ financial calculator:

A first look on April 18, 2011:

https://edspi31415.blogspot.com/2011/04/hp-10bii-first-look.html

And here was my review of it on April 20, 2011:

https://edspi31415.blogspot.com/2011/04/10bii-review.html

What followed is a popular review of my blog, the review of the Texas Instruments TI-36X Pro, which was posted on April 27, 2011:

https://edspi31415.blogspot.com/2011/04/ti-36-pro-review.html

I just want to give a big shout out and thanks to each and every one of you.  I am happy and fortunate to share my love of mathematics and calculators with all of you.  Here's to many more years, readers!

Eddie Shore

All original content copyright, © 2011-2019.  Edward Shore.   Unauthorized use and/or unauthorized distribution for commercial purposes without express and written permission from the author is strictly prohibited.  This blog entry may be distributed for noncommercial purposes, provided that full credit is given to the author.

Thursday, April 11, 2019

Quickie RPN Routines: HP 42S, DM42, Free 42

Quickie RPN Routines: HP 42S, DM42, Free 42

X, Y refer to their respective stacks and their values

1 + 1 /( 3^(2*X)) + 1/(5^(2*X))

Routine A:
(Labels are omitted for these exercises)

2
*
ENTER
ENTER
3
X <> Y
Y  ↑X
1 / X
X <> Y

X <> Y
Y ↑ X
1 / X
+
1
+
END

Routine B:

2
*
+ / -
3
X <> Y
Y ↑ X
LAST X
5
X <> Y
Y ↑ X
+
1
+
END

Examples:
X:  2.0000,  Result: 1.0139
X:  3.1666,  Result: 1.0010


(X + Y)*(X^2 + Y^2)

Routine A:

ENTER 
X ↑ 2
R ↓
X <> Y
+
LAST X
X ↑ 2
R ↑

*
END

Routine B:

STO ST Z
X ↑ 2
X <> Y
STO + ST Z
X ↑ 2
+
*
END

Examples:
X:  4.0000, Y: 3.0000, Result: 175.0000
X:  2.7000, Y: 3.6000, Result: 127.5750

√(1 + X^2) / √(1 - X^2)

Routine A:

X ↑ 2
1
X <> Y

LAST X
1
+
X <> Y
÷
SQRT
END

Routine B:

X ↑ 2
ENTER
ENTER
1
STO + ST Z
STO - ST Y
R ↓
+ / -
÷
SQRT
END

Examples:
X: 0.5556, Result: 1.3759
X: 0.7278, Result: 1.8035

X / √(X^2 + Y^2)

Routine: 

X ↑ 2 
X <> Y
STO ST Z
X ↑ 2
+
SQRT
÷
END

Examples:
X:  0.5000, Y:  0.7500, Result: 0.5547
X:  1.8080, Y:  1.0220, Result: 0.8705

(X + Y) / (X * Y)

Routine  A:

STO ST Z
X <> Y
STO + ST Z
*
÷
END

Routine B:

ENTER 
R ↓
X <> Y
+
LAST X
R ↑

÷
END

Examples:
X:  5.0000, Y: 4.0000, Result:  0.4500
X:  2.9505, Y: 3.8181, Result:  0.6008

X^Y + Y^X

Routine A:

ENTER
R ↓
X <> Y
Y ↑ X
LAST X
R ↑
Y ↑ X
+
END

Routine B:

ENTER 
R ↓
X <> Y
Y ↑ X
LAST X
R ↑
Y ↑ X
+
END

Examples:
X:  3.9050, Y: 2.7006, Result:  88.0041
X:  4.2650, Y: 4.8750, Result:  2036.6461

Have fun!  See you all next week! 

Eddie

All original content copyright, © 2011-2019.  Edward Shore.   Unauthorized use and/or unauthorized distribution for commercial purposes without express and written permission from the author is strictly prohibited.  This blog entry may be distributed for noncommercial purposes, provided that full credit is given to the author.

Wednesday, April 10, 2019

Casio MS-80 Series and HP 17BII+: Using Exchange Rates for US/SI Conversions

Casio MS-80 Series and HP 17BII+:  Using Exchange Rates for US/SI Conversions

Casio MS-80 Series



I am demonstrating this technique on a Casio MS-80TV, however, this can apply to any desktop calculator which exchange rate functions are offered.  This includes the Casio MS-6CO (where the keys are labeled METRIC|CONV) and Casio MS-80B.

To set the rate:

1.  Set the calculator to Exchange Mode.  Press [MODE M/EX] until EXCH appears in the display. 
2.  Press [ AC ] then hold [ % ] until the display refreshes.  The display will then say SET.
3.  Select the exchange memory rate you want to set.  C2, C3, some models have C4. 
4.  Enter the conversion rate.  You can include up to six significant digits. 
5.  Press [ % ]. 
6.  Press [ AC ] to clear the calculator.

Multiply by the rate:  n [C1] [C2]*

Divide by the rate:  n [C2]* [C1]

* can be C3 or C4

Example: 1  US mile = 1.609344 km

We'll use the approximation 1 mi ≈ 1.60934 km

Keystrokes:
(in EXCH mode): 
[AC] hold [  % ]
(SET is displayed)
[C2] 1.60934 [ % ]
[AC]

Convert 20 mi to km:  20 [C1] [C2]  (Result:  32.1868)
Convert 50 km to mi:  50 [C2] [C1]  (Result:  31.068636)

Hewlett Packard HP 17BII+



This applies to the revised HP 17BII+ series, not the original. 

To set the rate:

1.  From the main menu, select (CURRX) (currency conversion mode).
2.  Press (SELCT).  At the prompt "SELECT CURRENCY 1", choose a currency name.  I suggest A [ ( MORE) (MORE) ( A )].
3.  Press (SELCT).  At the prompt "SELECT CURRENCY 2", choose a currency name.  I suggest B [ ( MORE) (MORE) ( B )].
4.  Enter your conversion rate.  Unlike the Casio MS-80 series, there is no limit to the number of significant digits you can enter.  Press (RATE).  If your labels (currencies) have already been set, you can skip steps 2 and 3 and instead, enter the conversion rate and press (RATE).

Multiply by the rate*:  n ( A ) ( B )

Divide by the rate*:  n ( B ) ( A )

* or whatever the labels you designate.  ( A ) is on the left, ( B ) is on the right.

Going back to our example:  1  US mile = 1.609344 km

Keystrokes (ALL display format is selected for this example):
(in CURRX mode)
(SELCT) (MORE) (MORE) ( A )*
(SELCT) (MORE) (MORE) ( B )*
1.609344 (RATE)

Convert 20 mi to km:  20 ( A ) ( B )  (Result:  32.18688)
Convert 50 km to mi:  50 ( B ) ( A ) (Result:  31.0685596119)

Eddie

All original content copyright, © 2011-2019.  Edward Shore.   Unauthorized use and/or unauthorized distribution for commercial purposes without express and written permission from the author is strictly prohibited.  This blog entry may be distributed for noncommercial purposes, provided that full credit is given to the author.

Sunday, April 7, 2019

HP Prime and TI-84 Plus CE: Drawing Angles

HP Prime and TI-84 Plus CE:  Drawing Angles

Introduction

The program DRAWANG draws an angle.  You give the starting line from coordinates (0,0) to (A,B).  The origin is given automatically.  The calculator will then a draw a line that results from the given angle θ from the origin to a calculated point. 

The calculator will work in the angle mode your calculator mode is currently set.

For clockwise angles, enter θ as negative.

For counterclockwise angles, enter θ as positive.

HP Prime Program DRAWANG

EXPORT DRAWANG()
BEGIN
// 2019-04-04 EWS
STARTAPP("Function");
Xmin:=−11; Xmax:=11;
Ymin:=−11; Ymax:=11;
LOCAL A,B,C,D,R,θ,Z;
INPUT({A,B,θ},"Begin Point (A,B)
; Angle θ",{"A:","B:","θ:"},
{"−10≤A≤10","−10≤B≤10","Angle"});
R:=√(A^2+B^2);
Z:=θ+ARG(A+B*i);
C:=R*COS(Z); D:=R*SIN(Z);
RECT();
// Axes
LINE(−11,0,11,0,#D0D0D0h);
LINE(0,−11,0,11,#D0D0D0h);

// Angle
LINE(0,0,A,B,#FF0000h);
LINE(0,0,C,D,#0000FFh);
TEXTOUT("Angle: "+STRING(θ),
−11,11,3,#006000h);
WAIT(0);
END;

(Alternatively, with HComplex set to 1  (allow complex numbers from real input, and display them as a+bi):

EXPORT DRAWANG()
BEGIN
// 2019-04-04 EWS
HComplex:=1;
STARTAPP("Function");
Xmin:=−11; Xmax:=11;
Ymin:=−11; Ymax:=11;
LOCAL A,B,C,D,R,θ,Z;
INPUT({A,B,θ},"Begin Point (A,B)
; Angle θ",{"A:","B:","θ:"},
{"−10≤A≤10","−10≤B≤10","Angle"});
R:=√(A^2+B^2);
Z:=θ+ARG(A+B*√(-1));
C:=R*COS(Z); D:=R*SIN(Z);
RECT();
// Axes
LINE(−11,0,11,0,#D0D0D0h);
LINE(0,−11,0,11,#D0D0D0h);

// Angle
LINE(0,0,A,B,#FF0000h);
LINE(0,0,C,D,#0000FFh);
TEXTOUT("Angle: "+STRING(θ),
−11,11,3,#006000h);
WAIT(0);
END;

The latter program can be copied straight from the blog as text.  The former will be needed to type in manually. 


TI-84 Plus CE Program DRAWANG

"2019-04-04 EWS"
Func
ZStandard
PlotsOff 
FnOff 
ClrDraw
AxesOn 
Disp "BGN POINT (A,B)","­10≤A≤10,­10≤B≤10","θ: ANGLE"
Prompt A,B,θ
√(A²+B²)→R
θ+R▶ Pθ(A,B)→Z
R*cos(Z)→C
R*sin(Z)→D
Line(0,0,A,B,RED)
Line(0,0,C,D,BLUE)
TextColor(GREEN)
Text(0,0,"ANGLE: "+toString(θ))
DispGraph



Eddie

All original content copyright, © 2011-2019.  Edward Shore.   Unauthorized use and/or unauthorized distribution for commercial purposes without express and written permission from the author is strictly prohibited.  This blog entry may be distributed for noncommercial purposes, provided that full credit is given to the author.

TI 84 Plus CE: Linear Equation Algebra Drill

TI 84 Plus CE: Linear Equation Algebra Drill





Note:  This program is recommended for the TI-84 Plus CE with OS 5.2 or later.

The program ALGDRILL has the user answer ten questions to solve for x in the following linear equation:

A * X + B = C

The values of A, B, and C are randomly selected from -10 to 10. Note that A ≠ 0.

TI-84 Plus CE Program ALGDRILL

"EWS 2019-04-07"
0→S

For(K,1,10)
0→A:0→B

Repeat A≠0 and B≠0
randInt(­10,10)→A
randInt(­10,10)→B
End

randInt(­10,10)→C
(C-B)/A→X
ClrHome
Disp toString(K)+". : "+toString(A)+"X + "+toString(B)+" = "+toString(C)
Input Y

If Y=X
Then
Disp "CORRECT :)",X ▶Frac
S+1→S
Else
Disp "INCORRECT.","ANSWER: ",X▶Frac
End
Pause

End
ClrHome
Disp "SCORE: "+toString(S)+"/10"
If S≥8
Disp "WELL DONE!"

Download the program here:  https://drive.google.com/file/d/13udTfPgG_qqEry1ILBD1UjvJ1JWi-mz7/view?usp=sharing

Eddie


All original content copyright, © 2011-2019.  Edward Shore.   Unauthorized use and/or unauthorized distribution for commercial purposes without express and written permission from the author is strictly prohibited.  This blog entry may be distributed for noncommercial purposes, provided that full credit is given to the author.

TI-74: Five Stencil Derivative, Vertical Height on a Hill, Solving Cubic Equations

TI-74:  Five Stencil Derivative, Vertical Height on a Hill, Solving Cubic Equations TI-74 Program: Five Stencil Derivative This program...