- Integrals of builtin-functions and all polynomials are provided:
>> syms x
>> integrate(x^2+x-3,x)
ans = 0.33333*x^3+0.5*x^2-3*x
>> integrate(sin(x),x)
ans = -cos(x)
- If
function is rational (i.e. quotient of
two polynomials, whose coefficients do not depend
on x)) we use the standard approach:
Separate a polynomial part, then separate
a square free part using Horowitz' [11] method, and finally
integrate the rest using partial fractions.
The final terms are collected to avoid
complex expressions.
>> syms x
>> y=(x^3+2*x^2-x+1)/((x+i)*(x-i)*(x+3))
y = (x^3+2*x^2-x+1)/(x^3+3*x^2+x+3)
>> integrate(y,x)
ans = -1/4*log(x^2+1)+(-1/2*log(x+3)+(-1/2*atan(x)+x))
>> diff(ans,x) % control
ans = (x^3+2*x^2-x+1)/(x^3+3*x^2+x+3)
- Expressions of type
and
are detected:
>> syms x
>> integrate(x*exp(-2*x^2),x)
ans = -0.25*exp(-2*x^2)
>> integrate(exp(x)/(3+exp(x)),x)
ans = log(exp(x)+3)
- Substitutions of type
are applied:
>> syms x
>> integrate(3*sin(2*x-4),x)
ans = -1.5*cos(2*x-4)
- Products
are fed through
partial integration. This solves all cases where
is one of exp, sin , cos , log , atan.
>> syms x
>> integrate(x^3*exp(-2*x),x)
ans = (-0.5*x^3-0.75*x^2-0.75*x-0.375)*exp(-2*x)
>> integrate(x^2*log(x),x)
ans = 0.33333*x^3*log(x)-0.11111*x^3
- All trig and exp-functions are normalized.
This solves any expression, which is the product of
any number and any type of exponentials and trigonometric functions,
and some cases of rational expressions of trig- and exp-functions
>> syms x
>> integrate(sin(x)*cos(3*x)^2,x)
ans = -3.5714E-2*cos(7*x)+(5.0E-2*cos(5*x)-0.5*cos(x))
>> integrate(1/(sin(3*x)+1),x)
ans = -2/3*cos(3/2*x)/(sin(3/2*x)+cos(3/2*x))
- The special case
is implemented:
>> syms x
>> integrate(sqrt(x^2-1),x)
ans = 0.5*x*sqrt(x^2-1)-0.5*log(2*sqrt(x^2-1)+2*x)
- Clever substitutions may be supplied manually through
subst().
If all fails, integrate numerically using quad or romberg.