21 lines
324 B
Plaintext
21 lines
324 B
Plaintext
func regress(x, y, degree) {
|
|
var A = Matrix.build(x.len, degree+1, {|i,j|
|
|
x[i]**j
|
|
})
|
|
|
|
var B = Matrix.column_vector(y...)
|
|
((A.transpose * A)**(-1) * A.transpose * B).transpose[0]
|
|
}
|
|
|
|
func poly(x) {
|
|
3*x**2 + 2*x + 1
|
|
}
|
|
|
|
var coeff = regress(
|
|
10.of { _ },
|
|
10.of { poly(_) },
|
|
2
|
|
)
|
|
|
|
say coeff
|