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

Winkelhalbierende berechnen

 

Beginner_mat
Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 08.10.15
Wohnort: Frankfurt
Version: ---
     Beitrag Verfasst am: 23.10.2015, 10:24     Titel: Winkelhalbierende berechnen
  Antworten mit Zitat      
Hallo!
Ich habe zwei Vektoren (der Vektoralgebra!) mithilfe von Matrizen aufgestellt. Diese sind A und B. Mein Ziel ist das Errechnen und Zeichnen einer Winkelhalbierenden. Dafür habe ich den Schnittpunkt durch das Gleichsetzen der beiden Geradengleichungen g1 und g2 berechnet.

Code:
x1=[14 20];
y1=[0 62];
A=[x1(2)-x1(1) y1(2)-y1(1)];
 
x2=[5 -3];
y2=[0 62];
B=[x2(2)-x2(1) y2(2)-y2(1)];
 
A_norm = norm(A);
B_norm = norm(B);
 
C = (A/A_norm+B/B_norm);
% C = 30*C ;    % C bisschen laenger machen
 
%% Berechnung Schnittpunkt beider Vektoren durch Aufstellen der 2 Geradengleichungen und Auflösen nach t und s %%
 
syms t s
P1=[x1(1) y1(1)];
P2=[x2(1) y2(1)];
g1=P1+t*A;
g2=P2+s*B;
 
so=solve(g1==g2);
% so=[so.t so.s];
 
gerade1=line(x1,y1);
gerade2=line(x2,y2);
line([-9/14 C(1)],[-9/14 C(2)],'Color','b')  %% -9/14 händisch für t und s eingesetzt, weil das nach dem Auflösen herauskommt


Es funktioniert aber leider nicht. Was mache ich falsch?

Das Rechnen mit den Vektoren der Vektoralgebra müsste richtig sein. Denn ich habe mithilfe der Vektoren schon den eingeschlossenen Winkel alpha

Code:
alpha=acosd((dot(A,B))/(sqrt((A(1)*A(1))+(A(2)*A(2)))*sqrt((B(1)*B(1))+(B(2)*B(2)))));
 

erfolgreich berechnet (knapp 12°).
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: 24.10.2015, 14:18     Titel: Re: Winkelhalbierende berechnen
  Antworten mit Zitat      
Hallo Beginner_mat,

Bitte erkläre noch, was "es funktioniert aber leider nicht" genau bedeutet. Bekommst Du eine Fehlermeldung oder weicht das Ergebnis von Deinen Erwartungen ab?

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 08.10.15
Wohnort: Frankfurt
Version: ---
     Beitrag Verfasst am: 26.10.2015, 20:10     Titel: Winkelhalbierende berechnen
  Antworten mit Zitat      
Hi Jan,

das Ergebnis weicht von meinen Erwartungen ab. Ich will ja eine Winkelhalbierende entwerfen. Wenn man den Code eingibt, erscheint eine kleine Gerade, die nicht dem gewünschten Winkel entpspricht.
Ich bekomme keine Fehlermeldung.

Grüße
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: 26.10.2015, 20:47     Titel: Re: Winkelhalbierende berechnen
  Antworten mit Zitat      
Hallo Beginner_mat,

Ich kann Deinen Code nicht laufen lassen, weil ich die Symbolic Toolbox nicht habe.

Die Erklärungen verstehe ich nicht vollständig. Z.B.:
Zitat:
Ich habe zwei Vektoren (der Vektoralgebra!) mithilfe von Matrizen aufgestellt.

Ich weiß nicht, was Vektoren mithilfe von Matrizen aufstellen heißt.
Aus dem Code werde ich nicht schlau, weil die Namen der Variablen nicht viel über die Bedeutung sagen. Vektoren haben keine Schnittpunkte, da sie frei im Raum verschiebbar sind. Deshalb wirst Du wohl Strecken meinen, also mit einem Ortsvektor zu einem Punkt auf der Strecke und einem Richtungsvektor.
Den Schnittpunkt zwischen zwei Geraden kann man auch leicht ohne symbolische Berechnung finden. Aber es bleibt mir ein Rätsel, wieso Du 9/14 von Hand einsetzt.

Nun weicht das Ergebnis von Deinen Erwartungen ab. Bitte erkläre also Deine Erwartungen und beschreibe das Ergebnis, das Du siehst.
Bestimme doch mal den Winkel zwischen Deinen (Richtungs-)Vektoren und den der berechneten Winkel-Halbierenden. Vielleicht sind die Werte ja richtig und Du hast einfach nur einen Graphen, bei dem X- und Y-Achse unterschiedlich skaliert sind (versuche ein axis equal ).

Ich habe den Code nochmal durchgelesen: Was soll "C" sein? Wieso addierst Du die normalisierten Richtungsvektoren (sind das die Richtungsvektoren?)?
Und wieso zeichnest Du dann eine Linie von 9/14 zu dem Resultat dieser Summe?

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.