Heim  >  Artikel  >  Backend-Entwicklung  >  Wie führen Sie in Python eine exponentielle und logarithmische Kurvenanpassung über die Polynomanpassung hinaus durch?

Wie führen Sie in Python eine exponentielle und logarithmische Kurvenanpassung über die Polynomanpassung hinaus durch?

Linda Hamilton
Linda HamiltonOriginal
2024-11-04 02:47:29316Durchsuche

How do you perform exponential and logarithmic curve fitting in Python beyond polynomial fitting?

Exponentielle und logarithmische Kurvenanpassung in Python über die Polynomanpassung hinaus

Zusätzlich zur Polynomanpassung, die in Python über die Funktion polyfit() verfügt, gibt es Techniken zur exponentiellen Anpassung und logarithmische Kurven.

Logarithmische Kurvenanpassung

Um eine Kurve an das Modell y = A B log x anzupassen, können wir die Daten transformieren, indem wir den Logarithmus beider Seiten nehmen, was zu log y = führt log A B log x. Durch Anpassen von log y an log x mithilfe von polyfit() erhalten wir die Koeffizienten log A und B.

<code class="python">import numpy as np

x = np.array([1, 7, 20, 50, 79])
y = np.array([10, 19, 30, 35, 51])
coeffs = np.polyfit(np.log(x), y, 1)

print("Coefficients:", coeffs)
print("y ≈", coeffs[1], "+", coeffs[0], "log(x)")</code>

Exponentielle Kurvenanpassung

Um eine Kurve an das Modell anzupassen y = Ae^ (Bx) können wir den Logarithmus beider Seiten nehmen, was zu log y = log A B x führt. Die Parameter können dann durch Anpassen von log y gegen der Datenpunkte) kann zu einer Verzerrung hin zu kleinen Werten führen, insbesondere bei der exponentiellen Kurvenanpassung. Um dies zu mildern, können Gewichte proportional zu den y-Werten in den Anpassungsprozess einbezogen werden.

<code class="python">x = np.array([10, 19, 30, 35, 51])
y = np.array([1, 7, 20, 50, 79])
coeffs = np.polyfit(x, np.log(y), 1)

print("Coefficients:", coeffs)
print("y ≈", np.exp(coeffs[1]), "*", "exp(", coeffs[0], "x)")</code>
Scipy für die Kurvenanpassung verwenden

Scipy stellt die Funktion „curve_fit()“ zur Durchführung einer nichtlinearen Kurvenanpassung bereit. Dadurch können wir jedes Modell direkt und ohne Transformationen anpassen.

Das obige ist der detaillierte Inhalt vonWie führen Sie in Python eine exponentielle und logarithmische Kurvenanpassung über die Polynomanpassung hinaus durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn