Documentation

This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

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?