Integrate a piecewise function (Second fundamental theorem of calculus)

154 次查看(过去 30 天)
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!

回答(2 个)

Karan Gill
Karan Gill 2016-12-23
编辑:Karan Gill 2017-10-17
>> 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

Jan
Jan 2016-12-17
编辑:Jan 2016-12-17
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.

类别

Help CenterFile Exchange 中查找有关 Assumptions 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by