Verfasst am: 02.08.2010, 16:39
Titel: if Abfrage aus Matrix
Hallo,
habe folgendes Problem:
Ich habe eine Matrix mit ca 2000 Zeilen a 3 Spalten [x y z].
Das sind Positionsvektoren einer Linearbahn.
Jetzt möchte ich, dass Matlab die Matrix abfrägt und, wenn ein bestimmter Abstand vom Zielpunkt erreicht ist, mir diese Koordinaten dann ausgibt, also [x(gesucht) y(gesucht) z(gesucht)]
Hab mal 'ne Skizze angehängt, villeicht versteht man's dann besser.
Habe nur keinen Dunst wie ich das lösen soll...
Vielleicht weiß ja einer von euch weiter...
Wenn Du alles in einer Matrix hast, dann würde ich folgendes machen:
a) Abstände aller Punkte vom gewünschten Punkt berechen
b) auf gewünschte Genauigkeit runden
c) feststellen, ob Abstand erreicht ist:
Code:
distance = repmat(fraglicherPunkt,[size(matrix,1)1]) - matrix;
distance(:,4) = sqrt(sum(distance.^2,2));
% Runden, sonst gibts wegen Ungenauigkeiten der Berechnung nie Übereinstimmungen
distance(:,4) = round(distance(:,4).*10000)./10000;
matrix(find(distance(:,4) == Abstand,1,'first')
Gibt es ein Ist und ein Wunsch-Soll? Gibt es Beispiele zum Durchprobieren? Wenn selbstgeschriebene Funktionen aufgerufen werden: können sie bitte angehangen werden? Gab es Fehlermeldungen?
Stimmen die Werte, wenn der Debugger mit Haltepunkten etc. eingesetzt wird?
Danke
Super! funktioniert.
Ja negativer Abstand macht net soviel Sinn
Ist es jetzt auch noch möglich, dass Matlab mir die Zeile der Matrix ausgibt in der der Wert steht?
Also dass er mir sagt:
der Vektor ist [x y z] und steht in der Matrix in der x-ten Zeile
wie wärs mit ein wenig mitdenken? Die Variable ind ist diese Zeile. Du musst also nur den Strichpunkt weglassen.
Grüße,
Harald
Einstellungen und Berechtigungen
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
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.