Ich möchte eine numerische Lösung für eine Gleichung finden, die in Python als unendliche Summe ausgedrückt wird. Ein vereinfachtes Beispiel fsolve()
und sympy
Verwendung wäre:Eine numerische Lösung für eine Gleichung finden, ausgedrückt als Summe in Python
from scipy.optimize import fsolve
import math
from sympy import *
i = symbols('i', integer=True)
def f(x):
return Sum(x**i, (i,0, oo)).evalf(10)-1
print fsolve(f, 0.5)
ich eine Störung erhalte:
AttributeError: 'list' object has no attribute 'is_commutative'
Ich versuchte, die unendliche Summe mit einer Summe mit nur einer endlichen Anzahl von Begriffen ersetzt, und auch Gießen die Funktion f() -Ausgabetyp zu float, aber ich habe den gleichen Fehler. Obwohl dies eine einfache Aufgabe zu sein scheint, konnte ich in StackOverflow oder in der Dokumentation keine Lösung für dieses Problem finden.
Meine Frage ist: Wie berechne ich Gleichungen numerisch, die mit einer Summe in Python ausgedrückt werden.
Interessant, Brentq erhöht den Fehler nicht, jedoch bleibt der Fehler für fsolve im Falle von Summen bestehen, die für alle reellen Zahlen konvergent sind. Das hat mein Problem gelöst. –