## Program to fit data to normal distribution function

rawi
Posts: 97
Joined: Sat Dec 28, 2019 4:50 am
Location: Bavaria, Germany

### Program to fit data to normal distribution function

a) Application:
1. Set calculator in User-Mode.
2. XEQ NFIT (Start of program, deleting all registers, setting statistics registers to Reg05)
3. Put in data:
For every data point: X ENTER Y A -> Number of data points so far is shown.
Correction of last data point: B
4. Compute results: C. Parameters a, b, c, R² are shown. Show results again: D
Whereas a, b, c are the parameters of the following function: Y = a*EXP[(X-b)²/c]
and R² is the coefficient of determination.
5. Compute estimate of Y for given X:
E -> X? -> Put in given X-value R/S -> Estimated Y Ye
b) Example: Data of heights of a group of persons and frequency:
Height (X) Frequency in % (Y)
53 6.25
54 6.25
55 6.25
56 12.5
57 18.75
58 18.75
59 12.5
60 12.5
62 6.25
USR
XEQ Alpha NFIT Alpha
Data Input:
53 ENTER 6.25 A -> 1
54 ENTER 6.25 A -> 2
55 ENTER 6.75 A -> 3 (Error)
B -> 2 (The last data point is deleted)
55 ENTER 6.25 A -> 3 (Correct input)
56 ENTER 12.5 A -> 4
57 ENTER 18.75 A ->5

62 ENTER 6.25 ->9
Computation: C -> a=15.0203 -> R/S -> b=57.8945 -> R/S -> c=-20.586 – R/S -> R2=0.7477
Fitted normal distribution is Y = a*EXP[(X-b)²/c]
The parameters a, b, c, R² are stored in registers 01, 02, 03, 04.
Results are shown again by pressing D.
Estimate Y for X=61: E -> X? 61 R/S -> Ye= 9.4020 (Estimate for Y)
c) Registers used: 01 – 21
01 a / ln Y a=EXP(R21-R20²/4/R19)
02 b / X b=-R20/2/R19
03 c c=1/R19
04 R² R²=(R21*R07+R20*R09+R19*R13-R07²/R10)/(R08-R07²/R10)
05 ∑Xi
06 ∑Xi²
07 ∑ln(Yi)
08 ∑(ln(Yi))²
09 ∑Xi * ln(Yi)
10 n
11 ∑Xi^3
12 ∑Xi^4
13 ∑Xi² * ln(Yi)
14 R06*R10-R05²
15 R10*R13-R06*R07
16 R10*R11-R05*R06
17 R10*R09-R05*R07
18 R10*R12-R06²
19 (R14*R15-R16*R17)/(R14*R18-R16²)
20 (R17-R16*R19)/R14
21 (R07-R20*R05-R19*R06)/R10
d) Program listing (256 Bytes):

Code: Select all

01 LBL "NFIT"
02 CLRG
03 ∑REG 05
04 CLST
05 RTN

06 LBL A
07 CF 00
08 LN
09 STO 01
10 X<>Y
11 STO 02
12 ∑+
13 GTO 01
14 LBL B
15 RCL 01
16 RCL 02
17 ∑-
18 SF 00
19 LBL 01
20 RCL 02
21 3
22 Y^X
23 FS? 00
24 CHS
25 ST+ 11
26 RCL 02
27 4
28 Y^X
29 FS? 00
30 CHS
31 ST+ 12
32 RCL 01
33 RCL 02
34 X^2
35 *
36 FS? 00
37 CHS
38 ST+ 13
39 RCL 10
40 RTN

41 LBL C
42 RCL 10
43 STO 14
44 STO 15
45 STO 16
46 STO 17
47 RCL 12
48 *
49 STO 18
50 RCL 06
51 ST* 14
52 X^2
53 ST- 18
54 RCL 13
55 ST* 15
56 RCL 11
57 ST*16
58 RCL 09
59 ST* 17
60 RCL 05
61 X^2
62 ST- 14
63 RCL 06
64 RCL 07
65 *
66 ST- 15
67 RCL 05
68 RCL 06
69 *
70 ST- 16
71 RCL 05
72 RCL 07
73 *
74 ST- 17
75 RCL 14
76 RCL 15
77 *
78 RCL 16
79 RCL 17
80 *
81 -
82 RCL 14
83 RCL 18
84 *
85 RCL 16
86 X^2
87 -
88 /
89 STO 19
90 RCL 17
91 RCL 16
92 RCL 19
93 *
94 -
95 RCL 14
96 /
97 STO 20
98 RCL 07
99 RCL 20
100 RCL 05
101 *
102 -
103 RCL 19
104 RCL 06
105 *
106 -
107 RCL 10
108 /
109 STO 21
110 RCL 20
111 X^2
112 4
113 /
114 RCL 19
115 /
116 -
117 E^X
118 STO 01
119 RCL 20
120 CHS
121 2
122 /
123 RCL 19
124 1/X
125 STO 03
126 *
127 STO 02
128 RCL 21
129 RCL 07
130 *
131 RCL 20
132 RCL 09
133 *
134 +
135 RCL 19
136 RCL 13
137 *
138 +
139 RCL 07
140 X^2
141 RCL 10
142 /
143 -
144 RCL 08
145 RCL 07
146 X^2
147 RCL 10
148 /
149 -
150 /
151 STO 04
152 LBL D
153 "a="
154 ARCL 01
155 PROMPT
156 "b="
157 ARCL 02
158 PROMPT
159 "c="
160 ARCL 03
161 PROMPT
162 "R2="
163 ARCL 04
164 PROMPT
165 RTN
166 LBL E
167 "X?"
168 PROMPT
169 RCL 02
170 -
171 X^2
172 RCL 03
173 /
174 E^X
175 RCL 01
176 *
177 "Ye="
178 ARCL X
179 PROMPT
180 RTN
181 END

