Scipy es el módulo de computación científica de Python que proporciona funciones integradas en muchas funciones matemáticas conocidas. El subpaquete scipy.integrate proporciona varias técnicas de integración, incluido un integrador de ecuaciones diferenciales ordinarias.
Encontrar integración usando scipy.integrate
La integración numérica es el cálculo aproximado de una integral utilizando técnicas numéricas. Métodos para integrar la función objeto de función dado:
- quad – Integración de propósito general
- dblquad – Integración doble de propósito general
- nquad – Integración n-fold de propósito general
- fixed_quad – Cuadratura gaussiana, orden n
- quadrature – Cuadratura gaussiana a tolerancia
- Romberg – Integración de Romberg
- trapz – regla trapezoidal
- cumtrapz : regla trapezoidal para calcular integrales de forma acumulativa
- simps – la regla de Simpson
- romb – Integración Romberg
- polyint – Integración polinomial analítica (NumPy)
(1) cuádruple:
La función quad se proporciona para integrar una función de una variable entre dos puntos. Los puntos pueden ser +infinito o -infinito para indicar límites infinitos.
Ejemplo:
Python3
from scipy.integrate import quad def f(x): return 3.0*x*x + 1.0 I, err = quad(f, 0, 1) print(I) print(err)
Producción :
2.0
2.220446049250313e-1 4
(2) dblquad:
Esto realiza la integración doble con 2 argumentos.
Ejemplo:
Python3
from scipy.integrate import dblquad area = dblquad(lambda x, y: x*y, 0, 0.5, lambda x: 0, lambda x: 1-2*x) print(area)
Producción :
(0.010416666666666668, 4.101620128472366e-16)
(3) cuádruple :
Realiza la integración de n variables
Ejemplo:
Python3
from scipy.integrate import nquad def f(x, y, z): return x*y*z I = nquad(f, [[0, 1], [0, 5], [0, 5]]) print(I)
Producción :
(78.12499999999999, 8.673617379884033e-13)
(4) quad_fijo:
Con la ayuda del método scipy.integrate.fixed_quad(), podemos obtener el cálculo de una integral definida utilizando la cuadratura gaussiana de orden fijo
Ejemplo:
Python3
# import scipy.integrate from scipy import integrate def func(x): return 3*x**3 # using scipy.integrate.fixed_quad() method # n is the order of integration gfg = integrate.fixed_quad(func, 1.0, 2.0, n=2) print(gfg)
Producción:
(11.25, Ninguno)
(5) cuadratura:
Con la ayuda del método scipy.integrate.quadrature(), podemos obtener el cálculo de la integral definida utilizando la cuadratura gaussiana de tolerancia fija
Ejemplo:
Python3
# import scipy.integrate. from scipy import integrate def f(x): return 3*x**3 # using scipy.integrate.quadrature() method g = integrate.quadrature(f, 0.0, 1.0) print(g)
Producción:
(0.7500000000000001, 2.220446049250313e-16)
(6) romberg :
Con la ayuda del método scipy.integrate.romberg(), podemos obtener la integración de romberg de una función invocable desde el límite a hasta el b
Ejemplo:
Python3
# import numpy and scipy.integrate import numpy as np from scipy import integrate f = lambda x: 3*(np.pi)*x**3 # using scipy.integrate.romberg() g = integrate.romberg(f, 1, 2, show = True) print(g)
Producción:
Integración de Romberg de <function vectorize1.<locals>.vfunc at 0x0000003C1E212790> de [1, 2]
Pasos StepSize Resultados
1 1.000000 42.411501
2 0.500000 37.110063 35.342917
4 0.250000 35.784704 35.342917 35.342917
El resultado final es 35.34291735288517 después de 5 evaluaciones de funciones.
35.34291735288517
(7) trampa:
La función numpy.trapz() se integra a lo largo del eje dado usando la regla trapezoidal compuesta.
Ref: función numpy.trapz() | Python
Python3
# Python program explaining # numpy.trapz() function # importing numpy as geek import numpy as np b = [2, 4] a = [6, 8] f = np.trapz(b, a) print(f)
Producción:
6.0
(8) cumtraz:
Con la ayuda del método scipy.integrate.cumtrapz(), podemos obtener el valor integrado acumulativo de y(x) usando la regla trapezoidal compuesta.
Ejemplo:
Python3
# import numpy and scipy.integrate.cumtrapz import numpy as np from scipy import integrate a = np.arange(0, 5) b = np.arange(0, 5) # using scipy.integrate.cumtrapz() method f = integrate.cumtrapz(b, a) print(f)
Producción:
[0.5 2. 4.5 8. ]
(9) simpáticos:
Con la ayuda del método scipy.integrate.simps(), podemos obtener la integración de y(x) usando muestras a lo largo del eje y la regla compuesta de Simpson.
Ejemplo:
Python3
# import numpy and scipy.integrate import numpy as np from scipy import integrate a = np.arange(0, 5) b = np.arange(0, 5) # using scipy.integrate.simps() method f = integrate.simps(b, a) print(f)
Producción:
8.0
(10) rombo:
Con la ayuda del método scipy.integrate.romb(), podemos obtener la integración de romberg usando muestras de una función desde el límite a hasta el b
Ejemplo:
Python3
# import numpy and scipy.integrate import numpy as np from scipy import integrate x = np.arange(0,5) # using scipy.integrate.romb() method f = integrate.romb(x) print(f)
Producción:
8.0
(11) polinte:
numpy.polyint(p, m) : Evalúa la antiderivada de un polinomio con el orden especificado.
Ref: numpy.polyint() en Python
Python3
# Python code explaining # numpy.polyint() # importing libraries import numpy as np # Constructing polynomial p1 = np.poly1d([2,6]) p2 = np.poly1d([4,8]) a = np.polyint(p1, 1) b = np.polyint(p2, 2) print ("\n\nUsing polyint") print ("p1 anti-derivative of order = 2 : \n", a) print ("p2 anti-derivative of order = 2 : \n", b)
Producción :
usando poliint
p1 antiderivada de orden = 2 :
2
1x + 6x
p2 antiderivada de orden = 2 :
3 2
0.6667x + 4x
Publicación traducida automáticamente
Artículo escrito por biswasarkadip y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA