Welche Scipy-Funktion soll verwendet werden, um dieses 2D-Problem mit Rotation, Translation und Skalierung abzuschätzen?Python

Python-Programme
Anonymous
 Welche Scipy-Funktion soll verwendet werden, um dieses 2D-Problem mit Rotation, Translation und Skalierung abzuschätzen?

Post by Anonymous »

Ich versuche, mithilfe von Python ein Gitter mit bekannten Knoten (u,v) und beobachteten Koordinaten (x,y) mit Sigma für jeden Punkt zu erstellen.
Das Modell ist x,y = f(u,v):

Code: Select all

  x = xl + u*c*cos(a) - v*c*sin(a)
y = yl + u*c*sin(a) + v*c*cos(a)
Ich möchte xl, yl, c und a mithilfe der Methode der kleinsten Quadrate in Python schätzen.
Die Beobachtungen (u,v), (x, y, sigma) sind:

Code: Select all

(100,200) (-79055.6, -108720.7, 1.0)
(100,220) (-81032.2, -122577.8, 2.7)
(100,240) (-83007.5, -136440.7, 0.5)
(100,260) (-84980.8, -150304.5, 4.9)
(100,280) (-86964.5, -164160.7, 7.2)
(150,200) (-113710.4, -103788.9, 8.6)
(150,220) (-115682.6, -117643.3, 4.5)
(150,240) (-117657.9, -131497.5, 3.7)
(150,260) (-119632.2, -145362.1, 2.6)
(150,280) (-121610.9, -159218.0, 3.5)
Das Ziel ist zu finden:

Code: Select all

(xl,yl)=(10000.0, 20000.0), c=700.00, a=3.000
und auch die Residuen, Sigma0 und Kovarianzmatrizen.
Ich zögerte und versuchte es zwischen scipy.optimize.leastsq und Curve_fit. Aber vielleicht ist dieses Problem der kleinsten Quadrate linear, sodass andere Funktionen besser geeignet wären.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post