HP 32SII: Tracing the Orbit Coordinates
The
following program tracks the position (x,y) of a satellite in orbit by solving
the pair of secondorder differential equations:
d^2
x/dt^2 = α * x * (x^2 + y^2)^1.5
d^2
y/dt^2 = α * y * (x^2 + y^2)^1.5
For
planetary orbits, α = G * M
Variables
and Labels
Labels
Used: 4 (A, B, C, D)
Variables
Used:
Pre
stored variables:
X
= x0, initial x position
U
= dx/dt, velocity of x coordinate
Y
= y0, initial y position
V
= dy/dt, velocity of y coordinate
C
= Δt, desired time increment
A
= α, gravitational force factor
If
you are analyzing planetary orbits, then α = G * M where M is the mass of the
center object and G is the Universal gravitational constant, G = 6.67384 *
10^11 (m^3)/(s^2 * kg).
Other:
T
= t
This
program is based off of the HP 25S and program authored Robert M. Eisberg. (see
the source below)
HP 32SII Program
(87.5 bytes)
A01
LBL A // start of program
A02
0
A03
STO T // initialize time variable
C01
LBL C
C02
RCL Y
C03
RCL Y
C04
x^2
C05
RCL X
C06
x^2
C07
+
C08
1.5
C09
y^x
C10
RCL A
C11
*
C12
* // calculate –α*y*(x^2 +
y^2)^1.5
C13
LASTx
C14
RCL X
C15
* // calculate –α*x*(x^2 + y^2)^1.5
C16
RCL T
C17
x=0?
C18
GTO B
C19
R↓
D01
LBL D
D02
RCL C
D03
*
D04
STO U
D05
R↓
D06
RCL C
D07
*
D08
STO V
D09
RCL C
D10
STO+ T
D11
RCL U
D12
*
D13
STO+ X
D14
RCL X
D15
STOP // view X
D16
RCL C
D17
RCL V
D18
*
D19
STO+ Y
D20
RCL Y
D21
STOP // view Y
D22
GTO C // start a new loop
B01
LBL B
B02
R↓
B03
2
B04
÷
B05
x<>y
B06
2
B07
÷
B08
x<>y
B09
GTO D
During
execution, recall T for the time variable.
Run by XEQ A.
Example
Pre
stored variables:
X
= 1.5
U
= 0.18
Y
= 1.5
V
= 0.23
C
= 1
A
= α = 1
Table:
T
=

X
=

Y
=

0 (initial)

1.5

1.5

1

1.6014

1.6514

2

1.5713

1.6672

3

1.4105

1.5443

4

1.0956

1.2527

5

0.5429

0.6892

6

0.8138

0.8949

Source: Robert M. Eiseberg. Applied Mathematical Physics with
Programmable Calculators McGraw Hill.
1976. ISBN 0070191093
Eddie
This
blog is property of Edward Shore, 2017.