## Saturday, May 21, 2022

### Swiss Micros DM41X and HP 41C: Numeric Derivatives

Swiss Micros DM41X and HP 41C:  Numeric Derivatives

Introduction

The program DFX calculates one of three types of derivative:

1.  Normal Derivative   (DX)

2.  Logarithmic Derivative (LN)

3.  Power Derivative (PWR)

Where:

Normal Derivative:  f'(x)

Logarithmic Derivative:  d/dx( ln f(x) ) = f'(x) / f(x)

Power Derivative:  d/dx( f^n(x) ) = n * f^(n-1)(x) * f'(x),  n doesn't have to be an integer

where f'(x) is estimated by:

f'(x) ≈ ( f(x + h) - f(x) ) / h

Variables:  x, h

The program uses a subroutine FX, see the examples for details.

DM41X and HP 41C Program:  DFX

Uses program FX as a subroutine as f(x).

01 LBL ^T FX

02 RCL 01

03 ^T X?

04 ARCL 01

05 PROMPT

06 STO 01

07 RCL 02

08 ^T H?

09 ARCL 02

10 PROMPT

11 STO 02

12 RCL 01

13 XEQ ^T FX

14 RCL 03

15 RCL 01

16 RCL 02

17 +

18 XEQ ^T FX

19 RCL 03

20 -

21 RCL 02

22 /

23 STO 04

24 ^T 1 DX 2 LN 3 ↑N

25 PROMPT

26 INT

27 STO 05

28 GTO IND 05

29 LBL 01

30 RCL 04

31 LBL 02

32 RCL 04

33 RCL 03

34 /

35 GTO 04

36 LBL 03

37 RCL 03

38 ^T N?

39 PROMPT

40 1

41  -

42 Y↑X

43 LASTX

44 1

43 +

44 *

45 RCL 04

46 *

50 LBL 04

51 RTN

The function FX:

x is loaded in the X stack register (and on display)

01 LBL ^FX

02  execute f(x)

...

##  RTN

For DFX, do not use R01, R02, R03, R04, and R05 in FX.

Notes:

Sequences such as:

02 RCL 01

03 ^T X?

04 ARCL 01

05 PROMPT

Puts the prompt as X? [contents of R1].   If you want the previous value, press R/S.  Otherwise enter a new value, then press R/S.

This program uses indirect goto statements.  R05 is used to hold the person's choice and uses it to direct which label is executed.

Examples

Example 1:  f(x) = x * sin x

Set FX as:

01 LBL^T FX

03 ENTER

04 ENTER

05 SIN

06 *

07 RTN

Setting H to 10^-6  (1E-6):

DF:   f'(x)

x = 0.5, Result:  0.9182; x = 1.6, Result: 0.9530

LN:  ln f'(x)

x = 0.5, Result:  3.8305; x = 1.6, Result:  0.5959

PWR: with n = 3,   (f'(x))^3

x = 0.5; Result:  0.1583; x = 1.6;  Result: 7.3128

Example 2:  f(x) = x^2 + 3 * x + 1 = x * (x + 3) + 1

Set FX as:

01 LBL^T FX

02 ENTER

03 ENTER

04 3

05 +

06 *

07 1

08 +

09 RTN

Setting H to 10^-6  (1E-6):

DF:   f'(x)

x = 3.2, Result:  9.4000; x = 6.8, Result: 16.6000

LN:  ln f'(x)

x = 3.2, Result:  0.4511; x = 6.8, Result: 0.2454

PWR: with n = 1.5,   (f'(x))^1.5

x = 3.2, Result:  64.3677; x = 6.8, Result: 204.7864

Until next time,

Eddie

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