1. Куча / Говнокод #1217

    +153

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    (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))))

    Полином Лагранжа, ёпта!
    Давно написал, сейчас даже понять не могу как работает.

    Запостил: guest, 17 Июня 2009

    Комментарии (3) RSS

    Добавить комментарий