(71B) Differential Equations and Half-Increment Solution, Numerical Methods - Printable Version +- HP Forums (https://www.hpmuseum.org/forum) +-- Forum: HP Software Libraries (/forum-10.html) +--- Forum: General Software Library (/forum-13.html) +--- Thread: (71B) Differential Equations and Half-Increment Solution, Numerical Methods (/thread-7465.html) (71B) Differential Equations and Half-Increment Solution, Numerical Methods - Eddie W. Shore - 12-23-2016 07:26 PM Differential Equations and Half-Increment Solution, Numerical Methods The program HALFDIFF solves the numerical differential equation d^2y/dt^2 = f(dy/dt, y, t) given the initial conditions y(t0) = y0 and dy/dt (t0) = dy0 In this notation, y is the independent variable and t is the dependent variable. The Method Let C = f(dy/dt, y, t). Give the change of t as Δt. First Step: With t = t0: h_1/2 = dy0 + C * Δt/2 y1 = y0 + dy0 * Δt Loop: t = t0 + Δt h_I+1/2 = h_I-1/2 + C * Δt y_I+1 = y_I +h_I+1/2 * Δt Repeat as many steps as desired. For more details, click here: http://edspi31415.blogspot.com/2016/11/ti-84-plus-and-hp-prime-differential.html Source: Eiseberg, Robert M. Applied Mathematical Physics with Programmable Pocket Calculators McGraw-Hill, Inc: New York. 1976. ISBN 0-07-019109-3 Program HALFDIFF 250+ bytes, 12/22/2016 Edit f(A,Y,T) at line 5 where A = y’(t), Y = y(t), T = t Code: ```5 DEF FNF(A,Y,T) = insert function y’(t), y(t), and t here 10 DESTROY A,Y,D,N,H,T 12 RADIANS 20 INPUT “dY/dX (0) = “, “0”; A 22 INPUT “Y(0) = “, “0”; Y 24 INPUT “DELTA T = “,”1”; D 26 INPUT “TMAX = “,”5”; N 28 T = D 44 H = A + FNF(A,Y,T) * D/2  48 Y = Y + H * D 50 DISP D; “, “;  Y @ PAUSE 70 FOR I = 2 * D TO N STEP D 72 T = I @ A = H 76 H = H + FNF(A,Y,T) * D 78 Y = Y + H * D 80 DISP I; “, “; Y @ PAUSE 82 NEXT I``` Example: y’’(t) = y’(t) + 2 * t with y’(0) = 0, y(0) = 1, Delta t = 1, Max t = 6 FNF(A,Y,T) = A + 2 * T Results: T Y 1 2 2 8 3 26 4 70 5 168 6 376