Polynomial regression: Difference between revisions

Content added Content deleted
Line 60: Line 60:
<lang algol>MODE FIELD = REAL;
<lang algol>MODE FIELD = REAL;


MODE
MODE
VEC = [0]FIELD,
VEC = [0]FIELD,
MAT = [0,0]FIELD;
MAT = [0,0]FIELD;
Line 73: Line 73:
[2 LWB in:2 UPB in,1 LWB in:1UPB in]FIELD out;
[2 LWB in:2 UPB in,1 LWB in:1UPB in]FIELD out;
FOR i FROM LWB in TO UPB in DO
FOR i FROM LWB in TO UPB in DO
out[,i]:=in[i,]
out[,i]:=in[i,]
OD;
OD;
out
out
);
);


COMMENT http://rosettacode.org/wiki/Matrix_multiplication#ALGOL_68 END COMMENT
COMMENT from http://rosettacode.org/wiki/Matrix_multiplication#ALGOL_68 END COMMENT
OP * = (VEC a,b)FIELD: ( # basically the dot product #
OP * = (VEC a,b)FIELD: ( # basically the dot product #
FIELD result:=0;
FIELD result:=0;
Line 112: Line 112:
[,]FIELD lu = lu decomp(b, p, sign);
[,]FIELD lu = lu decomp(b, p, sign);
[LWB a:UPB a, 2 LWB a:2 UPB a]FIELD out;
[LWB a:UPB a, 2 LWB a:2 UPB a]FIELD out;
FOR col FROM 2 LWB a TO 2 UPB a DO
FOR col FROM 2 LWB a TO 2 UPB a DO
out[,col] := lu solve(b, lu, p, a[,col]) [@LWB out[,col]]
out[,col] := lu solve(b, lu, p, a[,col]) [@LWB out[,col]]
OD;
OD;
Line 172: Line 172:
print polynomial(d)
print polynomial(d)
END # fitting #</lang>
END # fitting #</lang>
Output:
output:
<pre>
<pre>
3x**2+2x+1
3x**2+2x+1
1.0848x**2+10.3552x-0.6164
1.0848x**2+10.3552x-0.6164
</pre>
</pre>

=={{header|C}}==
=={{header|C}}==
{{libheader|libgsl}}
{{libheader|libgsl}}