Scipy bietet viele nützliche Tools für die Root-Suche, insbesondere fsolve. Typischerweise hat ein Programm, das folgende Formular:Wählen Sie die zu lösende Variable aus (Python-Root-Suche mit fsolve)
def eqn(x, a, b):
return x + 2*a - b**2
fsolve(eqn, x0=0.5, args = (a,b))
und eine Wurzel für eqn(x) = 0
gegeben einige Argumente a
und b
finden.
Allerdings, was ist, wenn ich ein Problem habe, wo ich für die a
Variable lösen will, geben die Funktion Argumente in x
und ? Natürlich könnte ich die anfängliche Gleichung umformulieren, aber das scheint langatmig und ineffizient zu sein. Gibt es eine Möglichkeit, einfach fsolve
(oder einen anderen Wurzelfindungsalgorithmus) zu setzen, damit ich wählen kann, für welche Variable ich auflösen möchte?
Danke, das ist sicherlich schneller als eine vollständige Funktionsneudefinition, fühlt sich aber immer noch unpythonisch an, besonders wenn es viele Variablen gibt, aus denen viele Lambda-Funktionen definiert werden müssten. Gibt es einen alternativen Weg? – IanRoberts