|
harryhatkeineahnung |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 06.01.2022, 11:55
Titel: Trigonometrisch GS lösen
|
|
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
|
|
|
|
|
nschlange |
Ehrenmitglied
|
|
Beiträge: 1.320
|
|
|
|
Anmeldedatum: 06.09.07
|
|
|
|
Wohnort: NRW
|
|
|
|
Version: R2007b
|
|
|
|
|
|
Verfasst am: 07.01.2022, 13:10
Titel:
|
|
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!"
|
|
|
Busmaster |
Forum-Anfänger
|
|
Beiträge: 18
|
|
|
|
Anmeldedatum: 05.08.09
|
|
|
|
Wohnort: Dresden
|
|
|
|
Version: Matlab2014, Matlab Online, Octave
|
|
|
|
|
|
Verfasst am: 07.01.2022, 16:37
Titel:
|
|
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
|
|
|
harryhatkeineahnung |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 09.01.2022, 17:03
Titel:
|
|
Hallo,
danke für eure Antworten.
Also beta und gamma habe ich mal ersetzt.
Ich habe nun folgenden Programm eingegeben:
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: ---
|
|
|
|
|
|
Verfasst am: 09.01.2022, 17:05
Titel:
|
|
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
|
|
Beiträge: 18
|
|
|
|
Anmeldedatum: 05.08.09
|
|
|
|
Wohnort: Dresden
|
|
|
|
Version: Matlab2014, Matlab Online, Octave
|
|
|
|
|
|
Verfasst am: 09.01.2022, 17:30
Titel:
|
|
Hallo,
ich denke Du verwendest nicht die richtige Syntax
eqn ist ein gültiger symbolischer Ausdruck.
lsg = solve(eqn, g, d);
startet ohne Fehlermeldung, dann kommt "Waiting..."
Vielleicht gibt es keine Lösung
|
|
|
harryhatkeineahnung |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.01.2022, 11:18
Titel:
|
|
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
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 16.01.2022, 17:51
Titel:
|
|
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 ;)
|
|
|
|
|
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.
|
|