Plots, fragen zum fitting

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Fe93
User
Beiträge: 9
Registriert: Mittwoch 16. März 2016, 18:00

Guten Abend zusammen,

ich arbeitete zur Zeit an einem Protokoll. Ich habe mir in diesem Semester vorgenommen alle Grafischen Darstellungen mit Python zu erstellen und habe diesbezüglich eine frage zum fitting. Ich habe zwei Arrays mit Messdaten (Test und y2) für die ich bereits ein fitting erstellt habe, was auch funktioniert hat.

Das ganze sieht dann wie folgt aus :

import numpy.polynomial.polynomial as poly

x_new = np.linspace(Test[0], Test[-1], num=len(Test)*10)
coefs = poly.polyfit(Test, y2, 2)
ffit = poly.polyval(x_new, coefs)
plt.grid(True)
plt.xlabel("Zeit in [s]")
plt.ylabel("$ ln(Uc(t)/U_0) $")
#plt.title ("Linearisierung Entladen")
plt.plot(x_new, ffit, color="red", linestyle="solid", linewidth=2)
plt.plot(Test,y4, color = "w", marker="o",markerfacecolor="blue",markeredgecolor = "black", markersize=5)

Wie kann ich jetzt die Steigung der Trendlinie bestimmen (bitte so einfach wie möglich erklären :) ). Und gibt es eine Möglichkeit das ylabel als richtigen Bruch darstellen zu lassen?
BlackJack

@Fe93: Brüche setzt man in LaTeX mit \frac: $ln(\frac{Uc(t)}{U_0})$

Edit: Die Dokumentation: http://matplotlib.org/users/mathtext.ht ... ed-numbers
Fe93
User
Beiträge: 9
Registriert: Mittwoch 16. März 2016, 18:00

Danke für den Link. Weiß niemand von euch, wie ich meinen Geraden anstieg aus der Regressionsgeraden (die ich mit dem Polyfitbefehl erzeugt habe) ermitteln kann?
Sirius3
User
Beiträge: 17741
Registriert: Sonntag 21. Oktober 2012, 17:20

Fe93: wenn Du bis zur zweiten Ordnung fittest, hast Du ja eher eine Parabel als eine Gerade.
Fe93
User
Beiträge: 9
Registriert: Mittwoch 16. März 2016, 18:00

Nein, da die einzelnen Punkte bereits eine Gerade darstellt, dementsprechend stellt fit eine Gerade dar. Ich bin verwundert, das ich in keiner Dokumentation etwas zur Steigung der Regressionsgeraden finde und hier anscheinend auch niemand den Befehl dafür weiß.
Sirius3
User
Beiträge: 17741
Registriert: Sonntag 21. Oktober 2012, 17:20

@Fe93: wenn Du eine Parabel anfittest, wirst Du auch eine Parabel bekommen, auch wenn die für Dich so aussieht wie eine Gerade. Die Antwort hab ich Dir also schon gegeben. Eine wirkliche Gerade wird durch ihre Steigung definiert. Lernt man in der Schule, wo man auch noch gleich drei Formen davon anwenden darf, wobei die Steigung immer die Steigung bleibt. Du solltest einfach mal schauen, was da in coeffs drin steht.
Fe93
User
Beiträge: 9
Registriert: Mittwoch 16. März 2016, 18:00

Wie kann ich den nachschauen was in den coeff steht. Wie gesagt ich habe nur sehr geringe Erfahrung in Python, deswegen habe ich am Anfang auch für eine möglichst detaillierte Erklärung gebeten.
BlackJack

@Fe93: ``print coefs`` und zusätzlich die Beschreibung in der Dokumentation von `polyfit()` lesen was die Werte, die da dann ausgegeben werden, bedeuten.
Antworten