If MuPAD Cannot Compute an Integral

If the int command cannot compute a closed form of an integral, MuPAD® returns an unresolved integral:

int(sin(sinh(x)), x)

If MuPAD cannot compute an integral of an expression, one of the following reasons may apply:

  • The antiderivative does not exist in a closed form.

  • The antiderivative exists, but MuPAD cannot find it.

Try to approximate these integrals by using one of the following methods:

  • For indefinite integrals, use series expansions. Use this method to approximate an integral around a particular value of the variable.

  • For definite integrals, use numeric approximations.

Approximate Indefinite Integrals

If int cannot compute an indefinite integral in a closed form, it returns an unresolved integral:

F := int(cos(x)/sqrt(1 + x^2), x)

To approximate the result around some point, use the series function. For example, approximate the integral around x = 0:

series(F, x = 0)

If you know in advance that the integral cannot be found in a closed form, skip calculating the symbolic form of the integral. To use the system more efficiently, call the series command to expand the integrand, and then integrate the result:

int(series(cos(x)/sqrt(1 + x^2), x = 0), x)

Approximate Definite Integrals

If int cannot compute a definite integral in a closed form, it returns an unresolved integral:

F := int(cos(x)/sqrt(1 + x^2), x = 0..10)

To approximate the result numerically, use the float function:

float(F)

If you know in advance that the integral cannot be found in a closed form, skip calculating the symbolic form of the integral. Use the system more efficiently by calling the numeric::int function. This command applies numeric integration methods from the beginning:

numeric::int(cos(x)/sqrt(1 + x^2), x = 0..10)

Was this topic helpful?