Ich versuche, eine Funktion anzupassen, die als Eingabe 2 unabhängige Variablen x, y und 3 Parameter verwendet, um a, b, c zu finden. Das ist mein Testcode:Übergabe von Argumenten an eine Funktion zum Anpassen
import numpy as np
from scipy.optimize import curve_fit
def func(x,y, a, b, c):
return a*np.exp(-b*(x+y)) + c
y= x = np.linspace(0,4,50)
z = func(x,y, 2.5, 1.3, 0.5) #works ok
#generate data to be fitted
zn = z + 0.2*np.random.normal(size=len(x))
popt, pcov = curve_fit(func, x,y, zn) #<--------Problem here!!!!!
Aber ich erhalte die Fehlermeldung: "Func() nimmt genau 5 Argumente (51 genannt)". Wie kann ich meine Argumente x, y richtig übergeben?
Was sagt die Dokumentation für 'curve_fit' über den' func' Parameter? Offensichtlich versucht es, es mit 51 Parametern zu benennen, also sollten Sie vielleicht die Dokumentation noch einmal lesen. – Wes