fsolve mit Funktion mehrerer Variablen
Verfasst: Mittwoch 11. August 2021, 13:26
Hallo,
ich habe folgendes Problem:
Mit Scipy.optimize.fsolve möchte ich ein nichtlineares Gleichungssystem lösen. Jetzt habe ich folgendes Beispiel auf der Scipy Seite gefunden.
Das klappt auch soweit, nur hängen meine Gleichungen von noch anderen Variablen ab. Stellt euch ein a*x[0] beispielsweise vor. Ich möchte die func Funktion also so schreiben, dass es noch ein a gibt und diese Gleichung dann gelöst wird, wobei a in der Funktion angegeben soll. Was ich nicht weiß, ist, wie der Teil hier aussieht:
wenn der vordere Teil so umgeändert wurde:
Alternativ dachte ich, ich könnte das alles innerhalb einer anderen Funktion aufrufen, aber ich kann ja schlecht die func-Funktion innerhalb einer anderen Funktion definieren.
Wenn da jemand eine Idee hätte oder mir sagen kann, wie ich die Funktion korrekt anpasse, wäre ich sehr dankbar.
Viele Grüße
Ari
ich habe folgendes Problem:
Mit Scipy.optimize.fsolve möchte ich ein nichtlineares Gleichungssystem lösen. Jetzt habe ich folgendes Beispiel auf der Scipy Seite gefunden.
Code: Alles auswählen
from scipy.optimize import fsolve
def func(x):
return [x[0] * np.cos(x[1]) - 4,
x[1] * x[0] - x[1] - 5]
root = fsolve(func, [1, 1])
root
array([6.50409711, 0.90841421])
np.isclose(func(root), [0.0, 0.0]) # func(root) should be almost 0.0.
array([ True, True])
Code: Alles auswählen
root = fsolve(func, [1, 1])
Code: Alles auswählen
def func(x, a):
return [a*x[0] * np.cos(x[1]) - 4,
x[1] * x[0] - x[1] - 5]
Wenn da jemand eine Idee hätte oder mir sagen kann, wie ich die Funktion korrekt anpasse, wäre ich sehr dankbar.
Viele Grüße
Ari