Saturday, March 8, 2025

RPN with HP 15C & DM32: Expanding Linear Regression

RPN with HP 15C & DM32: Expanding Linear Regression



Linearize” the Equation


The linear regression mode of the HP 15C and Swiss Micros DM32 can be expanded to fit different curves for bi-variate data.


Curves can be set up for linear regression if we can get the equation into the form:


y = b + m * x ⇒ f(y) = b + m * g(x)


where b is the y-intercept and x is the slope. The correlation is r and r^2 can be used to determine the relationship between x (independent) and y (dependent) variables. If r^2 is close to 1, the better the curve fits to the data.


Note: f(y) and g(x) are functions that contain only one term (sin y, cos y, e^y, 1/y, y^2 …. sin x, cos x, e^x, 1/x, x^2, ….)


The DM32 labels the slope as m, y-intercept as b. Each of the parameters can be recalled separately.


The HP 12C labels the slope as a, y-intercept as b. Both a and b are calculated by the key sequence [ f ] [ Σ+ ] (L.R.): slope is on the y-stack and the y-intercept is on the x-stack. To get the correlation, enter any (valid) number and press [ f ] [ . ] (y-hat, r) [ x<>y ].


Let’s illustrate this for with a couple of examples.


y = 1 / (b + m * e^(-x))

1/y = b + m * e^(-x)


We have the equation in the required form with the following adjustments: x’ = e^(-x), y’ = 1/x.


y = b * m^x

ln y = ln (b * m^x)

ln y = ln b + ln (m^x)

ln y = ln b + x * ln m


We have the equation in the required form with the following adjustments: x’ = x, y’ = ln y.

Now note that we have ln b and ln m. This will require an adjustment when the linear regression is calculated. To get the “true” slope and y-intercept in this case, we must calculate e^b and e^m.


To employ different curve fittings, I use (at least) two programs:


Entering data (DM32, HP15C):

LBL #

g(x)

x<>y

f(y)

x<>y

Σ+

R/S

GTO #


Entering data:

CLEAR Σ (CLΣ)

y1 ENTER x1 XEQ/GSB #

yn ENTER xn R/S


You can enter as many data points as you like.


Calculating the Parameters:

DM32:

LBL @

b

(adjustments if needed)

R/S

m

(adjustments if needed)

R/S

r

x^2

RTN


HP 15C:

LBL @

L.R.

(adjustment if needed)

R/S

x<>y

(adjustment if needed)

R/S

1

y-hat, r

x<>y

x^2

RTN



Example 1: y = 1 / (b + m * e^(-x))

Linearized: 1 / y = b + m * e^(-x)


Adjustments: x’ = e^(-x), y’ = 1 / y, no adjustment to b or m


Enter Data:

HP 15C Code

HP 15C Key

DM32

42, 21, 11

LBL A

LBL D

16

CHS

+/-

12

e^x

e^x

34

x<>y

x<>y

15

1/x

1/x

34

x<>y

x<>y

49

Σ+

Σ+

31

R/S

R/S

22, 11

GTO A

GTO D


Calculating the Parameters:

HP 15C Code

HP 15C Key

DM32

42, 21, 1

LBL 1

LBL R

42, 49

L.R.

b

31

R/S

R/S

34

x<>y

m

31

R/S

R/S

1

1

r

42, 48

y-hat, r

x^2

34

x<>y

RTN

43, 11

x^2


43, 32

RTN



Example:

x

y

0.0

0.125

0.1

0.13

0.2

0.134

0.3

0.138

0.4

0.143

0.5

0.147


Results (FIX 5):


HP 15C

DM32

Intercept (b)

4.98312

4.98312

Slope (m/a)

3.01575

3.01575

r^2

0.99841

0.99841



Example 2: y = ln(b + m * e^(-x))

Linearized: e^y = b + m * e^(-x)


Adjustments: x’ = e^(-x), y’ = e^(y), no adjustment to b or m


Enter Data:

HP 15C Code

HP 15C Key

DM32

42, 21, 12

LBL B

LBL E

16

CHS

+/-

12

e^x

e^x

34

x<>y

x<>y

12

e^x

e^x

34

x<>y

x<>y

49

Σ+

Σ+

31

R/S

R/S

22, 12

GTO B

GTO E


Calculating the Parameters:

HP 15C Code

HP 15C Key

DM32

