08-13-2017, 01:13 PM
Link to the blog post: http://edspi31415.blogspot.com/2017/08/h...nates.html
The following program tracks the position (x,y) of a satellite in orbit by solving the pair of second-order 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)
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 0-07-019109-3
The following program tracks the position (x,y) of a satellite in orbit by solving the pair of second-order 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)
Code:
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
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 0-07-019109-3