|
Autor |
Relativgeschwindigkeit zweier Punktmassen berechnen |
|
Hanny
Ehemals Aktiv  Dabei seit: 29.10.2007 Mitteilungen: 186
 | Themenstart: 2017-05-30
|
Hallo,
ich habe eine Frage zu Berechnung der Relativgeschwindigkeit zweier bewegter Punkte in Matlab.
Ich nehme an, es bewegen sich zwei Punktmassen in einer Ebene.
Ihre zeitabhängige Position (x,y) gebe ich jeweils in einem Vektor an bzw. wird in einem Vektor bereit gestellt, jeweils vom Inertialkoordinatensystem zur Punktmasse betrachtet.
Da ich somit beide Ortsvektoren der Punktmassen habe, kann ich den verbindenden Vektor von der Punktmasse A zur Punktmasse B durch Subtraktion der Ortsvektoren berechnen.
Ich interessiert jetzt aber die Relativgeschwindigkeit bzgl. der beiden Punktmassen.
Wie kann ich die Relativgeschwindigkeit zweier Ortsvektoren in Matlab ohne großen Aufwand berechnen?
Ich würde mich über Vorschläge sehr freuen!
LG
|
Profil
|
Hanny
Ehemals Aktiv  Dabei seit: 29.10.2007 Mitteilungen: 186
 | Beitrag No.1, vom Themenstarter, eingetragen 2017-05-31
|
Ich bin jetzt so vorgegangen, dass ich die Differenz der x- und y-Koordinate der beiden Punktmassen zu jedem Zeitschritt gebildet habe, mit dem diff() Befehl. Damit erhalte ich ja prinzipiell die vektorielle Geschwindigkeitsänderung der beiden Punkte in x- und y-Richtung.
Ich habe anschließend den für jeden Zeitschritt den Betrag des Vektors gebildet, um den Absolutwert der Relativgeschwindigkeit zu berechnen. Damit geht mir allerdings die Information über das Vorzeichen verloren (+ oder -).
Ich habe mir überlegt, diese Information über eine Signum-Funktion zurück zu bekommen. Wenn die absolute Längenänderung positiv oder negativ ist wird das entsprechende Vorzeichen hinzugefügt.
Gibt es da keinen eleganteren Lösungsweg?
LG
|
Profil
|
Kitaktus
Senior  Dabei seit: 11.09.2008 Mitteilungen: 7141
Wohnort: Niedersachsen
 | Beitrag No.2, eingetragen 2017-05-31
|
Bei der Verwendung des diff-Befehls musst Du ggf. noch durch die Größe des Zeitschrittes teilen.
Was das Vorzeichen anbelangt:
Es gibt zwei Fragen, die man sich stellen kann.
1) Wenn man A als Ursprung eines (bewegten) Koordinatensystems ansieht, bei dem aber die Richtung der Koordinatenachsen konstant bleibt, wie schnell bewegt sich B dann innerhalb dieses Koordinatensystems?
2) Wenn man A als Ursprung eines (bewegten) Koordinatensystems ansieht, bei dem aber die x-Achse immer in Richtung B zeigt, wie schnell bewegt sich B dann innerhalb dieses Koordinatensystems?
Im zweiten Fall bewegt sich B immer entlang der x-Achse. Man kann also die Geschwindigkeit von B als "Betrag" + "Vorzeichen" interpretieren.
Im ersten Fall bewegt sich B nicht entlang einer festgelegten Achse. Man kann also die Geschwindigkeit von B nur als "Betrag" + "Richtung" interpretieren. In der Richtung steckt natürlich die Information, ob sich B nun in jene Richtung oder in die genau entgegengesetzte Richtung bewegt. Aber so etwas wie "das Vorzeichen" gibt es nicht.
Bei der ersten Sichtweise bewegt sich der Mond mit etwa 1023m/s um die Erde. Bei der zweiten Sichtweise entfernt sich der Mond etwa 3,8cm pro Jahr.
Dein Vorgehen ist richtig für Fall 1. Dann stellt sich die Frage nach einem Vorzeichen aber nicht.
Im Fall 2 müsste man vom Abstandsvektor erst den Betrag bilden und dann differenzieren. Dann ergibt sich das Vorzeichen ganz automatisch.
|
Profil
|
Hanny
Ehemals Aktiv  Dabei seit: 29.10.2007 Mitteilungen: 186
 | Beitrag No.3, vom Themenstarter, eingetragen 2017-06-01