42, 21, 1

LBL 1

LBL R

42, 49

L.R.

b

31

R/S

R/S

34

x<>y

m

31

R/S

R/S

1

1

r

42, 48

y-hat, r

x^2

34

x<>y

RTN

43, 11

x^2


43, 32

RTN



Example:

x

y

0.98

1.946

0.99

1.942

1.00

1.938

1.01

1.934

1.02

1.929

1.03

1.925


Results (FIX 5):


HP 15C

DM32

Intercept (b)

3.99987

3.99985

Slope (m/a)

8.00051

8.00056

r^2

0.99844

0.99844

*differences may be due to rounding error in the internal algorithms


Example 3: y = √(b + m * x^2)

Linearized: y^2 = b + m * x^2


Adjustments: x’ = x^2, y’ = y^2, no adjustment to b or m


Enter Data:

HP 15C Code

HP 15C Key

DM32

42, 21, 13

LBL C

LBL F

43, 11

x^2

x^2

34

x<>y

x<>y

43, 11

x^2

x^2

34

x<>y

x<>y

49

Σ+

Σ+

31

R/S

R/S

22, 13

GTO C

GTO F


Calculating the Parameters:

HP 15C Code

HP 15C Key

DM32

42, 21, 1

LBL 1

LBL R

42, 49

L.R.

b

31

R/S

R/S

34

x<>y

m

31

R/S

R/S

1

1

r

42, 48

y-hat, r

x^2

34

x<>y

RTN

43, 11

x^2


43, 32

RTN



Example:

x

y

1.05

2.066

1.25

2.337

1.45

2.620

1.65

2.912

1.85

3.209

2.05

3.511


Results (FIX 5):


HP 15C

DM32

Intercept (b)

1.40009

1.40009

Slope (m/a)

2.59996

2.59996

r^2

1.00000

1.00000



Example 4: y = b * m^x

Linearized: ln y = ln b + x * ln m


Adjustments: x’ = x, y’ = ln y, result adjustments: e^b, e^m


Enter Data:

HP 15C Code

HP 15C Key

DM32

42, 21, 14

LBL D

LBL G

34

x<>y

x<>y

43, 12

LN

LN

34

x<>y

x<>y

49

Σ+

Σ+

31

R/S

R/S

22, 14

GTO D

GTO G


Calculating the Parameters:

HP 15C Code

HP 15C Key

DM32

42, 21, 2

LBL 2

LBL S

42, 49

L.R.

b

12

e^x

e^x

31

R/S

R/S

34

x<>y

m

12

e^x

e^x

31

R/S

R/S

1

1

r

42, 48

y-bar, r

x^2

34

x<>y

RTN

43, 11

x^2


43, 32

RTN



Example:

x

y

0.84

2.358

0.87

2.363

0.90

2.369

0.93

2.374

0.96

2.379

0.99

2.385


Results (FIX 5):


HP 15C

DM32

Intercept (b)

2.21302

2.21302

Slope (m/a)

1.07843

1.07843

r^2

0.99916

0.99919

*differences may be due to rounding error in the internal algorithms


Expanding Linear Regression Table


Regression

X

Y

B = ITC

M = SLP

Logarithmic: y = b + m * ln x

ln x

y

b

m

Exponential: y = b * e^(m*x)

x

ln y

e^b

m

Inverse: y = b + m/x

1/x

y

b

m

Power: y = b * x^m

ln x

ln y

e^b

m

General Exponential: y = b * m^x

x

ln y

e^b

e^m

Simple Logistic: y = 1/(b + m * e^(-x))

e^(-x)

1/y

b

m

Square Root Linear: y = √(b + m * x)

x

y^2

b

m

Cosine: y = b + m*cos(ω(x – ϕ))

With

ϕ = the point (x) nearest to zero where the trough or peak begins

ω = (2*π)/period (radians) or

ω = 360°/period (degrees)

cos(ω(x – ϕ))

y

b

m

Logarithmic-Linear-Exponential:

y = ln(b + m * e^(-x))

e^(-x)

e^y

b

m

Square Root Quadratic:

y = √(b + m * x^2)

x^2

y^2

b

m



Eddie


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

RPN with HP 15C & DM32: Expanding Linear Regression

RPN with HP 15 C & DM32: Expanding Linear Regression “ Linearize” the Equation The linear regression mode of the HP 15C and ...