RosettaCodeData/Task/Polynomial-regression/Common-Lisp/polynomial-regression-1.lisp

10 lines
366 B
Common Lisp
Raw Permalink Normal View History

2013-04-10 23:57:08 -07:00
;; Least square fit of a polynomial of order n the x-y-curve.
(defun polyfit (x y n)
(let* ((m (cadr (array-dimensions x)))
(A (make-array `(,m ,(+ n 1)) :initial-element 0)))
(loop for i from 0 to (- m 1) do
(loop for j from 0 to n do
(setf (aref A i j)
(expt (aref x 0 i) j))))
(lsqr A (mtp y))))