MATLAB Answers

Integrate a piecewise function (Second fundamental theorem of calculus)

175 views (last 30 days)
totom
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 =
1/2

  0 Comments

Sign in to comment.


Jan
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.

  0 Comments

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by