## Sunday, February 25, 2024

### Casio Graphing Calculators: Equation Variables

Casio Graphing Calculators: Equation Variables

Introduction

Most modern Casio graphing calculators have an Equation solver mode that solves linear systems (Simultaneous), polynomials (Polynomial), and general equations.

To find run Equation mode, press [ MENU ] { A }*.

(*Equation mode is currently option A (fx-9750GIII, fx-CG 50, fx-CG 10/20, fx-9860 Slim))

Simultaneous Equations: SimRes and SimCoef

The simultaneous equation mode solves linear systems up to 6 x 6. The coefficients of the equations are stored in the variable Sim Coef (labeled SimCoef in VARS-EQUATION menu) while the results are stored in the variable Sim Result (labeled SimRes).

Polynomials: PlyRes and PlyCoef

The polynomial equation mode solves polynomials with real coefficients up to degree 6 (3 in early graphing models). The coefficients of the polynomial are stored in the variable Poly Coef (labeled PolyCoef in the VARS-EQUATION menu) while the results are stored in the variable Poly Result (labeled PolyRes).

Accessing Equation Variables Outside of Equation Mode

The four equation variables can be recalled by pressing [ VARS ], [ F6 ] { > }, [ EQUA ] { F3 }.

F1: SimRes (S·Rlt on older models)

F2: SimCoef (S·Cof on older models)

F3: PlyRes (P·Rlt on older models)

F4: PlyCof (P·Cof on older models)

The four variables are read-only matrices. We can not store values or information to read-only variables.

If we want to extract specific values from the equations variables, we must store them into a Matrix variable (A – Z, θ). For example, to retrieve the number from the 1st row and column of Sim Coef:

Sim Coef → Mat A

Mat A[1,1]

We can execute operations on equation variables. An interesting check is to run the simultaneous solver of the variable by typing:

Rref Sim Coef

Until next time,

Eddie

All original content copyright, © 2011-2024. 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.

## Saturday, February 24, 2024

### Swiss Micros DM42 and HP 42S: Moon Landing Simulator from the HP 33-E Applications Book

Swiss Micros DM42 and HP 42S: Moon Landing Simulator from the HP 33-E Applications Book

Landing the Rocket

The goal is to provide enough fuel to get the rocket to land on the moon safely. The use of fuel pushes the rocket away from the surface and slow down the descent. Don’t crash or use too much fuel to escape into space.

Variables:

X: Position

V: Velocity

F: Fuel

G: Gravity

B: Amount of Fuel to burn

Initial Values (from the HP-33E Applications):

X = 500

V = -50

F = 120

G = 5

I wasn't sure about the win condition (X = 0, V = 0?).

I show the position, velocity, and fuel after each successful turn. Enter the amount of units to burn at the burn prompt.

DM42 and HP 42S Code: MOON

00 { 184-Byte Prgm }

01▸LBL "MOON"

02 500

03 STO "X"

04 -50

05 STO "V"

06 120

07 STO "F"

08 5

09 STO "G"

10▸LBL 01

11 "POS:"

12 ARCL "X"

13 AVIEW

14 STOP

15 "VEL:"

16 ARCL "V"

17 AVIEW

18 STOP

19 "FUEL:"

20 ARCL "F"

21 AVIEW

22 STOP

23 RCL "X"

24 X=0?

25 GTO 07

26▸LBL 02

27 "BURN?"

28 PROMPT

29 STO "B"

30 RCL "F"

31 X<Y?

32 GTO 05

33▸LBL 03

34 RCL "B"

35 STO- "F"

36 RCL- "G"

37 STO "A"

38 RCL "V"

39 RCL+ "X"

40 RCL "A"

41 2

42 ÷

43 +

44 STO "X"

45 X≥0?

46 GTO 04

47 GTO 06

48▸LBL 04

49 RCL "V"

50 RCL+ "A"

51 STO "V"

52 GTO 01

53▸LBL 05

54 2

55 RCL× "G"

