Die Kurvenanpassung Werkzeug mächtig ist, aber es braucht manchmal ein wenig Hilfe. In der Praxis nimmt das, was cftool
tut, die anfängliche Schätzung für Ihre Variablen und versucht dann, diese Werte iterativ zu verbessern, indem Sie sie jedes Mal leicht ändern und dann neu bewerten, wie gut die Anpassung ist. Sobald kleine Änderungen an den Parametern die Anpassung nur verschlimmern, wird das Ergebnis zurückgegeben. Für kompliziertere Gleichungen (z. B. Exponentialanpassungen) kann dies manchmal zu einem lokalen Minimum und nicht zu dem globalen Minimum konvergieren, was Sie sehen.
Dies wird gelöst, indem Sie es für die Gleichung, die Sie wollen (in Ihrem Fall eine exponentielle Anpassung wie Sie getan haben) und klicken Sie dann auf Fit Options
und spielen mit den Parametern in dort. Die meisten Standardeinstellungen sind für die meisten Absichten und Zwecke gut, aber Sie sollten mit den Startwerten für Ihre Variablen und den unteren und oberen Grenzen, die diese Variablen annehmen können, herumspielen. Dies geschieht im unteren Bereich des Dialogfelds "Optionen anpassen". Wie Sie darauf hinweisen, wissen Sie, dass die b
in Ihrem Fall negativ ist, also könnten Sie zum Beispiel den b
StartPoint auf einen negativen Wert setzen und die obere Grenze auf 0 setzen. Sie können wahrscheinlich auch ein paar vernünftige Vermutungen an der a
machen Startpunkt und alle anderen oberen und unteren Grenzen.

Hilft Ihnen diese Antwort? http://stackoverflow.com/questions/5393001/fit-exponential-curve-through-data-points-in-matlab/17267385#17267385 – Adiel