25 lines
727 B
Text
25 lines
727 B
Text
procedure least_squares()
|
|
sequence x = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
|
|
y = {1, 6, 17, 34, 57, 86, 121, 162, 209, 262, 321},
|
|
a = repeat(repeat(0,3),length(x))
|
|
for i=1 to length(x) do
|
|
for j=1 to 3 do
|
|
a[i,j] = power(x[i],j-1)
|
|
end for
|
|
end for
|
|
{q,r} = QRHouseholder(a)
|
|
sequence t = matrix_transpose(q),
|
|
b = matrix_mul(t,vtranspose(y)),
|
|
z = repeat(0,3)
|
|
for k=3 to 1 by -1 do
|
|
atom s = 0
|
|
if k<3 then
|
|
for j = k+1 to 3 do
|
|
s += r[k,j]*z[j]
|
|
end for
|
|
end if
|
|
z[k] = (b[k][1]-s)/r[k,k]
|
|
end for
|
|
?{"Least-squares solution:",z}
|
|
end procedure
|
|
least_squares()
|