56 RCL "V"

57 X↑2

58 +

59 SQRT

60 +/-

61 STO "V"

62▸LBL 06

63 "VEL:"

64 ARCL "V"

65 AVIEW

66 "YOU LOSE"

67 AVIEW

68 RTN

69▸LBL 07

70 "SUCCESS!"

71 AVIEW

72 .END.

Example Game

XEQ "MOON"

Initial Turn

POS: 500

VEL: -50

FUEL: 120

BURN? 0

POS: 447.5

VEL: -55

FUEL: 120

BURN? 0

POS: 390

VEL: -60

FUEL: 120

BURN? 0

POS: 327.5

VEL: -65

FUEL: 120

BURN? 5

POS: 262.5

VEL: -65

FUEL: 115

BURN? 0

POS: 195

VEL: -70

FUEL: 115

BURN? 5

POS: 125

VEL: -70

FUEL: 115

BURN? 10

POS: 57.5

VEL: -65

FUEL: 100

BURN? 12.5

"YOU LOSE" -3.75

So close. Good luck!

Source

HP-33 Applications. Hewlett Packard. Corvallis, OR. February 1978

Eddie

All original content copyright, © 2011-2024. 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, February 18, 2024

### Casio fx-CG 50 CORDIC Simulation: Approximating Sine and Cosine of Angles

Casio fx-CG 50 CORDIC Simulation:  Approximating Sine and Cosine of Angles

Introduction - How Computers Calculate Mathematical Functions

First developed by Jack E. Volder, the Coordinate Rotation Digital Computer, better known as CORDIC, is an algorithm used to calculate many mathematical functions, including trigonometric functions, logarithms, exponentials, and hyperbolic functions.     CORDIC is a fundamental algorithm, which variants of CORDIC are used in computers and calculators.

Today's focus will be a calculating sines and cosines of angles.  The steps will be detailed in the next sections.

CORDIC1:  Series of Arctangents

Let Θ be the angle.   The first step is to build Θ as additions and subtractions of terms of arctan(1 ÷ (2^n)), starting at n = 0 and stopping at the required accuracy.  Let A be the approximation.

Examples:

Θ = 45° requires only one term:

A = 45° = arctan 1

Θ ≈ 71.56505118°

A = 71.56505118° = arctan 1 + arctan 1/2

Θ ≈ 32.47119229°

A = 32.47119229° = arctan 1 - arctan 1/2 + arctan 1/4

A series to recreate Θ = 30° takes 32 terms of ±arctan (1 ÷ 2^n) from n = 0 to n = 31.   (8 decimal places)  This is known as coordinate rotation.

The program CORDIC1 determines the number of terms need to created to obtain Θ.   Accuracy in this code is set to 5 decimal places, but can be adjusted (see the line in blue).

Casio fx-CG 50 Program Code:  CORDIC1

Deg

"ANGLE"?->Θ

0->I

0->A

Lbl 0

tan^-1 (2^(-I))->T

If A<Θ

Then

A+T->A

Else

A-T->A

IfEnd

I+1->I

Abs (A-Θ)>1×10^-5=>Goto 0

ClrText

Blue Locate 1,3,"Θ: "

Blue Locate 5,3,Θ

Red Locate 1,4,"A: "

Red Locate 5,4,A

Green Locate 1,7,I

Notes:

-> is the store arrow →

=> is the jump command ⇒

For reference:

arctan 1 = 45°

arctan 1/2 ≈ 26.56505118°

arctan 1/4 ≈ 14.03624347°

arctan 1/8 ≈ 7.125016349°

arctan 1/16 ≈ 3.576334375°

arctan 1/32 ≈ 1.789910608°

CORDIC2:  Calculating Sine and Cosine

Imagine the coordinate (cos Θ, sin Θ) on a unit circle.  A unit circle is a circle with radius of length 1 and center located at the origin (0,0).

