updated the linear regression example
This commit is contained in:
@@ -4,46 +4,45 @@
|
||||
4 5 0 0 13
|
||||
5 5 0 0 14
|
||||
6 5 0 0 15
|
||||
7 5 1 0 50
|
||||
8 4 1 2 0
|
||||
9 6 1 1 3
|
||||
10 7 0 3 3
|
||||
11 6 1 2 4
|
||||
12 7 0 4 4
|
||||
13 6 1 2 5
|
||||
14 7 0 1 5
|
||||
15 7 1 50 10
|
||||
16 7 2 50 11
|
||||
17 7 3 50 12
|
||||
18 7 4 50 13
|
||||
19 7 5 50 14
|
||||
20 7 50 50 15
|
||||
21 6 1 3 6
|
||||
22 7 4 50 6
|
||||
23 1 1 6 8
|
||||
24 8 15 50 15
|
||||
25 6 1 15 1
|
||||
26 7 0 14 1
|
||||
27 6 1 11 5
|
||||
28 7 0 10 5
|
||||
29 8 1 5 6
|
||||
30 6 1 15 3
|
||||
31 7 0 12 3
|
||||
32 6 1 10 4
|
||||
33 7 0 10 4
|
||||
34 8 3 4 3
|
||||
35 9 6 3 21
|
||||
36 6 1 10 1
|
||||
37 7 0 21 1
|
||||
38 8 11 1 1
|
||||
39 9 1 15 20
|
||||
40 6 1 11 2
|
||||
41 7 0 11 2
|
||||
42 6 1 15 5
|
||||
43 7 0 13 5
|
||||
44 8 5 2 2
|
||||
45 6 1 3 1
|
||||
46 7 0 2 1
|
||||
47 12 0 1 1
|
||||
48 9 6 1 22
|
||||
49 3 20 22 0
|
||||
7 4 1 2 0
|
||||
8 6 1 1 3
|
||||
9 7 0 3 3
|
||||
10 6 1 2 4
|
||||
11 7 0 4 4
|
||||
12 6 1 2 5
|
||||
13 7 0 1 5
|
||||
14 7 1 127 10
|
||||
15 7 2 127 11
|
||||
16 7 3 127 12
|
||||
17 7 4 127 13
|
||||
18 7 5 127 14
|
||||
19 7 127 127 15
|
||||
20 6 1 3 6
|
||||
21 7 4 127 6
|
||||
22 1 1 6 7
|
||||
23 8 15 127 15
|
||||
24 6 1 15 1
|
||||
25 7 0 14 1
|
||||
26 6 1 11 5
|
||||
27 7 0 10 5
|
||||
28 8 1 5 6
|
||||
29 6 1 15 3
|
||||
30 7 0 12 3
|
||||
31 6 1 10 4
|
||||
32 7 0 10 4
|
||||
33 8 3 4 3
|
||||
34 9 6 3 21
|
||||
35 6 1 10 1
|
||||
36 7 0 21 1
|
||||
37 8 11 1 1
|
||||
38 9 1 15 20
|
||||
39 6 1 11 2
|
||||
40 7 0 11 2
|
||||
41 6 1 15 5
|
||||
42 7 0 13 5
|
||||
43 8 5 2 2
|
||||
44 6 1 3 1
|
||||
45 7 0 2 1
|
||||
46 12 0 1 1
|
||||
47 9 6 1 22
|
||||
48 3 20 22 0
|
||||
|
||||
+31
-32
@@ -10,46 +10,45 @@ set 0 0 12 ; x-square-sum to loc 12
|
||||
set 0 0 13 ; y-square-sum to loc 13
|
||||
set 0 0 14 ; xy-sum to loc 14
|
||||
set 0 0 15 ; n to loc 15
|
||||
set 1 0 50 ; constant 1 to loc 50
|
||||
:lp inp 1 2 0 ; loop start; input xi and yi into loc 1 and loc 2
|
||||
cpy 1 1 3 ; copy x into loc 3
|
||||
fma 0 3 3 ; save x-squared into loc 3
|
||||
cpy 1 2 4 ; copy y into loc 4
|
||||
fma 0 4 4 ; save y-squared into loc y
|
||||
cpy 1 2 5 ; copy y into loc 5
|
||||
fma 0 1 5 ; save xy into loc 5
|
||||
fma 1 50 10 ; update x-sum (Sx) => loc 10
|
||||
fma 2 50 11 ; update y-sum (Sy) => loc 11
|
||||
fma 3 50 12 ; update x-square-sum (Sxx) => loc 12
|
||||
fma 4 50 13 ; update y-square-sum (Syy) => loc 13
|
||||
fma 5 50 14 ; update xy-sum (Sxy) => loc 14
|
||||
fma 50 50 15 ; increment n at loc 15
|
||||
cpy 1 3 6 ; copy x-squared into loc 6
|
||||
fma 4 50 6 ; add x-squared and y-squared into loc 6
|
||||
dva 1 3 ; copy x into loc 3
|
||||
mul 3 3 ; save x-squared into loc 3
|
||||
dva 2 4 ; copy y into loc 4
|
||||
mul 4 4 ; save y-squared into loc y
|
||||
dva 2 5 ; copy y into loc 5
|
||||
mul 1 5 ; save xy into loc 5
|
||||
fma 1 127 10 ; update x-sum (Sx) => loc 10
|
||||
fma 2 127 11 ; update y-sum (Sy) => loc 11
|
||||
fma 3 127 12 ; update x-square-sum (Sxx) => loc 12
|
||||
fma 4 127 13 ; update y-square-sum (Syy) => loc 13
|
||||
fma 5 127 14 ; update xy-sum (Sxy) => loc 14
|
||||
inc 15 ; increment n at loc 15
|
||||
dva 3 6 ; copy x-squared into loc 6
|
||||
fma 4 127 6 ; add x-squared and y-squared into loc 6
|
||||
jmp 1 6 :lp ; loop back to the input if the square sum is over zero
|
||||
sub 15 50 15 ; decrement last n at loc 15 to omit the (0,0) input
|
||||
cpy 1 15 1 ; copy n to loc 1
|
||||
fma 0 14 1 ; n * Sxy => loc 1
|
||||
cpy 1 11 5 ; copy Sy to loc 5
|
||||
fma 0 10 5 ; Sx * Sy => loc 5
|
||||
sub 15 127 15 ; decrement last n at loc 15 to omit the (0,0) input
|
||||
dva 15 1 ; copy n to loc 1
|
||||
mul 14 1 ; n * Sxy => loc 1
|
||||
dva 11 5 ; copy Sy to loc 5
|
||||
mul 10 5 ; Sx * Sy => loc 5
|
||||
sub 1 5 6 ; n * Sxy - Sx * Sy => loc 6 (to be stored for r calculation)
|
||||
cpy 1 15 3 ; copy n to loc 3
|
||||
fma 0 12 3 ; n * Sxx => loc 3
|
||||
cpy 1 10 4 ; copy Sx to loc 4
|
||||
fma 0 10 4 ; Sx squared => loc 4
|
||||
dva 15 3 ; copy n to loc 3
|
||||
mul 12 3 ; n * Sxx => loc 3
|
||||
dva 10 4 ; copy Sx to loc 4
|
||||
mul 10 4 ; Sx squared => loc 4
|
||||
sub 3 4 3 ; n * Sxx - Sx^2 => loc 3 (to be stored for r calculation)
|
||||
div 6 3 21 ; coefficient B => loc 21
|
||||
cpy 1 10 1 ; copy Sx to loc 1
|
||||
fma 0 21 1 ; B * Sx => loc 1
|
||||
dva 10 1 ; copy Sx to loc 1
|
||||
mul 21 1 ; B * Sx => loc 1
|
||||
sub 11 1 1 ; Sy - B * Sx => loc 1
|
||||
div 1 15 20 ; coefficient A => loc 20
|
||||
cpy 1 11 2 ; copy Sy to loc 2
|
||||
fma 0 11 2 ; (Sy) ^ 2 => loc 2
|
||||
cpy 1 15 5 ; n to loc 5
|
||||
fma 0 13 5 ; n * Syy => loc 5
|
||||
dva 11 2 ; copy Sy to loc 2
|
||||
mul 11 2 ; (Sy) ^ 2 => loc 2
|
||||
dva 15 5 ; n to loc 5
|
||||
mul 13 5 ; n * Syy => loc 5
|
||||
sub 5 2 2 ; n * Syy - Sy^2 => loc 2
|
||||
cpy 1 3 1 ; loc 3 => loc 1
|
||||
fma 0 2 1 ; loc 3 * loc 2 => loc 1
|
||||
dva 3 1 ; loc 3 => loc 1
|
||||
mul 2 1 ; loc 3 * loc 2 => loc 1
|
||||
sqr 0 1 1 ; sqrt(loc 1) => loc 1
|
||||
div 6 1 22 ; correlation coefficient r => loc 22
|
||||
out 20 22 0 ; output all three resulting numbers
|
||||
|
||||
Reference in New Issue
Block a user