Ejercicio 1.
En cada inciso considera la función de valores reales, usa los polinomios interpolantes de Lagrange de grado a lo más tres con los puntos dados para aproximar el valor de la función solicitado. En cada caso calcula el error real.
- \(f(x)=e^{2x}\). Puntos: \(x_0=0, x_1=0.25, x_2=0.5, x_3=0.75\). Aproximar \(f(0.43)\).
## 1 + 2.117216*x + 1.182655*x^2 + 2.912079*x^3
## Warning: `gather_()` was deprecated in tidyr 1.2.0.
## Please use `gather()` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was generated.
Una vez encontrado el polinomio interpolante, procederemos a encontrar el Error Real (ER) de la siguiente manera:
- Evaluamos el polinomio interpolante en el valor solicitado
- Evaluamos la función en el valor solicitado
- Restamos ambos valor de manera que: P(x0)-F(x0)=ER
pol_1a(0.43)-f_1a(0.43)## [1] -0.002554065
- Por lo tanto, encontramos que el Error Real de este polinomio interpolante con respecto a la función original, para este punto en específico, es de: -0.002554065
- \(f(x)=x^4-x^3+x^2-x+1\). Puntos: \(x_0=-0.5, x_1=-0.25, x_2=0.25, x_3=0.5\). Aproximar \(f(0)\).
## 1 - 0.9375*x + 1.25*x^2 - 1.25*x^3
Una vez encontrado el polinomio interpolante, procederemos a encontrar el Error Real (ER) de la siguiente manera:
- Evaluamos el polinomio interpolante en el valor solicitado
- Evaluamos la función en el valor solicitado
- Restamos ambos valor de manera que: P(x0)-F(x0)=ER
poly_1b(0)-f_1b(0)## [1] 0
- Por lo tanto, encontramos que el Error Real de este polinomio interpolante con respecto a la función original, para este punto en específico, es de: 0
- \(f(x)=x\,cos\,x-3x\). Puntos: \(x_0=0.1, x_1=0.2, x_2=0.3, x_3=0.4\). Aproximar \(f(0.18)\).
## -9.883795e-05 - 1.998039*x - 0.01237215*x^2 - 0.4731521*x^3
Una vez encontrado el polinomio interpolante, procederemos a encontrar el Error Real (ER) de la siguiente manera:
- Evaluamos el polinomio interpolante en el valor solicitado
- Evaluamos la función en el valor solicitado
- Restamos ambos valor de manera que: P(x0)-F(x0)=ER
poly_1c(0.18)-f_1c(0.18)## [1] 2.04729e-06
- Por lo tanto, encontramos que el Error Real de este polinomio interpolante con respecto a la función original, para este punto en específico, es de: 2.04729e-06
- \(f(x)=log(e^x+2)\). Puntos: \(x_0=-1, x_1=-0.5, x_2=0, x_3=0.5\). Aproximar \(f(0.25)\).
## 1.098612 + 0.3328216*x + 0.1103446*x^2 + 0.01414048*x^3
Una vez encontrado el polinomio interpolante, procederemos a encontrar el Error Real (ER) de la siguiente manera:
- Evaluamos el polinomio interpolante en el valor solicitado
- Evaluamos la función en el valor solicitado
- Restamos ambos valor de manera que: P(x0)-F(x0)=ER
poly_1d(0.25)-f_1d(0.25)## [1] -0.0001347723
- Por lo tanto, encontramos que el Error Real de este polinomio interpolante con respecto a la función original, para este punto en específico, es de: -0.0001347723
Ejercicio 2
Se sospecha que las elevadas concentraciones de tanina en las hojas de los robles maduros inhiben el crecimiento de las larvas de la polilla invernal (Operophtera bromata L. Geometridae) que tanto dañan a los árboles en algunos años. La tabla anexa contiene el peso promedio de dos muestras de larva, tomadas en los primeros 28 días después de nacimiento. La primera muestra se crió en hojas de robles jóvenes, mientras que la segunda lo hizo en hojas maduras del mismo árbol.
Usa la interpolación de Lagrange para aproximar la curva del peso promedio de las muestras.
Para calcular un peso promedio máximo aproximado de cada muestra, determina el máximo del polinomio interpolante.
\[\begin{equation} \begin{array}{l|c|c|c|c|c|c|r} \text{Día} & 0 & 6 & 10 & 13 & 17 & 20 & 28 \\ \hline \text{Peso promedio muestra 1 (mg)} & 6.67 & 17.33 & 42.67 & 37.33 & 30.10 & 29.31 & 28.74 \\ \text{Peso promedio muestra 2 (mg)} & 6.67 & 16.11 & 18.89 & 15.00 & 10.56 & 9.44 & 8.89 \end{array} \end{equation}\]
- La muestra 1 está representada por la línea color verde, la muestra 2, por la línea color roja. Una vez que obtuvimos el Polinomio Interpolante para cada una de estas muestras, podemos observar a simple vista que el valor máximo de la 1 se encuentra en el día 10, pero calcularemos con mayor precisión el valor máximo de ambos polinomios mediante el siguiente procedimiento:
- Calcular el peso máximo de la muestra 1:
a)Derivar el polinomio interpolante para obtener la ecuación que describe su pendiente y graficarla
#Solicitamos a R que nos muestre el polinomio que describe el comportamiento de la muestra 1
poly.calc(dias, muestra1)## 6.67 - 42.64348*x + 16.14272*x^2 - 2.094639*x^3 + 0.1269024*x^4 -
## 0.003671679*x^5 + 4.094576e-05*x^6
deri_pol1 <- function(x){-42.64348+2*16.14272*x-3*2.094639*x^2+4*0.1269024*x^3-5*0.003671679*x^4+6*4.094576e-05*x^5}
x1 <- seq(0,28,0.01)
y1 <- deri_pol1(dias_seq)
graf_muestra_1 <- ggplot()+
#Ejes
geom_vline(xintercept = 0, linetype="dashed")+
geom_hline(yintercept = 0, linetype="dashed")+
#Pendiente
geom_line(aes(x1, y1), color="dodgerblue3", size=1)+
labs(x="dias", y="Peso Muestra", title="Pendiente de la muestra 1")+
theme_bw()
ggplotly(graf_muestra_1)- Una vez hecho esto, tenemos que calcular el punto máximo, el cual podemos identificar rápidamente debido a la combinación de ambas gráficas. Por ello, iteraremos usando el método de la secante y encontraremos la raíz de la derivada entre el día 10 y 11.
secant(deri_pol1, 9, 11)## $root
## [1] 10.18858
##
## $f.root
## [1] 2.345633e-09
##
## $iter
## [1] 5
##
## $estim.prec
## [1] 1.180142e-05
- Como podemos observar, el método de la secante ha encontrado una raíz, ahora obtendremos la imagen de este valor en la función que describe el peso de la muestra 1 para finalmente obtener el peso máximo que esta muestra puede tener:
pol_muestra1(10.18858)## [1] 42.70842
- De esta manera, podemos observar que el peso máximo de la muestra 1 ocurre en el día \(10.18858\), en el cual, la muestra alcanza un peso de \(42.70842\)
- Calcular el peso máximo de la muestra 2:
a)Derivar el polinomio interpolante para obtener la ecuación que describe su pendiente y graficarla
#Solicitamos a R que nos muestre el polinomio que describe el comportamiento de la muestra 2
poly.calc(dias, muestra2)## 6.67 - 5.678207*x + 2.912809*x^2 - 0.4137987*x^3 + 0.02584128*x^4 -
## 0.0007525462*x^5 + 8.361598e-06*x^6
deri_pol2 <- function(x){-5.678207 + 2*2.912809*x - 3*0.4137987*x^2 + 4*0.02584128*x^3 - 5*0.0007525462*x^4 +6*8.361598e-06*x^5}
x2 <- seq(0,28,0.01)
y2 <- deri_pol2(dias_seq)
graf_muestra_2 <- ggplot()+
#Ejes
geom_vline(xintercept = 0, linetype="dashed")+
geom_hline(yintercept = 0, linetype="dashed")+
#Pendiente
geom_line(aes(x2, y2), color="orange", size=1)+
labs(x="dias", y="Peso Muestra", title="Pendiente de la muestra 2")+
theme_bw()
ggplotly(graf_muestra_2)- Una vez hecho esto, tenemos que calcular el punto máximo, el cual podemos identificar rápidamente debido a la combinación de ambas gráficas. Por ello, iteraremos usando el método de la secante y encontraremos la raíz de la derivada entre el día 7 y 9.
secant(deri_pol2, 7, 9)## $root
## [1] 8.769426
##
## $f.root
## [1] -1.309113e-10
##
## $iter
## [1] 4
##
## $estim.prec
## [1] 4.446447e-06
- Como podemos observar, el método de la secante ha encontrado una raíz, ahora obtendremos la imagen de este valor en la función que describe el peso de la muestra 2 para finalmente obtener el peso máximo que esta muestra puede tener:
pol_muestra2(8.769426)## [1] 19.41575
- De esta manera, podemos observar que el peso máximo de la muestra 2 ocurre en el día \(8.769426\), en el cual, la muestra alcanza un peso de \(19.41575\)
Ejercicio 3
Construye los polinomios interpolantes de Lagrange de grados \(n=1,2,3,4\) para las siguientes funciones en el intervalo dado.
- \(f(x) = e^{2x}\, cos 3x\), \([0,2]\).
## 1 + 25.71176*x
## 1 - 81.57069*x + 53.64123*x^2
## 1 + 37.52367*x - 90.17847*x^2 + 42.13626*x^3
## 1 + 3.759978*x - 0.860049*x^2 - 28.34805*x^3 + 17.13301*x^4
- \(f(x) = sen(log\,x)\), \([1,3]\).
## -0.4452885 + 0.4452885*x
## -1.026307 + 1.21998*x - 0.1936728*x^2
## -1.399383 + 1.900992*x - 0.5628022*x^2 + 0.06119272*x^3
## -1.612081 + 2.401244*x - 0.9762455*x^2 + 0.2049735*x^3 - 0.01789074*x^4
- \(f(x) = e^{x}+e^{-x}\), \([0,2]\).
## 2 + 2.762196*x
## 2 - 0.5898732*x + 1.676034*x^2
## 2 + 0.2085296*x + 0.4487771*x^2 + 0.414028*x^3
## 2 - 0.02429658*x + 1.095769*x^2 - 0.1193604*x^3 + 0.1340496*x^4
- \(f(x) = cos \,x+sen\,x\), \([0,2\pi]\).
## 1
## 1 - 1.27324*x + 0.2026424*x^2
## 1 + 0.7864392*x - 0.717456*x^2 + 0.09426594*x^3
## 1 + 2.122066*x - 1.958876*x^2 + 0.4300205*x^3 - 0.02737595*x^4