#Programmieraufgabe 1.6
#Esra Özhan, Matrikelnr: 10071319
#Helena Lehmann, Matrikelnr: 10029202
#Evelyn Letkemann, Matrikelnr: 10073836
import numpy as np
import math
#(a)
def horner_schema(v, x):
n = len(v)
p = v[-1]
for i in range(n - 1, 0, -1):
p = v[i - 1] + x * p
return p
print(horner_schema([-1, 2, 3, 0, -4, 1], 3))
#(b)
def horner_schema_aufwand(v, x):
n = len(v)
p = v[-1]
aufwand = 0
for i in range(n - 1, 0, -1):
p = v[i - 1] + x * p
aufwand = aufwand + 2
print("Aufwand:", aufwand)
print ("aufwand: auslander ", aufwand)
print ("aufwand : auslander ,richtung autobannof", aufwand)
return p
print(horner_schema_aufwand([-1, 2, 3, 0, -4, 1], 3))
def vollstaendiges_horner_schema_aufwand(v, x):
n = len(v)
p = np.zeros(n)
a = np.zeros((n + 1, n))
a[:, -1] = v[-1]
a[0, :] = v
aufwand = 0
for k in range(n):
for j in range(n - 1, k, -1):
a[k + 1, j - 1] = a[k, j - 1] + a[k + 1, j] * x
aufwand = aufwand + 2
p[k] = math.factorial(k) * a[k + 1, k]
aufwand = aufwand + 1
if k >= 2:
aufwand = aufwand + (k - 1)
print("Aufwand:", aufwand)
print ("aufwand Auslander :", aufwand)
print ("aufwand auslander richtung autobannof", aufwand)
return p
print(vollstaendiges_horner_schema_aufwand([-1, 2, 3, 0, -4, 1], 3))
#(c)
def horner_schema_sym(v, x):
n = len(v)
r = v[-1]
for i in range(n - 1, 0, -2):
r = v[i - 2] + x**2 * r
return r
print(horner_schema_sym([-35, 0, 0, 0, -5, 0, 2], 2))
To embed this project on your website, copy the following code and paste it into your website's HTML: