performing integration using quadgk

I would like to perform integration of y w.r.to x wherein I know the limits a, b (lower and upper limits for x) as well as the arrays x and y (n x 1 size each) using quadgk.
For example, see the below code:
x=0.0:0.1:5;
y=exp(x);
int_exact = exp(5) - exp(0);
int_trapz = trapz(x,y);
int_quadgk = quadgk(@integrand,0,5);
How can I code to get int_quadgk using the x and y arrays ONLY and NOT the function exp(x)? That is, I know only x and y arrays and NOT the function from which they were arrived at.
Please help.
Thanks

Respuestas (1)

Walter Roberson
Walter Roberson el 19 de Nov. de 2013

0 votos

quadgk is strictly for the case where you can pass in a function. trapz() is suitable for numeric integration over a fixed set of data.

2 comentarios

Ramakrishna
Ramakrishna el 19 de Nov. de 2013
As you can see, there is considerable error between the exact value (int_exact) and that obtained using trapz (int_trapz). Hence, I plan to use quadgk to minimise the error.
Alternatively, is there a different way to numerically evaluate the integral with reduced / no error?
Thanks

Iniciar sesión para comentar.

Categorías

Etiquetas

Preguntada:

el 19 de Nov. de 2013

Comentada:

el 19 de Nov. de 2013

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by