Mathematik online lernen im Mathe-Forum. Nachhilfe online
Startseite » Forum » Ausgleichsebene für 4 gemessene xyz Punkte

Ausgleichsebene für 4 gemessene xyz Punkte

Universität / Fachhochschule

Tags: Ausgleichsebene, Lineare Regression, Punktwolke

 
Antworten Neue Frage stellen Im Forum suchen
Neue Frage
swali

swali aktiv_icon

18:07 Uhr, 27.12.2016

Antworten
Hallo Zusammen,

ich habe einen Z-Taster an einer CNC-Anlage mit dem ich 4 "XYZ-Punkte" im Raum abtaste. Die Positionen für X und Y sind fest definiert. Position Z wird jeweils ausgemessen. Mir ist bewusst, dass man zur Bestimmung einer Ebene nur 3 Punkte im Raum brauch. Ich brauche jedoch Aufgrund der Genauigkeit, die Ausgleichsebene der 4 Punkte. Ich habe hier auch schon einen Lösungsansatz gefunden, jedoch ist mir noch nicht klar, wie der genaue Rechenweg dahin aussieht?

Z=a0+a1x1+a2x2

Wie genau komme ich auf die 4 neu errechneten "Z-Werte"? Die Berechnung soll später über ein AHK-Script (AutoHotkey) automatisiert werden.
Für Hilfe wäre ich sehr dankbar.

Ausgemessene Z-Positionen:
P1
X:-15
Y:-15
Z:-5.335

P2
X:-15
Y:15
Z:-3.332

P3
X:15
Y:15
Z:-4.971

P4:
X:15
Y:-15
Z:-6.802

Anhang:
- Grafik zur veranschaulichung (jedoch mit verdrehtem Vorzeichen bei Z...)
- Bisher gefundener Lösungsansatz

gr
2573421e-058c-4fb4-9d67-077d039420a1

Für alle, die mir helfen möchten (automatisch von OnlineMathe generiert):
"Ich möchte die Lösung in Zusammenarbeit mit anderen erstellen."
Online-Nachhilfe in Mathematik
Antwort
pwmeyer

pwmeyer aktiv_icon

18:39 Uhr, 27.12.2016

Antworten
Hallo,