Set the initial angle at 0°.  Then x = cos 0° = 1 and y = sin 0° = 0.   The initial vector is set to be [ [ cos 0° ] [ sin 0° ] ] = [ [ 1 ] [ 0 ] ].

Approximate Θ in terms of arctangent (1 ÷ (2^n)), starting at n = 0.

Direction of Rotation

Set σ as the direction of rotation.

A rotation is positive if we add arctan(1 ÷ (2^n)) to A.    For a positive rotation, set σ_i = +1.

A rotation is negative if we subtract arctan(1 ÷ (2^n)) to A.    For a negative rotation, set σ_i = -1.

For example:

Θ ≈ 32.47119229°

A = 32.47119229° = arctan 1 - arctan 1/2 + arctan 1/4

Then:  σ_0 = 1 (positive rotation), σ_1 = -1 (negative rotation), σ_2 =  1 (positive rotation).

Multiplying Factor

The number of iterations is also used to determine the required multiplication factor:

n = Π( 1 ÷ √(1 + 2^(-2 × I)), I = 0 to I = terms needed - 1)

For the example:

Θ ≈ 32.47119229°

Needed 3 iterations, i_0 to i_2.

Then:

n = 1 ÷ √(1 + 2^(-2 × 0)) × 1 ÷ √(1 + 2^(-2 × 1)) × 1 ÷ √(1 + 2^(-2 × 2))

= 4 × √170 ÷ 85

≈ 0.6135719911

Calculating the Next Iteration

The next iteration for x and y are:

x_i+1 = x_i - 2^(-i) × σ_i × y_i

y_i+1 = 2^(-i) × σ_i × x_i + y_i

When A is sufficiently near or equal to Θ, the cosine and sine are approximated as:

cos(A) ≈ n × x_final

sin(A) ≈ n × y_final

For the example:

Θ ≈ 32.47119229°

The approximated angle, in this case, happens to be exact angle, A = Θ.  And,

cos(A) ≈ 0.8436614877

sin(A) ≈ 0.5368754922

For more details, please check out resources in the Sources section.   I particularly like Oxford's A Very Short Introduction series.

Casio fx-CG 50 Program Code:  CORDIC2

This algorithm is adopted from the Python example (see Wikipedia article).

Deg

"ANGLE"?->Θ

0->I

0->A

1->X

0->Y

1->N

Lbl 0

tan^-1 (2^(-I))->T

If A<Θ

Then

A+T->A

1->S

Else

A-T->A

-1->S

IfEnd

N÷√(1+2^(-2*I))->N

X-S*2^(-I)*Y->P

Y+X*S*2^(-I)->Q

P->X

Q->Y

I+1->I

Abs (A-Θ)>1×10^-5=>Goto 0

X*N->X

Y*N->Y

ClrText

Blue Locate 1,3,"Θ: "

Blue Locate 5,3,Θ

Red Locate 1,4,"A: "

Red Locate 5,4,A

Black Locate 1,5,"cos :"

Black Locate 7,5,X

Black Locate 1,6,"sin :"

Black Locate 7,6,Y

Green Locate 1,7,I

CORDIC3:  Doing it without a Arctangent function

In reality, most of the time the arctangent function also has to be approximated.   There are many ways to approximate, which varying accuracy.   I used the fx-CG50's statistics mode to come up with a regression equation with the following lists:

x_list = sequence of 1÷(2^i) from i = 0 to i = 39

y_list = sequence of arctan(1÷(2^i)) from i = 0 to i = 39

Of the regression models the fx-CG50 offers, the best regression model is quartic regression (4th-order polynomial):

y ≈ 9.43597784 × x^4 - 22.116232 × x^3 + 0.40116676 × x^2 + 57.2790727 × x + 1.4558 × 10^-5

Remember that I am working with degree angle measurement.

Casio fx-CG 50 Program Code:  CORDIC3

Deg

"ANGLE"?->Θ

0->I

0->A

1->X

0->Y

1->N

Lbl 0

2^(-I)->K

9.43597784917955K^(4)-22.1162323028173K^(3)+

