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

Risposte (1)

Walter Roberson
Walter Roberson il 19 Nov 2013

0 voti

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 Commenti

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

Accedi per commentare.

Tag

Richiesto:

il 19 Nov 2013

Commentato:

il 19 Nov 2013

Community Treasure Hunt

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

Start Hunting!

Translated by