Actualización de «Valores de polinomios representados con vectores»
He actualizado las soluciones del ejercicio Valores de polinomios representados con vectores cuyo enunciado es
Los polinomios se pueden representar mediante vectores usando la librería Data.Array
. En primer lugar, se define el tipo de los polinomios (con coeficientes de tipo a
) mediante
type Polinomio a = Array Int a
Como ejemplos, definimos el polinomio
ej_pol1 :: Array Int Int ej_pol1 = array (0,4) [(1,2),(2,-5),(4,7),(0,6),(3,0)]
que representa a \(2x - 5x^2 + 7x^4 + 6\) y el polinomio
ej_pol2 :: Array Int Double ej_pol2 = array (0,4) [(1,2),(2,-5.2),(4,7),(0,6.5),(3,0)]
que representa a \(2x - 5.2x^2 + 7x^4 + 6.5\).
Definir la función
valor :: Num a => Polinomio a -> a -> a
tal que (valor p b)
es el valor del polinomio p
en el punto b
. Por ejemplo,
valor ej_pol1 0 == 6 valor ej_pol1 1 == 10 valor ej_pol1 2 == 102 valor ej_pol2 0 == 6.5 valor ej_pol2 1 == 10.3 valor ej_pol2 3 == 532.7