0.401166766193516K^2+57.2790727477367K+

1.45584715586876×10^-5->T

If A<Θ

Then

A+T->A

1->S

Else

A-T->A

-1->S

IfEnd

N÷√(1+2^(-2*I))->N

X-S*2^(-I)*Y->P

Y+X*S*2^(-I)->Q

P->X

Q->Y

I+1->I

Abs (A-Θ)>1×10^-5=>Goto 0

X*N->X

Y*N->Y

ClrText

Blue Locate 1,3,"Θ: "

Blue Locate 5,3,Θ

Red Locate 1,4,"A: "

Red Locate 5,4,A

Black Locate 1,5,"cos :"

Black Locate 7,5,X

Black Locate 1,6,"sin :"

Black Locate 7,6,Y

Green Locate 1,7,I

For the example:

Θ ≈ 32.47119229°

Approximating Θ within 8 decimal places (10^-5) yields these results:

A:  32.47118598

cos A:  0.8436683456

sin A:  0.5368647154

24 terms used

Sources

"CORDIC"  Wikipedia.   Last Edited January 11, 2024.   Accessed January 12, 2024.  https://en.wikipedia.org/wiki/CORDIC

Brummelen, Glen Van.  Trigonometry:  A Very Short Introduction  Oxford University Press: Oxford, United Kingdom.  2020.  ISBN 978-0-19-881431-3

Eddie

All original content copyright, © 2011-2024.  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.

## Saturday, February 17, 2024

### TI-30Xa Algorithms: Annuity Factors

TI-30Xa Algorithms:   Annuity Factors

Introduction

Even when a calculator isn't (technically) programmable, algorithms can be applied to scientific and financial calculations.

The calculations take numerical arguments that are stored in the TI-30Xa's three memory slots:  M1, M2, and M3.  Store amounts into the memory registers by the [ STO ] key.

Careful:  For the solar versions of the TI-30Xa, do not press the [ON/AC] button as doing so clears the memory registers.

Today's list of routines deals with annuity factors.

SPFV:  Future Value of a Single Present Value Factor

SPFV = (1 + i%)^n

FV = PV × SPFV

SPPV:  Present Value of a Single Future Value Factor

SPPV = (1 + i%)^(-n)

PV = FV × SPPV

USFV:  Future Value of a Payment Stream Factor

USFV = ((1 + i%)^n - 1) ÷ i%

FV = PMT × USFV

USPV:  Present Value of a Payment Stream Factor

USPV = (1 - (1 + i%)^(-n)) ÷ i%

PV = PMT × USPV

where:

PV = present value

PMT = payment

FV = future value

n = number of periods

i% = periodic interest rate

For monthly payments per year:

n = number of years × 12

i% = annual interest rate ÷ 12

For quarterly payments per year:

n = number of years × 4

i% = annual interest rate ÷ 4

For the routines, n is stored in memory register 1 and i% is stored in memory register 2.

n [ STO ] 1

i% [ STO ] 2

SPFV:  Future Value of a Single Present Value Factor

[ ( ] 1 [ + ] [ RCL ] 2 [ 2nd ] { % } [ ) ] [ y^x ] [ RCL ] 1 [ = ]

SPPV:  Present Value of a Single Future Value Factor

[ ( ] 1 [ + ] [ RCL ] 2 [ 2nd ] { % } [ ) ] [ y^x ] [ RCL ] 1 [ ± ] [ = ]

USFV:  Future Value of a Payment Stream Factor

[ ( ] [ ( ] 1 [ + ] [ RCL ] 2 [ 2nd ] { % } [ ) ] [ y^x ] [ RCL ] 1 [ - ] 1 [ ) ]

[ ÷ ] [ RCL ] 2 [ 2nd ] { % } [ = ]

USPV:  Present Value of a Payment Stream Factor

[ ( ] 1 [ - ] [ ( ] 1 [ + ] [ RCL ] 2 [ 2nd ] { % } [ ) ] [ y^x ] [ RCL ] 1 [ ± ] [ ) ]

