![]() |
---|
Hallo, also ich habe folgendes Problem: Gegeben ist in Matlab die Mittellinie einer geschlossenen Rennstrecke in Form einer Matrix mit erster Spalte X-Koordinaten und 2. Spalte Y-Koordinaten.... Nun soll ich für jedes Punktepaar die Krümmung berechnen um Geraden auf der Strecke zu filtern, dabei ist die Krümmung in Abhängigkeit des auf der Strecke zurückgelegten Wegs definiert (siehe Foto) etzt habe ich das Problem, dass die und Y-Koordinaten jeweils eine Funktion in Abhängigkeit von sein müssen und dann abgeleitet werden.. wie mache ich das? Also ich habe mittlerweile jedem Punktepaar eine Länge zuordnen können (Approximation über Satz des Phythagoras, weil die Punkte sehr eng beieinander liegen) Für die erste Ableitung würde ich statt dX/ds einfach nehmen, wäre das in Ordung? Aber wie soll ich denn die 2. Ableitung mit den Punkten hinbekommen? Könnte ich vielleicht doch irgendwie eine allgemeine Funktion der Koordinaten von berechnen? Für würde ja . gelten: Xi(si)= . aber das wäre doch Quatsch, das nach si abzuleiten, oder? Für alle, die mir helfen möchten (automatisch von OnlineMathe generiert): "Ich möchte die Lösung in Zusammenarbeit mit anderen erstellen." |
Hierzu passend bei OnlineMathe: Wendepunkte (Mathematischer Grundbegriff) Online-Übungen (Übungsaufgaben) bei unterricht.de: |
![]() |
![]() |
Aber wie soll ich denn die 2. Ableitung mit den Punkten hinbekommen? Genauso wie die erste. Diese liefert dir doch einen Vektor (um ein Element kleiner) mit den Werten der ersten Ableitung und damit machst du das gleiche nochmals und erhältst Approximationen für die zweite Ableitung. Kann MatLab nicht aus den und x-Werten eine Interpolationsfunktion (linear oder Splines) bilden, die dann ganz "normal" ableitbar ist? |
![]() |
Du schreibst. ".. einer geschlossenen Rennstrecke .." Wenn Du so etwas - bzw. Teile davon - als Funktion darstellen möchtest, so wirst Du an mindestens zwei Stellen eine Steigung von unendlich haben. Oder in Deinem Fall Stellen, wo die Steigung von plus-sehr-groß auf minus-sehr-groß umschlägt - oder umgekehrt. Das ist nummerisch ziemlich übel! Schau nach wie 'Krümmung' definiert ist - nämlich . Wobei der Radius des and er Stelle anliegenden Kreises ist. ( de.wikipedia.org/wiki/Kr%C3%BCmmung#/media/File:Osculating_circle.svg) Was spricht also dagegen, drei hinter einander liegende Punkte zu wählen und ihren Umkreis bzw. seinen Radius zu berechnen (s. de.wikipedia.org/wiki/Umkreis#Radius). Und daraus auf die Krümmung im mittleren der drei Punkte zu schließen. |
![]() |
so wirst Du an mindestens zwei Stellen eine Steigung von unendlich haben. Das wär hier ja keine Tragik, da ja aus dem Punkthaufen eine Parameterdarstellung mit der Bogenlänge als Parameter gebastelt wird. IN der angegebenen Formel sollen die Ableitungsstriche ja irreführenderweise die Ableitung nach diesem Parameter angeben. Nach der Steigung ist ja nicht gefragt und wenn mal gegen unendlich geht, hat das ja auf die Krümmung keine bösen Auswirkungen. Ansonsten halte ich deinen Vorschlag, die Krümmung durch den Kehrwert des Umkreisradius dreier benachbarter Punkte zu approximieren für recht brauchbar, sofern nicht Matlab, wie oben schon angedeutet und vermutet, nicht doch brauchbare Funktionen parat hält. |
Diese Frage wurde automatisch geschlossen, da der Fragesteller kein Interesse mehr an der Frage gezeigt hat.
|