Eigentlich tut es, es ist nur nicht in der Readme erklärt (für ein gutes Maß, hier ist eine stabile Verbindung README.md).
Es ist unklar, was Sie unter Anfangsbedingungen verstehen. Wenn Sie erste Parameter meinen, ist dies sehr gut möglich.
using LsqFit
# a two-parameter exponential model
# x: array of independent variables
# p: array of model parameters
model(x, p) = p[1]*exp.(-x.*p[2])
# some example data
# xdata: independent variables
# ydata: dependent variable
xdata = linspace(0,10,20)
ydata = model(xdata, [1.0 2.0]) + 0.01*randn(length(xdata))
p0 = [0.5, 0.5]
fit = curve_fit(model, xdata, ydata, p0)
(aus dem Handbuch entnommen). Hier ist p0
der anfängliche Parametervektor.
Dies wird Ihnen etwas sehr nahe [1.0, 2.0]
geben. Aber was, wenn wir den Parameter auf [0,1]x[0,1]
beschränken wollen? Dann setzen wir einfach die Keyword-Argumente lower
und upper
Vektoren von unteren und oberen Grenzen
fit = curve_fit(model, xdata, ydata, p0; lower = zeros(2), upper = ones(2))
zu sein, dass so etwas wie [1.0, 1.0]
je nach Ihren genauen Daten geben soll.