[ ÷ ] [ RCL ] 2 [ 2nd ] { % } [ = ]

Example

Let n = 60, i% = 5

60 [ STO ] 1

5 [ STO ] 2

SPFV:  18.67918589

SPPV:  0.053535524

USFV:  353.5837179

USPV:  18.92928953

Eddie

All original content copyright, © 2011-2024.  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, February 11, 2024

### Spotlight: Casio CFX-9850GB Plus

Spotlight:   Casio CFX-9850GB Plus

(Retro Review)

Quick Facts

Model:  CFX-9850GB Plus

Company:  Casio

Timeline:  late 1990s (circa 1997) to 2008

Type:   Graphing, Algebraic, floating decimal with fractions

Number of Digits:  10

Power:  4 AAA batteries plus CR 2032 backup

Colors:  orange, blue, green

Screen Size:  128 x 64 pixels

There are two versions of the CFX-9850GB Plus:

*  First edition (1997 - 2002):  Black case, black slide cover, about 32,000 bytes of memory.

*  Second edition (2002 - 2008):  White case, green cover, about 64,000 bytes of memory.

I have the first edition.   Even though this calculator is no longer in production, the CFX-9850G series is still available through online sites such as eBay and thrift stores.  I purchased mine on eBay from Petchiart Shop.

Graphing in Color

The CFX-9850G series is the first series of calculators to include a multicolored display.   Graphs, tables, statistical plots, and sequences can be displayed in up to three colors:  blue, green, and orange.

How were the colors accomplished?  Colors are determined by the contrast of the pixels.  Pixels with the lightest contrast are displayed as orange.  Pixels with a medium contrast are displayed as blue.  Pixels with the darkest contrast are displayed as green.

Text and regular calculations are shown in blue.  We can change the color of the text to green or orange through [OPTN], [F6] (>), [F1] (COLR).   Blue text is the default.

Calculator Modes

1  Run:  Main Calculator

2  Statistics:  Statistics. Regressions include linear, med-med, quadratic, cubic, quartic, logarithmic, exponential, power, sinusoidal, and logistic.

3  Matrices:  Matrix editing and manipulation mode

4  Lists:  List editing and manipulation mode.  Up to six lists can be stored (List 1 - List 6)

5  Graphing:  Functions with and without shading (Y(X)), Polar (r(Θ)), Parametric (X(T), Y(T)), Horizontal Lines (x=c)

6  Dynamic Graphing:  Leave one variable to change during graphing

7  Tables

8  Recursion:  graphing recursion sequences

9  Conics:  graphing conics using templates

A  Equation:  Simultaneous linear systems to the order of 6 equations, quadratic polynomials, cubic polynomials, general solver

B  Program:  Programs can be write-protected with a password if desired.

C  TVM:  Finance including simple interest, compound interest, amortization, cost/sell/margin, date addition, days between dates

F  Memory Manager

Also included through the [OPTN] key:

Complex numbers:  arithmetic, parts (real, imaginary, absolute value, argument/angle), conjugate

Hyperbolic functions

Probability functions

Numeric function including fractional and integer parts, rounding function (internally round the number to fix settings).

Angle:  Angle units including decimal degrees/degree-minute-second conversions

Logic:  AND, OR, NOT.   The calculator has integer modes (decimal, octal, hexadecimal, binary).

Function Memory:  store up to 6 functions for recall.

ESYM:  engineering suffixes (mega, micro, etc)

The calculator is run in LineIO format (linear).  There is no textbook mode or an exact function when it comes to terms of pi (π) or square roots (√).

Peripherals

To transfer files between the calculator and a computer, the CFX-9850GB Plus uses an FA-123 connection cable.  If this calculator is not purchased new or like new, the cable will have to be a separate purchase, which may not be an easy find.   I believe the FA-123 is a USB cable.

There is a SB-62 cable which connects the calculator to a class of Casio label printers, such as the Casio KL-2000 Printer.

