Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
(defun lagr-poly (lpoints)
(lambda (x)
(let ((prod-l nil)
(sum-l nil))
(loop for point in lpoints do
(let ((x0 (x-coord point))
(y0 (y-coord point)))
(loop for pointn in lpoints do
(let ((xn (x-coord pointn)))
(if (not (eq point pointn))
(progn (push (/ (- x xn) (- x0 xn)) prod-l)))))
(push (* (product prod-l) y0) sum-l)
(setq prod-l nil)))
(loop for l in sum-l sum l))))
Полином Лагранжа, ёпта!
Давно написал, сейчас даже понять не могу как работает.
Комментарии (3) RSS