e) Acknowledgement: Formulas for program and example taken from the book “Curve Fitting For Programmable Calculators – Third Edition” by William M. Kolb, 1984.
f) RAW-File:
nfit.raw
Walter
Posts: 2935
Joined: Tue May 02, 2017 11:13 am
Location: On a mission close to DRS, Germany

### Re: Program to fit data to normal distribution function

Nice idea, Raimund, thanks for sharing! BTW, the WP43 features such a fit function since 2022 (at least) as well, also based on the book you acknowledge.
WP43 SN00000, 34S, and 31S for obvious reasons; HP-35, 45, ..., 35S, DM16L S/N# 00093, DM42β SN:00041
rawi
Posts: 97
Joined: Sat Dec 28, 2019 4:50 am
Location: Bavaria, Germany

### Re: Program to fit data to normal distribution function

Walter, I would be happy to buy a dedicated WP43 calculator!
Walter
Posts: 2935
Joined: Tue May 02, 2017 11:13 am
Location: On a mission close to DRS, Germany

### Re: Program to fit data to normal distribution function

rawi wrote:
Mon Nov 13, 2023 11:27 am
Walter, I would be happy to buy a dedicated WP43 calculator!
Raimund, the polling stations are wide open, please see here.
WP43 SN00000, 34S, and 31S for obvious reasons; HP-35, 45, ..., 35S, DM16L S/N# 00093, DM42β SN:00041
rawi
Posts: 97
Joined: Sat Dec 28, 2019 4:50 am
Location: Bavaria, Germany

### Re: Program to fit data to normal distribution function

Walter, be sure I already used it!
Walter
Posts: 2935
Joined: Tue May 02, 2017 11:13 am
Location: On a mission close to DRS, Germany

### Re: Program to fit data to normal distribution function

Danke, Raimund!

Edit: Thanks! Though I don't find your name in said thread. Please check and - if true - add your name and the respective number of units since anonymous voters can't be supplied.
WP43 SN00000, 34S, and 31S for obvious reasons; HP-35, 45, ..., 35S, DM16L S/N# 00093, DM42β SN:00041
rawi
Posts: 97
Joined: Sat Dec 28, 2019 4:50 am
Location: Bavaria, Germany

### Re: Program to fit data to normal distribution function

Sorry, I did not realize that my name is not registered automatically. I added a message.
Walter
Posts: 2935
Joined: Tue May 02, 2017 11:13 am
Location: On a mission close to DRS, Germany

### Re: Program to fit data to normal distribution function

rawi wrote:
Tue Nov 14, 2023 2:54 pm
Sorry, I did not realize that my name is not registered automatically. I added a message.
Thanks! This is a poll conducted under European (Personal) Data Protection Regulation, you know?
WP43 SN00000, 34S, and 31S for obvious reasons; HP-35, 45, ..., 35S, DM16L S/N# 00093, DM42β SN:00041
rawi
Posts: 97
Joined: Sat Dec 28, 2019 4:50 am
Location: Bavaria, Germany

### Re: Program to fit data to normal distribution function

No, I did not know. But now it is clear. Thank you. Concerning data protection, Switzerland seems to follow EU rules.

Best

Raimund
Walter
Posts: 2935
Joined: Tue May 02, 2017 11:13 am
Location: On a mission close to DRS, Germany

### Re: Program to fit data to normal distribution function

rawi wrote:
Wed Nov 15, 2023 9:48 am
Concerning data protection, Switzerland seems to follow EU rules.
Certainly. They're second to none on this planet.
WP43 SN00000, 34S, and 31S for obvious reasons; HP-35, 45, ..., 35S, DM16L S/N# 00093, DM42β SN:00041