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

Mithilfe von for schleife den Winkel ermitteln

 

Markus1995
Forum-Anfänger

Forum-Anfänger


Beiträge: 22
Anmeldedatum: 23.12.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.06.2016, 19:45     Titel: Mithilfe von for schleife den Winkel ermitteln
  Antworten mit Zitat      
Hallo Leute,
wieder einmal brauche ich euere Hilfe.
Ich habe zwei dreidimensionale Körper, habe den abstand zwischen diese ermittelt, jedoch bräuchte ich den genauen abstand bei einem bestimmten Winkel.
dachte ich kann sowas mit Hilfe von for schleifen machen, jedoch weiß ich nicht wie ich damit anfangen sollte.

sozusagen benötige ich eine for schleife bei dem ich immer den abstand reinschreibe und diese mir den Winkel dafür rausgibt.



Gruß Markus


Bedanke mich jetzt schon für euere Hilfe.
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: 18.06.2016, 12:46     Titel: Re: Mithilfe von for schleife den Winkel ermitteln
  Antworten mit Zitat      
Hallo Markus1995,

Die Frage ist noch nicht klar.
In welcher Form liegen die 3D-Körper vor? Als Koordinaten, Gleichungen, Punktwolke, als Fotos?
Was ist ein "Abstand bei einem Winkel"? Winkel wo zwischen?
Wieso hilft eine FOR-Schleife dabei?

Zitat:
sozusagen benötige ich eine for schleife bei dem ich immer den abstand reinschreibe und diese mir den Winkel dafür rausgibt.

Das ist nicht nachvollziehbar. Das scheint ein völlig anderes Problem zu sein als oben.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Markus1995
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 22
Anmeldedatum: 23.12.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.06.2016, 20:00     Titel:
  Antworten mit Zitat      
Hallo Jan,

Habe x1,y1 und z1 sowohl auch x2, y2 und z2.
jetzt berechne ich den abstand zwischen den beiden Körpern. Die x,y-z Koordinaten sind als Matrizen gegeben.
Code:

for i=1:size(x2,1)
    for j=1:size(x2,2)
          diff_x=(x2(i,j)*A)-x1;
          diff_y=(x2(i,j)*A)-y1;
          diff_z=(z2(i,j)*A)-z1;
          summe_diff= (diff_x+diff_y+diff_z);
          summe_diff1=abs(summe_diff);
          [~,idx1]=min(summe_diff1);
          [~,idx2]=min(min(summe_diff1));
end
end
 

Ich möchte das Körper B sich bei einem bestimmten Winkel dem Körper A annähert . Ich dachte das ich sowas mit einer for-schleife machen kann.

Ich habe schon einen Winkel bestimmt jedoch ist der abstand zwischen den beiden Körpern nicht minimal.

20160618_195512.jpg
 Beschreibung:

Download
 Dateiname:  20160618_195512.jpg
 Dateigröße:  931.34 KB
 Heruntergeladen:  305 mal
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: 19.06.2016, 13:29     Titel:
  Antworten mit Zitat      
Hallo Markus1995,

Das ist eine seltsame Definition von Abstand. Bist Du sicher, dass Du nicht den euklidischen Abstand benötigst?
Code:
summe_diff = sqrt(diff_x^2 + diff_y^2 + diff_z^2);

Zitat:
Habe x1,y1 und z1 sowohl auch x2, y2 und z2.
jetzt berechne ich den abstand zwischen den beiden Körpern. Die x,y-z Koordinaten sind als Matrizen gegeben.

Eine generelle Regel für das Forum: Das Beschreiben mit Worten ist deutlich schwieriger als eindeutigen Code anzugeben. Hier muss man noch ein wenig rätseln, was genau wie definiert ist.

Der von Dir gepostete Code überschreibt die Variablen idx1 und idx2 in jeder Iteration. So bekommst Du nur den Abstand des letzten Punkts.

Was ist "A"?

Zitat:
Ich möchte das Körper B sich bei einem bestimmten Winkel dem Körper A annähert . Ich dachte das ich sowas mit einer for-schleife machen kann.

Worüber möchtest Du denn die Schleife laufen lassen? In der Zeichnung hast Du einen Winkel zwischen zwei Punkten angegeben. In 3D wird der Abstand aber auch von der Orientierung der Körper abhängen. Was genau bedeutet "sich annähern unter einem beastimmten Winkel? Bleibt alpha immer gleich groß - auch beim Annähern?

Zitat:
Ich habe schon einen Winkel bestimmt jedoch ist der abstand zwischen den beiden Körpern nicht minimal.

Das verstehe ich nicht.

Bitte beschreibe das Problem nochmal exakter.

Viele Grüße, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Markus1995
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 22
Anmeldedatum: 23.12.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.06.2016, 16:05     Titel:
  Antworten mit Zitat      
Hallo Jan


Ich berechne hier den euklidischen wert, oben zieh ich die wert von einander ab.


Mit x1,y1.... meinte ich die punkte die ich plotte.
[code]Plot3(x1,y1,z1)

[code]Plot3 (x2,y2,z3)



Ich habe schon in meiner Berechnung einen abstand von o.oo3 bei eine winken von
[code]alpha =0.075[/code]

jedoch ist meine ziel das der abstand soweit wie möglich an Null liegt also 0.000001
und von diesem Möchte ich den Winkel ermitteln.

Ich dachte vielleicht bekomme ich es mit einer for schleife hin, kenne mich mit Matlab nicht so gut aus.


Jan was meinst du mit der Orientierung der Körper ?



Gruß Markus
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.