|
|
Frage zu einer Winkelberechnung |
|
brev |
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 26.01.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.01.2008, 17:27
Titel: Frage zu einer Winkelberechnung
|
|
Hallo zusammen,
ich bin gerade bei einer Uniaufgabe und stehe arg vorm Berg:
Ich will den Winkel zwischen 2 dreidimensionalen Vektoren berechnen. Das tut auch so ganz gut mit diesem Code:
thetaRad = acos((a*g')/(aBetrag * gBetrag));
a, g sind zeilenvektoren, aBetrag, gBetrag die jeweiligen "längen"
Jetzt kommt aber mein eigentliches Problem. Ich will dieses nun für Matrizen von Vektoren benutzen. Das heisst, ich habe 90 Zeilen mit jeweils einen Vektor, dazu noch 90 Betragseinträge. Ich habe das hier dazu geschrieben:
for i=1:91
thetaVecRad(i) = acos((aVec(i,*gVec(i,')/(aVecBetrag(i) * gVecBetrag(i)));
end
Irgendwas wird berechnet, aber es passt nicht. Was mache ich da falsch?
Vielen Dank schonmal für eure Hilfe
Gruss
brev
|
|
|
|
|
brev |
Themenstarter
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 26.01.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.01.2008, 17:28
Titel:
|
|
also, ich seh gerade, : da wo die smileys sind, muss doppelpunkt klammer hin... steuerzeichen erwischt *g*
|
|
|
Michaela |
Forum-Century
|
|
Beiträge: 239
|
|
|
|
Anmeldedatum: 12.07.07
|
|
|
|
Wohnort: ---
|
|
|
|
Version: bis 2007b
|
|
|
|
|
|
Verfasst am: 26.01.2008, 18:45
Titel:
|
|
Die normalen Rechenoperationen " * / ^ " etc werden bei Matlab standardmässig als matrixoperation durchgeführt. Probier mal
A .* B
das multipliziert jedes A_{ij} mit jedem B_{ij}. Das suchst Du doch, oder?
Das mit dem Punkt geht genauso auch für ./ und .^
_________________
---------------------------------------------------------------
Leider habe ich daheim zwar Internet aber kein Matlab - daher sind alle Syntaxbeispiele circa Angaben.....
|
|
|
brev |
Themenstarter
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 26.01.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.01.2008, 10:46
Titel:
|
|
also, ich hab das jetzt mit dem Punktoperator umgebaut, aber irgendwie berechnet der was falsches... kann es sein, dass es so garnicht geht?
|
|
|
Michaela |
Forum-Century
|
|
Beiträge: 239
|
|
|
|
Anmeldedatum: 12.07.07
|
|
|
|
Wohnort: ---
|
|
|
|
Version: bis 2007b
|
|
|
|
|
|
Verfasst am: 27.01.2008, 13:51
Titel:
|
|
Hmm die Formeln hatte ich mir gar nicht angeschaut. Auf erste würde mir einfallen, dass evtl beim transponieren was schiefgeht - da hilft aber nur stück für stück den code und die zwischenergebnisse nachschauen..
_________________
---------------------------------------------------------------
Leider habe ich daheim zwar Internet aber kein Matlab - daher sind alle Syntaxbeispiele circa Angaben.....
|
|
|
nschlange |
Ehrenmitglied
|
|
Beiträge: 1.320
|
|
|
|
Anmeldedatum: 06.09.07
|
|
|
|
Wohnort: NRW
|
|
|
|
Version: R2007b
|
|
|
|
|
|
Verfasst am: 27.01.2008, 16:07
Titel:
|
|
Hi,
vielleicht berechnest Du die Beträge falsch?
Ich hab dot für das Skalar-Produkt benutzt.
Beachte, dass acos den Winkel in rad liefert.
Du kannst acosd nutzen oder manuell umwandeln.
_________________
Viele Grüße
nschlange
"Chuck Norris ejakuliert fluessigen Stahl!"
|
|
|
|
|
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
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.
|
|