Du bildest eine 4×4 -Matrix A(4: Zahl der Messpunkte, 3: Zahl der zu bestimmenden Parameter. 1. Spalte: alle 1,2. Spalte: x-Werte, 3. Spalte: y-Werte.

Dann löst Du das Gleichungssystem ATAv=ATz(z: Z-Werte).
Die Lösung v enthält dann a0,a1,a2

Gruß pwm
Antwort
anonymous

anonymous

19:09 Uhr, 27.12.2016

Antworten
Hallo
Oder...
Ich vermute, das hätte heissen wollen:
z=a0+a1x+a2y

Wenn du definierst:
Abweichung b= z_ideal - z_gemessen =a0+a1x+a2y-zi
Fehlerquadratsumme: F=b2=(a0+a1x+a2y-zi)2
und die Fehlerquadratsumme minimierst, dann bekommst du drei Gleichungen für deine drei Parameter a0,a1,a2.

Antwort
anonymous

anonymous

19:16 Uhr, 27.12.2016

Antworten
PS:
Für dein Zahlenbeispiel ergibt sich:
z=-5.1100-0.051766666666x+0.0639y

Antwort
Roman-22

Roman-22

21:20 Uhr, 27.12.2016

Antworten
Sei z=ax+by+c die gesuchte Ebenengleichung.

Seien X,Y und Z die 4×1 Vektoren mit den x-,y- und z- Koordinaten deiner vier Punkte.
Da deine x und y Koordinaten bereits zentriert sind und sich nicht ändern, kannst du die gesuchten Koeffizienten wie folgt errechnen:

Seit D=|XXXYXYYY|=XXYY-(XY)2

Dabei soll zB XY für das Skalarprodukt der beiden Vektoren X und Y stehen.

Nun gilt

a=|XZXYYZYY|D

b=|XXXZXYYZ|D

c=Z¯

und Z¯ ist der Mittelwert der z-Werte.

Zum Nachlesen zB
http//www.gfai.de/%7Egoetze/links/Approxim_2_5.pdf

swali

swali aktiv_icon

17:40 Uhr, 29.12.2016

Antworten
Vielen Dank für die Hilfe. Ich verstehe jetzt wie ich mit der Ebenengleichung auf meine 4 neuen Z-Werte kommen müsste.

Was ich nicht verstehe ist, wie ich jetzt auf die Koeffizienten a,b und c komme? Ich bin leider nicht so fit in Mathe. Wenn ich den Beitrag von "Roman-22" nehme und versuche "D" "a" und "b" zu errechnen, frage ich mich welche X und Y und Z Werte ich jetzt von all denen die mir zur Verfügung stehen nehmen soll?

Könnte mir jemand zur Verdeutlichung die Gleichung mit Zahlen vom Beispiel füllen, so dass ich den genauen Rechenweg bis zum neuen Z-Wert sehen kann?
Bis jetzt schon mal vielen Dank für alle Beiträge!!



Antwort
Roman-22

Roman-22

18:26 Uhr, 29.12.2016

Antworten
> frage ich mich welche X und Y und Z Werte ich jetzt von all denen die mir zur Verfügung stehen nehmen soll?
Lies den Anfang meines Beitrags nochmals durch, dort steht es!
"Seien X,Y und Z die 4×1 Vektoren mit den x−,y− und z− Koordinaten deiner vier Punkte."
UNd weiter unten steht auch noch, das zB XY für das Skalarprodukt aus den beiden Vektoren X und Y steht. Analog natürlich XX, XZ, etc.

Aber da sich bei dir die x- und y-Werte (also die ±15) ja nicht ändern, kann ich es dir noch ein weniger einfacher liefern.
Seien z1 bis z4 die z-Koordinaten deiner vier Punkte und zwar genau in der Reihenfolge, in der du ursprünglich die Punkte hier angegeben hast.
Also z1 is die z-Koordinate des Punktes (-15/-15/z1), etc.

Dann ist

a=160(z3+z4-z1-z2)

b=160(z2+z3-z1-z4)

c=14(z1+z2+z3+z4)

Das lässt sich sicher leicht in deinem Skript umsetzen und wenn du die Werte, die du hier gepostet hast, einsetzt, solltest auf das Ergebnis kommen, welches kreador schon genannt hatte, nämlich

a=-0,05176¯
b=0,0639
c=-5,11

Zur Erinnerung, es geht um die Gleichung z=ax+by+c.

Antwort
anonymous

anonymous

18:29 Uhr, 29.12.2016

Antworten
Ich hatte oben schon den Ansatz hingeschrieben:
Fehlerquadratsumme: F=(a0+a1x+a2y-zi)2

Minimieren, das heisst die partiellen Ableitungen sind Null:
dF/da_0 =0=2(a0+a1x+a2y-zi)1

0=na0+a1x+a2y-zi
(Hierbei ist n die Anzahl an Stützpunkten. In deinem Beispielfall also n=4)

dF/da_1 =0=2(a0+a1x+a2y-zi)x

0=a0x+a1x2+a2xy-xzi

dF/da_2 =0=2(a0+a1x+a2y-zi)y

0=a0y+a1xy+a2y2-yzi

Jetzt mache dir klar, sämtliche folgende Größen sind bekannt:
n
x
y
zi
x2
xy
y2
xzi
yzi
D.h. du hast ein lineares Gleichungssystem mit nur noch den unbekannten Größen
a0,a1,a2
und eben die drei Bestimmungsgleichungen:
0=na0+a1x+a2y-zi
0=a0x+a1x2+a2xy-xzi
0=a0y+a1xy+a2y2-yzi

Wunderbar - einfach auflösen. Ich habe das mal für dich gemacht. (Aber bitte erwarte nicht, dass ich den ganzen Rechenweg hier in Tastendrücke ausführe)
Nenner=n*sum x2y2-x2yy-xxy2-nxyxy+2xyxy

a0=(x2ziy2-zixyxy+xxyyzi-xxziy2-x2yyzi+yxzi x*y)/Nenner

a1=(xyyzi-nxyyzi-xziy2+ziyxy-xziyy+nxzi y^2)/Nenner

a2=(nx2yzi-x2ziy-xxyzi-nxzixy+xzixy+xy x*z_i)/Nenner

Frage beantwortet
swali

swali aktiv_icon

09:02 Uhr, 06.01.2017

Antworten
Vielen Dank für die Hilfe! Das Abtasten der Oberfläche und Generieren der Ausgleichsebene klappt inzwischen über das Script.
swali

swali aktiv_icon

09:02 Uhr, 06.01.2017

Antworten
EDIT
Diese Frage wurde automatisch geschlossen, da der Fragesteller kein Interesse mehr an der Frage gezeigt hat.