|
Ok, ich betrachte dann mal den zweiten Fall:
Der Vektor r^>_(A0) stellt den Ortsvektor vom Koordinatenursprung (Inertialsystem) zum Punkt A dar, der Vektor r^>_(B0) den Ortsvektor zum Punkt B.
Dementsprechend ergibt sich der verbindende Vektor von Punkt A nach B zu r^>_(AB)=r^>_(B0)-r^>_(A0) .
Für den Richtungsvektor ergibt sich damit: (r^>_(B0)-r^>_(A0))/abs((r^>_(B0)-r^>_(A0)))
Und damit dann die Relativgeschwindigkeit zwischen beiden Punkten: v_(rel)=(r^>_(B0)-r^>_(A0))/abs((r^>_(B0)-r^>_(A0)))\circ\ (v^>_(B0)-v^>_(A0)
Wobei v^>_(B0)-v^>_(A0) über die diff-Funktion in Matlab berechnet wird. So wäre dann das Vorzeichen auch immer dabei.
Ist dies so richtig?
|
Profil
|
Kitaktus
Senior  Dabei seit: 11.09.2008 Mitteilungen: 7141
Wohnort: Niedersachsen
 | Beitrag No.4, eingetragen 2017-06-02
|
Vorweg:
Ich kenne es so, dass man mit rAB den Vektor von A nach B bezeichnet. Als Differenz von Ortsvektoren ist das dann r0B-r0A. Bei Dir ist es jetzt genau umgedreht. Das kann man so machen, darf sich aber nicht wundern, wenn es anderswo anders gemacht wird.
Zur Frage:
Nein, das ist nicht richtig. Für den Fall 2 müsste man den Abstand von A und B nehmen -- |rA0-rB0| -- und diesen Abstand differenzieren.
Man erhält eine vorzeichenbehaftete aber richtungslose Geschwindigkeit.
Die Richtung, in die diese Geschwindigkeit wirkt, ist die Richtung rAB.
Für den Fall 1 müsste man den Vektor rAB = rA0-rB0 direkt differenzieren. Das Ergebnis wäre ein Geschwindigkeitsvektor, der die Relativbewegung von B in Bezug auf A beschreibt.
Ich habe nochmal über das Beispiel mit dem Mond nachgedacht. Das Ergebnis in Beitrag #2 ist nicht ganz richtig.
Im Mittel entfernt sich der Mond um 3,8cm pro Jahr. Das Ganze wird aber von einer periodischen Abstandsschwankung überlagert, da die Mondbahn um die Erde nicht exakt Kreisförmig ist. Sein Abstand zur Erde wächst und schrumpft innerhalb eines Monats also nahezu periodisch (Größenordnung +-100km/h). Wenn man diesen periodischen Teil herausrechnet, so bleibt noch eine sehr langsame Drift nach außen übrig.
|
Profil
|
Hanny
Ehemals Aktiv  Dabei seit: 29.10.2007 Mitteilungen: 186
 | Beitrag No.5, vom Themenstarter, eingetragen 2017-06-06
|
Also ich kann mir schon vorstellen was du meinst mit den Abstand |rB0-rA0| zu differenzieren.
Das wäre doch in Matlab einfach nur |rB0(i+1)-rA0(i+1)|-|rB0(i)-rA0(i)|.
Das was ich oben in Beitrag No.3 geschrieben habe ist doch nichts anderes als dass die Relativgeschwindigkeit in x- und y-Richtung der beiden Punkte auf den verbindenden Einheitsvektor projiziert wird.
Ich kann nicht ganz nachvollziehen wo hierbei der Fehler liegen soll. Kannst du mir das bitte erklären?
Grüße
Hanny
|
Profil
|
Hanny hat die Antworten auf ihre/seine Frage gesehen. |
|
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2023 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen. Lesen Sie die
Nutzungsbedingungen,
die Distanzierung,
die Datenschutzerklärung und das Impressum.
[Seitenanfang]
|