ODR Berechnung gibt "wilde" kurve
Verfasst: Mittwoch 4. Januar 2017, 13:22
Hallo
Ich benutze das modul odr für eine Polynomberechnung.
Bisher hatte ich immer prima verlaufende Kurven im Definitionsbereich, der vom ersten und letzten Wert eingeschlossen wird.
Mit diesen Werten läuft alles prima:
xwerte = [2.0, 4.0, 8.0, 10.0, 12.0, 15.0, 17.0, 19.5, 20.75]
ywerte = [6.75, 6.7, 6.5, 6.2, 5.8, 5.0, 4.3, 3.0, 1.7]
Mit diesen Werten entsteht eine völlig verrückte Kurve:
xwerte = [90.0, 180.0, 360.0, 720.0, 900.0, 1080.0, 1260.0, 1440.0, 1530.0]
ywerte = [79.75, 79.0, 76.0, 70.0, 66.5, 64.0, 58.0, 48.0, 38.0]
Es handelt sich jeweils um die schwarze gestrichelte Linie.
Weiss jemand, wieso das passiert oder wie ich das verbessern kann?
Danke,
Thomas
Ich benutze das modul odr für eine Polynomberechnung.
Bisher hatte ich immer prima verlaufende Kurven im Definitionsbereich, der vom ersten und letzten Wert eingeschlossen wird.
Code: Alles auswählen
def f(b, x):
return b[0] * x**5 + b[1] * x**4 + b[2] * x**3 + b[3] * x**2 + b[4] * x + b[5]
modell = Model(f)
data_pump = Data(self.x_init, self.y_init)
odr_pump = ODR(data_pump, modell, beta0=[0., 0., 0., 0., 0., 0.])
xwerte = [2.0, 4.0, 8.0, 10.0, 12.0, 15.0, 17.0, 19.5, 20.75]
ywerte = [6.75, 6.7, 6.5, 6.2, 5.8, 5.0, 4.3, 3.0, 1.7]
Mit diesen Werten entsteht eine völlig verrückte Kurve:
xwerte = [90.0, 180.0, 360.0, 720.0, 900.0, 1080.0, 1260.0, 1440.0, 1530.0]
ywerte = [79.75, 79.0, 76.0, 70.0, 66.5, 64.0, 58.0, 48.0, 38.0]
Es handelt sich jeweils um die schwarze gestrichelte Linie.
Weiss jemand, wieso das passiert oder wie ich das verbessern kann?
Danke,
Thomas