Built-In Library

What separates the CFX-9850GB PLUS (and the CFX-9950GB PLUS) from the rest of the series is the inclusion of a built in software library which can be loaded into the calculator's memory at any time.   All of the library's programs are write-protected and require a password to edit.  I don't know the password, sorry.

The software library includes programs that used the EA-100 data analyzer,  differential equations, drawing Mandelbrot sets, geometry, amortization, complex number powers and roots, double and triple integrals, and slope filed graphs.  (not an all-inclusive list).

I want to try them all.

Comparison of the Color Calculators  (vs. fx-CG 50)

I want to close out this spotlight by comparing the CFX-9850 PLUS with its LCD contrast pixels versus the current Casio fx-CG 50, a full-color graphing calculator.

In the following pictures, the fx-CG50 is on the left, the CFX-9850GB PLUS is on the right.

Sources

"CFX-9850G PLUS"   Casio Ledudu.  2022.   Accessed January 9, 2024.  https://casio.ledudu.com/pockets.asp?type=280&lg=eng

(this link includes the main manual)

"Casio 9850 series"  Wikipedia.  Last Edited May 14, 2023.  Accessed December 30, 2023.  https://en.wikipedia.org/wiki/Casio_9850_series

Casio.   Casio CFX9850GB Plus Software Library.  https://support.casio.com/en/manual/manualfile.php?cid=004013009

Accessed December 30, 2023.

Vis, Peter. "Casio Serial Cable Compatibility"   The Quantum Archive.   Accessed January 9, 2024.  https://www.petervis.com/electronics%20guides/Casio%20Serial%20Cables/Casio%20Serial%20Cable%20Compatibility.html

I am always impressed with Casio graphing calculators.   Often, they give the most functions and capability for the least money.  Money well spent.

Eddie

All original content copyright, © 2011-2024.  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.

## Saturday, February 10, 2024

### Spotlight: Aristo Multilog Nr. 970 Slide Rule

Spotlight: Aristo Multilog Nr. 970 Slide Rule

Release Year:  1954

Santa Barbara and Carpentaria, California, are two of my favorite places to visit.   While on vacation in December 2023 in Santa Barbara, I bought a Aristo Nr. Slide Rule at Antique Alley.

Not only did the slide rule have a nice, hard case, the slide rule is large. The slide rule also has a functional description of each scale.  I also like the slide rule uses two colors, black and brown, to distinguish the scales from each other.

Side 1:

LL00:   e^(-0.001X)

K:  X^3  (K = D^3)

A:  X^2  (A = D^2)

CF:  πX

CIF:  1/(πX)

L:  lg X  (log X)

CI:  1/X

C:  X

D:  X

DI:  1/X

LL0:  e^(0.001X)

Side 2:

LL01:  e^(-0.01X)

LL02:  e^(-0.1X)

LL03:  e^(-X)

DF:  πX

B:  X^2

T:  ∡tg   (tan X, X is in degrees, tan D° = T)

ST:  ∡arc  (tan X, sin X)

S:  ∡sin  (arcsin X, sin D° = T)

C:  X

D:  X

LL3:  e^X  (LL3 = e^D)

LL2:  e^(0.1X)

LL1:  e^(0.01X)

As a bonus, the slide rule came with a reference card.  One one side is the Dietzgen Slide Rule Conversion Tables  (U.S. and SI units, 1950), and other side is a table of common areas, surface areas, volumes, and trigonometric properties of the right triangle.   I don't know if this was standard addition when the Aristo Multilog Nr. 970 was sold.

This may be my favorite slide rule:  not only the scales are large (and as a result easier on the eyes to read), but the fact that there are function descriptions on the scales is a big plus.

Eddie

All original content copyright, © 2011-2024.  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.

### Swiss Micros DM41X and Casio fx-CG 50: Minor Head Loss

Swiss Micros   DM41X and Casio fx-CG 50: Minor Head Loss Introduction When a fluid, such as water, is flowing in a pipe system, ene...