From d7a8dd87211b90aeab9546ef5ceb134ddeb8277d Mon Sep 17 00:00:00 2001 From: Hussein Kabbout Date: Sat, 26 Sep 2020 15:30:04 +0200 Subject: [PATCH] Second version of exercise 2 --- serie1/IT19ta_ZH7_S1_Aufg2.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/serie1/IT19ta_ZH7_S1_Aufg2.py b/serie1/IT19ta_ZH7_S1_Aufg2.py index eea2b46..413e7ee 100755 --- a/serie1/IT19ta_ZH7_S1_Aufg2.py +++ b/serie1/IT19ta_ZH7_S1_Aufg2.py @@ -6,7 +6,7 @@ import matplotlib.pyplot as plt STEPS = 1 -def gen_polynom(range_, coefficients, derivativ=False, integral=False): +def gen_polynom(x, coefficients, derivativ=False, integral=False): if derivativ is True: n = len(coefficients) - 1 deriv_coefficients = coefficients @@ -30,12 +30,16 @@ def gen_polynom(range_, coefficients, derivativ=False, integral=False): else: n = len(coefficients) - 1 - x = range_ + y = 0 for coefficient in coefficients: - print(str(coefficient) + "*" + str(x) + "**" + str(n)) - x = coefficient * range_ ** n + if n < 0: + break + elif n == 0: + y += coefficient * x + else: + y += coefficient * (x ** n) n -= 1 - return x + return y def calc_func(vector, xmin, xmax, derivativ=False, integral=False): @@ -45,11 +49,11 @@ def calc_func(vector, xmin, xmax, derivativ=False, integral=False): plt.plot(x, y, label="f(x)") if derivativ is True: - y = gen_polynom(x, vector, derivativ=True) + y = gen_polynom(x, vector, derivativ=derivativ) plt.plot(x, y, label="f'(x)") if integral is True: - y = gen_polynom(x, vector, integral=True) + y = gen_polynom(x, vector, integral=integral) plt.plot(x, y, label="F(x)") @@ -67,7 +71,7 @@ if __name__ == "__main__": xmax = 5 check_values(vector, xmin, xmax) - calc_func(vector, xmin, xmax, derivativ=True) + calc_func(vector, xmin, xmax) plt.grid() plt.xlabel("x")