fitting von 3D Daten zur Parameterfindung

21/03/2008 - 12:35 von midiwidi | Report spam
Ich habe einen Satz von x,y und z Werten (Vektoren). Wie fitte ich die
Daten an folgende Gleichung an um die Parameter p zu bestimmen?

D = SQRT( A^2 + B^2 + C^2 )

mit

A = x*p(1) + p(2)
B = y*p(3) + p(4) + A*p(5)
C = z*p(6) + p(7) + A*p(8) + B*p(9)

D ist eine bekannte Konstante.

Technischer Hintergrund:
Um ein Vektormeßsystem zu kalibrieren wird mit einem anderen Meßgeràt
der Betrag der Vektoren ermittelt. Dieser muß für alle Vektoren
konstant sein. Die Vektoren werden mit 9 Parametern so umgerechnet,
dass der Betrag konstant ist. Die Parameter sind Skalenwerte und
Offsets für x, y und z und 3 Parameter die die Nichtorthogonalitàt
des Vektorsystems korrigieren (OrthXY, OrthXZ, OrthYZ).

Ist das ein nichtlineares Fittingproblem? Wie könnte man die Parameter
bestimmen? Vielleicht kann mir auch jemand sagen, mit welcher Matlab-
Funktion man das machen könnte.

Viele Grüße, Markus
 

Lesen sie die antworten

#1 Thomas Plehn
21/03/2008 - 13:07 | Warnen spam
function rem=f(p)
#definition of data vectors
x=...;
y=...;
z=...;

A = x*p(1) + p(2);
B = y*p(3) + p(4) + A*p(5);
C = z*p(6) + p(7) + A*p(8) + B*p(9);

D=...;
rem= sqrt(dot(A,A) + dot(B,B) + dot(C,C)) - D;
endfunction

# initial guess for the parameter values
p0=...;

[solution, fval, info] = fsolve("f", p0);

midiwidi schrieb:
Ich habe einen Satz von x,y und z Werten (Vektoren). Wie fitte ich die
Daten an folgende Gleichung an um die Parameter p zu bestimmen?

D = SQRT( A^2 + B^2 + C^2 )

mit

A = x*p(1) + p(2)
B = y*p(3) + p(4) + A*p(5)
C = z*p(6) + p(7) + A*p(8) + B*p(9)

D ist eine bekannte Konstante.

Technischer Hintergrund:
Um ein Vektormeßsystem zu kalibrieren wird mit einem anderen Meßgeràt
der Betrag der Vektoren ermittelt. Dieser muß für alle Vektoren
konstant sein. Die Vektoren werden mit 9 Parametern so umgerechnet,
dass der Betrag konstant ist. Die Parameter sind Skalenwerte und
Offsets für x, y und z und 3 Parameter die die Nichtorthogonalitàt
des Vektorsystems korrigieren (OrthXY, OrthXZ, OrthYZ).

Ist das ein nichtlineares Fittingproblem? Wie könnte man die Parameter
bestimmen? Vielleicht kann mir auch jemand sagen, mit welcher Matlab-
Funktion man das machen könnte.

Viele Grüße, Markus

Ähnliche fragen