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

Trigonometrisch GS lösen

 

harryhatkeineahnung

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.01.2022, 11:55     Titel: Trigonometrisch GS lösen
  Antworten mit Zitat      
Hallo zusammen,
ich bräuchte ein bisschen Hilfe mit Octave. Ich habe im Studium mal mit Matlab gearbeitet, ist aber auch schon ein bisschen her, vielleicht könnt ihr kurz helfen. Es geht darum in trigonometrisches GS nach zwei Winkeln zu lösen.

Die beiden Gleichungen sind im Prinzip wie folgt aufgebaut. A, B, C, D, alpha und beta sind bekannt bzw. sollten später in die Gleichung eingesetzt werden, delta und gamma sind die gesuchten Winkel.

1. 0=A*cos(alpha)+B*cos(beta)-C*cos(gamma)-D*cos(delta)
2. 0=A*sin(alpha)+B*sin(beta)-C*sin(gamma)-D*sin(delta)

Mein Versuch lautete, ich denke meine Syntax ist sicher falsch, vielleicht kann jemand helfen und kurz erklären. Vielen Dank
Code:
% Das ist mein Programm.
syms A alpha B beta C gamma D delta eq1 eq2 lsg;
eq1 = '0=A*cos(alpha)+B*cos(beta)-C*cos(gamma)-D*cos(delta)';
eq2 = '0=A*sin(alpha)+B*sin(beta)-C*sin(gamma)-D*sin(delta)';
lsg = solve(eq1,eq2,A,alpha,B,beta,C,D);
 


nschlange
Ehrenmitglied

Ehrenmitglied



Beiträge: 1.320
Anmeldedatum: 06.09.07
Wohnort: NRW
Version: R2007b
     Beitrag Verfasst am: 07.01.2022, 13:10     Titel:
  Antworten mit Zitat      
Ist der Code denn so ausführbar, oder gibt es eine Fehlermeldung?
Muss es eine symbolische Lösung sein, oder geht es auch numerisch?
_________________

Viele Grüße
nschlange

"Chuck Norris ejakuliert fluessigen Stahl!"
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Busmaster
Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 05.08.09
Wohnort: Dresden
Version: Matlab2014, Matlab Online, Octave
     Beitrag Verfasst am: 07.01.2022, 16:37     Titel:
  Antworten mit Zitat      
Mein Versuch mit Octave 6.4. ergab:

1) SyntaxError: invalid syntax (<string>, line 1)
Error occurred using "beta", "gamma" Python function, perhaps use another variable name?
==> beta und gamma sind reservierte Namen (Funktionen)

2) Gleichungen mit geänderten Namen aufstellen (Syntax)
eqn = [0==A*cos(alpha)+B*cos(b1)-C*cos(g1)-D*cos(delta), 0==A*sin(alpha)+B*sin(b1)-C*sin(g1)-D*sin(delta)]; % wird von Octave als symbolicher Ausdruck akzeptiert

3) lsg = solve(eqn, g1, delta);
Waiting....
aber keine Fehlermeldung

Ich mache jetzt Wochenende
Private Nachricht senden Benutzer-Profile anzeigen
 
harryhatkeineahnung

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.01.2022, 17:03     Titel:
  Antworten mit Zitat      
Hallo,
danke für eure Antworten.
Also beta und gamma habe ich mal ersetzt.
Ich habe nun folgenden Programm eingegeben:
Code:

syms A a B c C g D d eq1 eq2 lsg;
eq1 = '0=A*cos(a)+B*cos(b)-C*cos(g)-D*cos(d)';
eq2 = '0=A*sin(a)+B*sin(b)-C*sin(g)-D*sin(d)';
lsg = solve(eq1,eq2);
 


Als Rückgabe erhalte ich folgendes:
error: 'solve' undefined near line 1, column 1
'solve' is a method of class 'sym'; it must be called with a 'sym'
argument (see 'help @sym/solve').
Please read <https://www.octave.org/missing.html> to learn how you can
contribute missing functionality.

Ich weiß leider nicht wie ich der Funktion mitteile, dass die Gleichungen nach g und d aufgelöst werden sollen und das A, B, C, a und b im Prinzip als Variablen in der Lösung bleiben sollen.
Ich möchte am Ende ein Ergebnis wie folgt haben:
g=f(A,B,C,a,b)
h=f(A,B,C,a,b)
Also im Prinzip eine FUnktion für g und h in Abhängigkeit der Variablen A, B, C, a und b. Ich möchte später Wert für die Variablen einsetzen und dann g und h erhalten. Leider weiß ich den Syntax in Octave nicht um mir das Gleichungssystem lösen zu lassen
 
harryhatkeineahnung

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.01.2022, 17:05     Titel:
  Antworten mit Zitat      
Tippfehler:

Ich möchte am Ende ein Ergebnis wie folgt haben:
g=f(A,B,C,a,b)
d=f(A,B,C,a,b)
 
Busmaster
Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 05.08.09
Wohnort: Dresden
Version: Matlab2014, Matlab Online, Octave
     Beitrag Verfasst am: 09.01.2022, 17:30     Titel:
  Antworten mit Zitat      
Hallo,

ich denke Du verwendest nicht die richtige Syntax

Code:

% Octave 6.4. symbolic 2.9.0
pkg load symbolic

clear
syms A a B b C c D d g;
 
eqn = [0==A*cos(a)+B*cos(b)-C*cos(g)-D*cos(d), 0==A*sin(a)+B*sin(b)-C*sin(g)-D*sin(d)];lsg = solve(eqn, g, d);

 


eqn ist ein gültiger symbolischer Ausdruck.
lsg = solve(eqn, g, d);
startet ohne Fehlermeldung, dann kommt "Waiting..."
Vielleicht gibt es keine Lösung
Private Nachricht senden Benutzer-Profile anzeigen
 
harryhatkeineahnung

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.01.2022, 11:18     Titel:
  Antworten mit Zitat      
Vielen Dank für eure Antworten.
Also ich denke die Gleichungen sind nicht lösbar. Schade, gibt es eine Möglichkeit die Gleichungen irgendwie numerisch oder so zu lösen?
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 16.01.2022, 17:51     Titel:
  Antworten mit Zitat      
Hallo,

MATLAB spuckt nach einer Weile beim Code von busmaster eine Lösung aus. Allerdings könnte man damit Wände tapezieren. Insofern würde ich auch zu einer numerischen Lösung raten. In MATLAB gibt es dafür fsolve .

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
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 - 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.