Estoy tratando de calcular la segunda derivada de $\sin(x)$ $0.4$ $h=10^{-k}, \ \ k=1, 2, ..., 20$ el uso de:
$$\frac{f(x+h)-2f(x)+f(x-h)}{h^2}\tag{1}$$
And then plot the error as a function of $h$ in Matlab.
Attempt:
I know the exact value has to be $f"(0.4)=-\pecado(0.4)= -0.389418342308651$
According to my textbook equation $(1)$ has error give by $h^2f^{(4)}/12$. So I am guessing $f^{(4)}$ refers to the fifth term in the Taylor expansion which we can find using Matlab syntax taylor(f,0.4)
:
sin(2/5) - (sin(2/5)*(x - 2/5)^2)/2 + (sin(2/5)*(x - 2/5)^4)/24 +
cos(2/5)*(x - 2/5) - **(cos(2/5)*(x - 2/5)^3)/6** + (cos(2/5)*(x -
2/5)^5)/120
So substituting this in, here is my code for $f"(0.4)$ e de error:
format long
x=0.4;
for k = 1:1:20
h=10.^(-k);
ddf=(sin(x+h)-2*sin(x)+sin(x-h))./(h.^2)
e=((h.^2)*((cos(2/5)*(x - 2/5).^3)/6))./12
plot(h,e)
end
Pero tengo todos los ceros para el error. Y la estimación no mira a la derecha después de las 7 de la computación:
ddf = -0.389093935175844
ddf = -0.389415097166723
ddf = -0.389418309876266
ddf = -0.389418342017223
ddf = -0.389418497448446
ddf = -0.389466237038505
ddf = -0.388578058618805
ddf = -0.555111512312578
ddf = 0.00
ddf = 0.00
ddf = -5.551115123125782e+05
ddf = 0.00
ddf = 0.00
ddf = 0.00
ddf = -5.551115123125782e+13
ddf = 0.00
ddf = 0.00
ddf = 0.00
ddf = 0.00
ddf = 0.00
Así que, ¿qué hay de malo en mi código? Y ¿por qué los errores igual a cero? Pensé que el error vs pasos el tamaño de la parcela debe ser algo como Esto.
Cualquier ayuda es muy apreciada.