Integrate a piecewise function (Second fundamental theorem of calculus)

63 views (last 30 days)
totom on 16 Dec 2016
Edited: Karan Gill on 17 Oct 2017
I searched the forum but was not able to find a solution haw to integrate piecewise functions. The threads I found weren't clear either.
How can I integrate the following function for example?
F(x) = inntegral from 0 to x of f(t) dt
f(x) = x for 0 <= x <= 1
f(x) = x - 1 for 1 < x <= 2
Or is that even possible? Thank you!
  1 Comment
James Tursa
James Tursa on 16 Dec 2016
What have you done so far? Why can't you just integrate each piece separately and combine appropriately?

Sign in to comment.

Answers (2)

Karan Gill
Karan Gill on 23 Dec 2016
Edited: Karan Gill on 17 Oct 2017
>> syms x
>> f(x) = piecewise(0<=x<=1, x, 1<x<2, x-1)
f(x) =
piecewise(x in Dom::Interval([0], [1]), x, x in Dom::Interval(1, 2), x - 1)
Get the integral using int.
>> syms F(x)
>> F(x) = int(f(x),x,0,x)
F(x) =
intlib::intOverSet(piecewise(x in Dom::Interval([0], [1]), x, x in Dom::Interval(1, 2), x - 1), x, [0, x])
Those output constructs are ugly but it's still better than going into MuPAD. Now you can do things like evaluate F(x).
>> F(1)
ans =

Jan on 17 Dec 2016
Edited: Jan on 17 Dec 2016
You have to integrate it in pieces. Whenever you try to integrate it in one piece, the discontinuity will conflict with the design of the integrators.
This soultion sounds trivial. Perhaps in the other threads you are talking of the users hesitated to post it. But sometimes trivial solutions are not obvious, when you are deeply involved in the problem.
Or I've overseen a detail. Then please explain this.

Community Treasure Hunt

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

Start Hunting!

Translated by