def test_adding_terms_in_polynomial_return_derivative(self): term1 = Term(2, 3) term2 = Term(3, 1) term3 = Term(1, 0) term_1 = Term(1, 4) term_2 = Term(10, 3) poly1 = Polynomial([term1, term2, term3]) poly2 = Polynomial([term_1, term_2]) res1 = poly1.derivative() res2 = poly2.derivative() self.assertEqual(res1, '6*x^2+3') self.assertEqual(res2, '4*x^3+30*x^2')
def test_adding_one_term_which_is_constant_in_polynomial_return_derivative_zero( self): term1 = Term(2, 0) poly = Polynomial([term1]) res = poly.derivative() self.assertEqual(res, '0')
def test_adding_one_term_which_is_coefficient_and_variable_in_polynomial_return_derivative_constant( self): term1 = Term(2, 1) poly = Polynomial([term1]) res = poly.derivative() self.assertEqual(res, '2')
def test_adding_terms_reversed_in_polynomial_return_derivative(self): term1 = Term(2, 0) term2 = Term(3, 1) term3 = Term(4, 2) poly = Polynomial([term1, term2, term3]) res = poly.derivative() self.assertEqual(res, '3+8*x')
from polynomials import Polynomial import numpy as np import matplotlib.pyplot as plt # https://www.python-course.eu/matplotlib_legends_and_annotations.php p = Polynomial(2, 3, -4, 6) p_der = p.derivative() print(p) print(p_der) fig, ax = plt.subplots() X = np.linspace(-2, 3, 50, endpoint=True) F = p(X) F_derivative = p_der(X) ax.plot(X, F, label="$" + str(p) + "$") ax.plot(X, F_derivative, label="$" + str(p_der) + "$") ax.legend(loc='upper left') plt.show()