WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Abstand zwischen Messdaten

 

PeterPan4711
Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 22.11.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.12.2013, 17:32     Titel: Abstand zwischen Messdaten
  Antworten mit Zitat      
Hallo zusammen,

vielleicht kann mir jemand bei meiner Problematik weiterhelfen?

Ich habe in zwei Versuchsreihen Spurverläufe über jeweils eine GPS-Antenne aufgezeichnet (siehe Bild im Anhang). Achtung: Es handelt sich dabei um einzelne (dicht aneinander liegende) Messpunkte, nicht um mathematische Funktionen! Aus den beiden "Verläufen" möchte ich nun die Spurabweichung bestimmen. D.h. ich möchte den senkrechten Abstand zu jedem Zeitpunkt ermitteln. Hat irgendjemand eine Idee, wie ich da am besten vorgehe?

Danke und Grüße!

MATLAB.pdf
 Beschreibung:

Download
 Dateiname:  MATLAB.pdf
 Dateigröße:  6.26 KB
 Heruntergeladen:  329 mal
Private Nachricht senden Benutzer-Profile anzeigen


Seban
Forum-Meister

Forum-Meister


Beiträge: 600
Anmeldedatum: 19.01.12
Wohnort: ---
Version: ab R2014b
     Beitrag Verfasst am: 12.12.2013, 21:59     Titel:
  Antworten mit Zitat      
Hallo,

Wie sehen die Daten denn aus? Der einfachste Fall wären wohl 2 gleich lange Vektoren mit Messwerten, die du elementweise subtrahieren kannst.

Wirklich helfen kann man dir aber vermutlich erst, wenn du mehr Infos bereit stellst.

Grüße,
Seban
_________________

Richtig fragen
Debugging
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 13.12.2013, 01:54     Titel:
  Antworten mit Zitat      
zu dem thema gab es hier im forum schonmal was. die abweichung von zwei laufwegen. das ist nicht so trivial wie es am anfang klingt. du solltest dir also gedanken machen wie du die abweichung bestimmen willst. wenn du 2 messwerte am punkt x hast ist das recht leicht. einfach y1-y2 bei kurvenverläufen ist das schon schwerer. willst du interpolieren und dann den normalen abstand nehmen? eine möglichkeit wäre es zb auch beide flächen zu bestimmen und dann mittels gemittelter länge den unterschied zu bestimmen. und so weiter.
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
PeterPan4711
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 22.11.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.12.2013, 20:09     Titel:
  Antworten mit Zitat      
Hallo,

ich habe inzwischen eine Antwort auf die Frage gefunden. Vielleicht hilft das ja mal jemandem weiter...

Code:


% Koordinaten der Referenz
x_ref = [1, 2, 3, ...];
y_ref = [4, 5, 6, ...];

% Koordinaten der Vergleichsmessung
x_mess = [7, 8, 9, ...];
y_mess = [10, 11, 12, ...];

% Abstand jedes einzelnen Punktes der Referenz zu jedem einzelnen Punkt der Messung bestimmen
for i = 1:length(x_ref)
for k = 1:length(x_mess)
Abstand(i) = sqrt((x_ref(i) - x_mess(k))^2 + (y_ref(i) - y_mess(k))^2);
end
% Minimalen Abstand suchen, da dieser genau der senkrechten Verbindung entspricht
Abstand_min_(i) = min(Abstand);
end

 


Ist jetzt aus dem Gedächnis geschrieben, sollte aber so passen Wink
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 16.12.2013, 21:06     Titel:
  Antworten mit Zitat      
Hallo PeterPan4711,

In Deinem Code wird "Abstand(i)" in jeder Iteration in der Schleife über "k" überschrieben. Besser:
Code:
Abstand_min_ = zeros(1, length(x_ref));   % Pre-allocation!!!
for i = 1:length(x_ref)
  Abstand_min_(i) = sqrt(min((x_ref(i) - x_mess) .^ 2 + (y_ref(i) - y_mess) .^ 2));
end

Das zeitraubende Berechnen der Wurzel kann man sich sparen und nur auf das eigentliche Minimum anwenden.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.