Polynomial regression: Difference between revisions
Content added Content deleted
(add RPL) |
(Added Easylang) |
||
Line 743: | Line 743: | ||
9 262 262.0 |
9 262 262.0 |
||
10 321 321.0</pre> |
10 321 321.0</pre> |
||
=={{header|EasyLang}}== |
|||
{{trans|Lua}} |
|||
<syntaxhighlight lang=easylang> |
|||
func eval a b c x . |
|||
return a + (b + c * x) * x |
|||
. |
|||
proc regression xa[] ya[] . . |
|||
n = len xa[] |
|||
for i = 1 to n |
|||
xm = xm + xa[i] |
|||
ym = ym + ya[i] |
|||
x2m = x2m + xa[i] * xa[i] |
|||
x3m = x3m + xa[i] * xa[i] * xa[i] |
|||
x4m = x4m + xa[i] * xa[i] * xa[i] * xa[i] |
|||
xym = xym + xa[i] * ya[i] |
|||
x2ym = x2ym + xa[i] * xa[i] * ya[i] |
|||
. |
|||
xm = xm / n |
|||
ym = ym / n |
|||
x2m = x2m / n |
|||
x3m = x3m / n |
|||
x4m = x4m / n |
|||
xym = xym / n |
|||
x2ym = x2ym / n |
|||
# |
|||
sxx = x2m - xm * xm |
|||
sxy = xym - xm * ym |
|||
sxx2 = x3m - xm * x2m |
|||
sx2x2 = x4m - x2m * x2m |
|||
sx2y = x2ym - x2m * ym |
|||
# |
|||
b = (sxy * sx2x2 - sx2y * sxx2) / (sxx * sx2x2 - sxx2 * sxx2) |
|||
c = (sx2y * sxx - sxy * sxx2) / (sxx * sx2x2 - sxx2 * sxx2) |
|||
a = ym - b * xm - c * x2m |
|||
print "y = " & a & " + " & b & "x + " & c & "x^2" |
|||
numfmt 0 3 |
|||
for i = 1 to n |
|||
print xa[i] & " " & ya[i] & " " & eval a b c xa[i] |
|||
. |
|||
. |
|||
xa[] = [ 0 1 2 3 4 5 6 7 8 9 10 ] |
|||
ya[] = [ 1 6 17 34 57 86 121 162 209 262 321 ] |
|||
regression xa[] ya[] |
|||
</syntaxhighlight> |
|||
=={{header|Emacs Lisp}}== |
=={{header|Emacs Lisp}}== |