Lecture

Working with scipy.integrate


The scipy.integrate module provides tools for numerical integration and for solving ordinary differential equations (ODEs).

It’s especially useful when:

  • You need to compute definite integrals
  • You want to integrate functions without closed-form solutions
  • You’re solving systems of differential equations

Example 1: Definite Integral with quad

Use integrate.quad() to compute the definite integral of a function within a given range.

Definite Integral of sin(x) from 0 to π
# Integrand f = lambda x: np.sin(x) # Integrate from 0 to π val, err = integrate.quad(f, 0, np.pi) print("Integral value:", val) print("Estimated error:", err)

Explanation:

  • quad() returns both the integral value and an estimated numerical error.
  • Best suited for smooth, continuous functions.

Example 2: Solving an ODE with solve_ivp

Use integrate.solve_ivp() to solve initial value problems (IVPs) for differential equations.

Solve y' = -2y, y(0) = 1
# Derivative function def dydt(t, y): return -2 * y # Time span and evaluation points t_span = (0, 3) t_eval = np.linspace(*t_span, 100) # Solve the ODE sol = integrate.solve_ivp(dydt, t_span, y0=[1.0], t_eval=t_eval) print("First 5 y values:", sol.y[0][:5])

Explanation:

  • solve_ivp() numerically integrates an ODE over a time interval.
  • t_span defines the range of integration.
  • y0 provides the initial conditions for the system.

Key Takeaways

  • quad() — integrates single-variable functions over a defined range.
  • solve_ivp() — solves initial value problems for ordinary differential equations.
  • Use NumPy arrays when defining functions to ensure full compatibility with SciPy’s integration tools.
Quiz
0 / 1

What is the primary use of the scipy.integrate module?

Performing symbolic integration of algebraic expressions.

Solving linear algebra problems.

Numerical integration and solving ordinary differential equations.

Generating random numbers for simulations.

Lecture

AI Tutor

Design

Upload

Notes

Favorites

Help