ich habe folgendes Programm zu Berechnung der Koeffizieten eines Polynoms achten Grades aus markanten Punkten geschrieben:
Code: Alles auswählen
import sympy as sp
# Extrempunkte: (-6, 5), (-2, -1), (6, 5)
# Sattelpunkt: (2, 3)
# Wendepunkte: (-4, 2), (0, 1), (4, 4)
# Flachpunkt: (8, 4)
# Variablen definieren
x = sp.symbols('x')
a8, a7, a6, a5, a4, a3, a2, a1, a0 = sp.symbols('a8 a7 a6 a5 a4 a3 a2 a1 a0')
# Polynom definieren
f = a8*x**8 + a7*x**7 + a6*x**6 + a5*x**5 + a4*x**4 + a3*x**3 + a2*x**2 + a1*x + a0
# Bedingungen aufstellen
equations = [
f.subs(x, -6) - 5,
f.subs(x, -2) + 1,
f.subs(x, 6) - 5,
f.subs(x, 2) - 3,
f.subs(x, -4) - 2,
f.subs(x, 0) - 1,
f.subs(x, 4) - 4,
f.subs(x, 8) - 4,
sp.diff(f, x, 1).subs(x, -6),
sp.diff(f, x, 1).subs(x, -2),
sp.diff(f, x, 1).subs(x, 6),
sp.diff(f, x, 1).subs(x, 2),
sp.diff(f, x, 1).subs(x, 8),
sp.diff(f, x, 2).subs(x, 2),
sp.diff(f, x, 2).subs(x, -4),
sp.diff(f, x, 2).subs(x, 0),
sp.diff(f, x, 2).subs(x, 4),
sp.diff(f, x, 2).subs(x, 8),
sp.diff(f, x, 3).subs(x, 8)
]
# Gleichungssystem lösen
solution = sp.solve(equations, (a8, a7, a6, a5, a4, a3, a2, a1, a0))
print(solution)