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

Berührpunkt zwischen zwei Körper mit unterschiedlichen dim

 

Alis9111
Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 12.12.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.12.2015, 19:09     Titel: Berührpunkt zwischen zwei Körper mit unterschiedlichen dim
  Antworten mit Zitat      
Hallo ,
habe mich seit paar Monaten mit Matlab angefreundet , habe jetzt zwei programme geschrieben die x,y,z Komponenten haben und möchte jetzt den Berührpunkt davon ermitteln , das problem ist das ich zwei Vektoren mit unterschiedlichen Dimension habe.
Meine Idee war es mit einem If befehl die Vektoren von einander abzuziehen und da wo es Null ist berühren die sich. Brauche dringend Hilfe.
Private Nachricht senden Benutzer-Profile anzeigen
Verschoben: 12.12.2015, 19:54 Uhr von Jan S
Von Tutorials nach Programmierung


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 12.12.2015, 20:02     Titel: Re: Berührpunkt zwischen zwei Körper mit unterschiedlichen
  Antworten mit Zitat      
Hallo Alis9111,

Was bedeutet das genau:
Zitat:
zwei programme geschrieben die x,y,z Komponenten haben und möchte jetzt den Berührpunkt davon ermitteln

Welche Werte stehen in diese "Komponenten"? Koordinaten? Welchen Typ und Dimension haben sie?
Zitat:
das problem ist das ich zwei Vektoren mit unterschiedlichen Dimension habe.

Wäre das Problem einfacher, wenn die Vektoren (welche übrigens?) die gleiche Dimension hätten? Beide Körper sind 3-dimensional, aber haben eine unterschiedliche Anzahl von Punkten, oder? Nun kann ein Körper doch mit einer Ecke den anderen Berühren, ohne dass er dabei einen Punkt des anderen berührt, oder?

Zitat:
Meine Idee war es mit einem If befehl die Vektoren von einander abzuziehen und da wo es Null ist berühren die sich.

Dann mache das doch. Denke daran, dass numerische Werte nur ausnahmsweise exakt gleich sind. Eine solcher Vergleich wäre sinnvoller:
Code:
abs(x1 - x2) < limit

Versuche es mal mit Deiner Idee und poste den Code, falls es nicht funktioniert.

Gruß, Jan

PS.
Zitat:
Brauche dringend Hilfe.

Das gilt für fast jeden, der im Forum postet. Das explizit zu erwähnen kommt leicht so rüber, als wolle man die Leute, die freiwillig antworten drängeln. Man lässt das also lieber weg.
Private Nachricht senden Benutzer-Profile anzeigen
 
Alis9111
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 12.12.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.12.2015, 20:26     Titel:
  Antworten mit Zitat      
Ich habe XX1 , YY1 und ZZ1 mit der Dimension 50x50, dies schreibe ich dann als einen Vektor A

A=[ XX1; YY1; ZZ1]; => A= 150x50

dann habe ich noch x2 , y2 und z2 mit der Dimension 17x360

B = [ x2; y2; z2]; => B=51X360

jetzt habe ich überlegt das ich aus A und B einen Vektor mit der Dimension 360x360 bekomme damit ich die voneinander abziehen kann.
Meine Idee ist es die leeren Zeilen und Spalten mit NaN aufzufüllen.
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: 13.12.2015, 00:56     Titel:
  Antworten mit Zitat      
Hallo Alis9111,


Du hast also:
Code:
A = [150 x 50];
B = [51 x 360];

Das sind "Matrizen", keine "Vektoren", um genau zu sein. Und diese Matrizen enthalten nun die Positionen von Punkten als karthesische Koordinaten? Und dabei stehen die X-Werte im oberen Drittel, die Y-Werte im mittleren und die Z-Werte im unteren? Das wäre eine wirklich schräge Art Koordinaten zu speichern. Wie wäre es mit einer [N x 3] Matrix, bei der die Komponenten von N Punkten in den Spalten gespeichert sind?
Dann könnte man mit einer Schleife die beiden Punkte bestimmen, die den geringsten Abstand zu einander haben.

Zitat:
jetzt habe ich überlegt das ich aus A und B einen Vektor mit der Dimension 360x360 bekomme damit ich die voneinander abziehen kann.

Wenn Du eine Matrix erstellst, was willst Du dann wovon abziehen?

Kannst Du Dein Problem mal von Hand lösen, wenn es um jeweils 2 Punkte geht? Wie würdest Du dabei vorgehen?

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.