polynome.hs 361 B

12345678910111213141516
  1. type Polynom = [Double]
  2. add :: Polynom -> Polynom -> Polynom
  3. add a [] = a
  4. add [] a = a
  5. add (x:xs) (y:ys) = (x+y) : add xs ys
  6. eval :: Polynom -> Double -> Double
  7. eval [] x = 0
  8. eval (p:ps) x = p + x * (eval ps x)
  9. -- alternativ:
  10. eval p x = foldr (\element rest ->element+x*rest) 0 p
  11. deriv :: Polynom -> Polynom
  12. deriv [] = []
  13. deriv p = zipWith (*) [1..] (tail p)