Clear Filters
Clear Filters

numerical integration __ integral limits being variables

4 views (last 30 days)
Hello, I want to numerically integrate functions whose upper limits x, lower limits 0. Say;
int_0^x f(x) dx
Which method should I use. trapz, simpson, or omething else and which command ?
I mean can you send a simple example of doing this please? Thanks

Accepted Answer

Roger Stafford
Roger Stafford on 5 Apr 2015
There are a number of ways you can proceed. One way is to use 'int' with a variable upper limit. See:
http://www.mathworks.com/help/symbolic/int.html
If that does not succeed (which often happens) you can do numerical integration using the 'cumtrapz' function which also allows you to have a variable, though discrete, upper limit. See
http://www.mathworks.com/help/matlab/ref/cumtrapz.html
Finally, there are several functions in the File Exchange which are numerical but have higher precision. I wrote one of these. It is located at:
http://www.mathworks.com/matlabcentral/fileexchange/19152-cumulative-cubic-integration

More Answers (1)

Star Strider
Star Strider on 5 Apr 2015
If you are numerically integrating functions, use integral (or quad and its friends if you don’t have integral). You will obviously have to define what value ‘x’ is to do a numerical integration.
If you want to do a symbolic integration (and your function is integrable), use the Symbolic Math Toolbox int function.
  3 Comments
Star Strider
Star Strider on 5 Apr 2015
You can use cumtrapz with data returned by your function, but not with your function itself. If you want to use a function, you have to use integral or quad, as I wrote before.
Meva
Meva on 5 Apr 2015
Edited: Meva on 5 Apr 2015
what do you mean by that Can you explain more please?
I have used like:
x=linspace(0,1,0.01)
cumtrapz(x, 4*(x-0.5))
Can't I use it? It is supposed to be
int_0^x 4*(x-0.5) dx

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!