¿Cómo restar un polinomio a otro usando NumPy en Python?

En este artículo, analicemos cómo restar un polinomio a otro. Se dan dos polinomios como entrada y el resultado es la resta de dos polinomios.

  • El polinomio p(x) = C3 x2 + C2 x + C1  se representa en NumPy como: ( C1, C2, C3 ) { los coeficientes (constantes)}.
  • Tomemos dos polinomios p(x) y q(x) y luego restemos estos para obtener r(x) = p(x) – q(x) como resultado de la resta de dos polinomios de entrada.
If p(x) = A3 x2 + A2 x + A1 
and
q(x) = B3 x2 + B2 x + B1 

then result is 
r(x) = p(x) - q(x) i.e;
r(x) = (A3 - B3) x2 + (A2 - B2) x + (A1 - B1) 

and output is 
( (A1 - B1), (A2 - B2), (A3 - B3) ).

En NumPy, se puede resolver usando el método polysub() .

A continuación se muestra la implementación con algunos ejemplos:

Ejemplo 1:  Usando   polysub()

Python3

# importing package
import numpy
  
# define the polynomials
# p(x) = 5(x**2) + (-2)x +5
px = (5,-2,5)
  
# q(x) = 2(x**2) + (-5)x +2
qx = (2,-5,2)
  
# subtract the polynomials
rx = numpy.polynomial.polynomial.polysub(px,qx)
  
# print the resultant polynomial
print(rx)

Producción :

[ 3.  3.  3.]

Ejemplo 2: sub_con_decimales

Python3

# importing package
import numpy
  
# define the polynomials
# p(x) = 2.2
px = (0,0,2.2)
  
# q(x) = 9.8(x**2) + 4
qx = (9.8,0,4)
  
# subtract the polynomials
rx = numpy.polynomial.polynomial.polysub(px,qx)
  
# print the resultant polynomial
print(rx)

Producción :

[-9.8  0.  -1.8]

Ejemplo 3:  #eval_then_sub

Python3

# importing package
import numpy
  
# define the polynomials
# p(x) = (5/3)x
px = (0,5/3,0)
  
# q(x) = (-7/4)(x**2) + (9/5)
qx = (-7/4,0,9/5)
  
# subtract the polynomials
rx = numpy.polynomial.polynomial.polysub(px,qx)
  
# print the resultant polynomial
print(rx)

Producción :

[ 1.75        1.66666667 -1.8       ]       

Publicación traducida automáticamente

Artículo escrito por deepanshu_rustagi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *