Práctica 7. Integración y derivación numéricas.
Aunque Matlab cuenta con comandos para realizar integrales y derivadas simbólicamente, en ocasiones no se cuenta con la expresión de la función sino sólo con algunos valores. En otras ocasiones, aunque se disponga de la expresión, es costoso hallar la función derivada o la primitiva, o ésta no puede expresarse usando funciones elementales.
Contents
Las fórmulas de integración y derivación numérica suelen requerir los valores de la función a integrar o derivar en varios puntos. Estos valores pueden estar recogidos en un vector o hallarse evaluando la función.
En esta práctica veremos algunos métodos para hallar numéricamente la integral definida y la derivada de una función en un punto.
Integración numérica.
Una de las fórmulas más simples para aproximar el valor de la integral definida es la fórmula del trapecio. Esta fórmula aproxima el valor de la integral definida entre x=a y x=b por el área del trapecio definido por el eje OX, la recta x=a, la recta x=b y la recta que une los puntos (a,f(a)) y (b,f(b)).
a=2; b=3; trapecio=(b-a)*(f(a)+f(b))/2
trapecio = 0.0104
Fórmula del trapecio compuesta
Si dividimos un intervalo [a,b] en intervalos de longitud h=(b-a)/n con nodos xi=a+i*h, podemos aplicar a cada uno de esos intervalos la fórmula del trapecio y obtener la fórmula del trapecio compuesta (h/2)*(f(a) + 2*f(a+h) + 2*f(a+2h) + 2*f(a+3h) + ... + 2*f(a+(n-1)h) + f(b))
En la función trapecioc.m se encuentra una implementación del método.
Ej 1. Incluya en la función trapecioc.m un comentario en la segunda linea indicando el objetivo de la función y otros comentarios explicando el significado de las variables a, b y N.
Ej 2. Mediante la fórmula del trapecio compuesta, aproxime el valor de la integral definida entre x=-1 y x=1 de la función f(x)=sqrt(1-x^2) usando n=2, n=100 y n=1000 nodos. ¿El área de qué figura se está calculando cuando n=2? Sabiendo que el valor exacto de la integral es pi/2, halle el error absoluto de las aproximaciones. (Sol: 1, 1.5691, 1.5707. Errores absolutos 0.5708, 0.0017, 5.2588e-005 )
Fórmula de Simpson
En la fórmula de Simpson, el valor de la integral definida se aproxima mediante una parábola que interpola el integrando en tres puntos.
a=-1; b=1; simpson=(b-a)*f(a)/6 + 4*(b-a)*f( (a+b)/2 )/6 + (b-a)*f(b)/6
simpson = 3.8415
Ej 3. Defina una función anónima con argumentos a y b que aproxime la integral de una función f (definida previamente) entre x=a y x=b usando la fórmula de Simpson. Use dicha fórmula para aproximar la integral definida de cos(x) entre 0 y pi/2. (Sol. 1.0023)
Fórmula de Simpson compuesta.
Si dividimos un intervalo [a,b] mediante nodos a=x0 < x1 < x2 < ... < xN=b y en cada uno de ellos aplicamos la regla de Simpson, obtendremos la regla de Simpson compuesta.
Ej 4. Para h=(b-a)/N y xi=a+i*h, implemente la fórmula de Simpson compuesta. (Puede inicializar un acumulador como s=f(a), y vaya sumando 2*f(a+i*h)+4*f( a+(i+1/2)*h ) para i=1,2,...,N-1; por último, sume 4*f( a+h/2 )+f(b). El valor aproximado de la integral es h por el valor del acumulador dividido entre 6. Observe que (x0+x1)/2=a+h/2, y que (a+i*h + a+(i+1)*h)/2=a+(i+1/2)*h.) Compruebe la fórmula aproximando el valor de la integral de sen(x) entre x=0 y x=3.14159 considerando N=10. (Sol. 2.0000)
Ej 5. Usando la fórmula de integración del trapecio compuesta aproxime la integral de la función x(t)=t^3-t^2+t+2 entre t=0 y t=2.2 considerando n=5. Aproxime la misma integral mediante la fórmula de Simpson compuesta también para n=5. Sabiendo que el valor exacto de la integral es 68453/7500, ¿cuál de los dos resultados se ha aproximado más al valor exacto? (Sol. Trapecio compuesta = 9.2903. Simpson compuesta = 9.1271.)
Ej 6. La energía de una señal x(t) en un intervalo [a,b] es la integral definida de x(t)^2 entre t=a y t=b. Se quiere hallar la energía de la señal x(t)= exp(-L*t)*cos(2*pi*t) en el intervalo [-1, 1] para L=1 y L=2. Aproxime ambas integrales mediante la fórmula de Simpson compuesta con N=50. (El valor absoluto se puede calcular con abs). (Sol. para L=1, E=1.8582, para L=2, E=7.4501 )
Derivación numérica.
La fórmula de la diferencia central permite aproximar la derivada de una función en un punto a partir de dos evaluaciones de dicha función.
difc=@(x,h) (f(x+h)-f(x-h))/(2*h)
difc = @(x,h)(f(x+h)-f(x-h))/(2*h)
Ej 7. Emplee la fórmula definida para aproximar la derivada de la función f(x)=sqrt(1-x^2) en el punto x=sqrt(2)/2 para h=0.01 (Sol. -1.0002)
Ej 8. El script malp.m usa la fórmula de la diferencia central para aproximar la derivada de f(x)=sqrt(1-x^2) en el punto x=sqrt(2)/2 para distintos valores h=10^(-i). Modifique el programa para que pueda representarse en el eje horizontal los valores de i y en el eje vertical el valor absoluto del error absoluto cometido. Vuelva a modificar el programa para que en el eje vertical se muestre log10(abs(y)) donde y=(-1)-derivadaap es el error absoluto cometido. Observe que un valor de h más pequeño no da necesariamente menor error. De los valores h empleados, ¿cuáles dan el error más pequeño? (Sol. h=10^(-6), h=10^(-7).)
Ej 9. Modifique el script malp.m para aproximar el valor de la derivada de f(x)=exp(x) en el punto x=0. Sabiendo que el resultado exacto es f '(0)=exp(0)=1 ¿qué valor de h da el error más pequeño? (Cap 6. Diez lecciones de cálculo numérico. Sanz-Serna) (Sol. h=10^(-5) )
Ej 10. Implemente la fórmula de cinco puntos dada por la siguiente expresión
% f(x-2h) -2*f(x-h) 2*f(x+h) -f(x+2h) % --------- + --------- + --------- + --------- % 12h 3h 3h 12h
Use la fórmula para hallar la derivada de la función f(x)=exp(x) en x=1 para h=10^(-3). Sabiendo que el valor exacto de la derivada es exp(1) ¿qué error absoluto se comete al considerar el valor que da la fórmula de cinco puntos? (Sol. 5.0182e-013 )
Derivación e integración numéricas mediante interpolación y aproximación.
Una manera de hallar una derivada o una integral definida a partir de los valores de una función consiste en hallar un polinomio interpolante o una aproximación (como hemos hecho en la práctica 5 y 6) y derivar o integrar la función interpolante o la función de aproximación.
En el siguiente ejercicio se aproxima una derivada a partir de un ajuste parabólico de unos datos.
Ej 11. Se quiere estudiar una señal y=f(x) continua mediante un ajuste parabólico a partir de los siguientes datos de muestreo.
x=[1; 3; 4; 5; 7; 9]; y=[2.96; 7.1; 7.9; 8.34; 7.05; 3.04];
i) Halle el ajuste parabólico de los datos.
ii) Usando la parábola obtenida, halle una aproximación a la derivada de la señal en x=2 y en x=5. (Sol. 2.0065, 0.0080).
iii) Usando de nuevo la parábola, halle una aproximación a la integral definida entre 0 y 10 de la señal. (Sol. 55.6671).
% Ecuaciones Diferenciales y Cálculo Numérico. (A. Palomares) % Grado en Ingeniería de Tecnologías de Telecomunicación. disp(date)
29-May-2023