Filter löschen
Filter löschen

Using quad or quad2d to evalute a 1-D integral of 2-D function

1 Ansicht (letzte 30 Tage)
Hi,
I'm trying to evaluate a 1-D integral (single integral, not double integral). The integrand happens to be a function that takes 2 arguments, call it f(x,y). I am fixing one of the arguments as a constant. So I would like to:
Integrate f(x,2) from x=1 to x=10. Is there a way to do this using quad or quad2d? If not, what would you suggest I use to evaluate this integral?
Thanks, David

Akzeptierte Antwort

Mike Hosea
Mike Hosea am 16 Nov. 2011
You need to "bind" one of the arguments to whatever value you choose. This is done with an "anonymous" function.
fx = @(x)f(x,2)
is a function that takes one input argument, x, and returns f(x,2). I have called it fx here, but of course you could call it any valid variable name. So, fx(pi) = f(pi,2). We don't have to name this function. We can just pass it to the integrator, so the answer to your question is
quadgk(@(x)f(x,2),1,10)
Of course this works with quad as well, but why do people use quad anymore when they have quadgk?

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by