dabei sind l und a bekannt und ich würde gern das Matlab mir die beiden winkel x und y in abhängigkeit von r darstellt aber ich kommme irgendwie nicht zu einer Lösung:(
Ich selbst bin neuling was Matlab angeht und schlag mich schon seit 2 tagen mit diesem Problem rum...
hier mal das was ich bis jetzt so habe:
syms r l a;
A=r*sin(x)+l*sin(y)-1/2*r;
B=r*cos(x)+l*cos(y)-a;
solve('A,B','x,y')
dann kommt aber nur "empty sym" nun weis ich nicht genau was ich dabei falsch mache???(ich hatte die gleichung auch schon direkt reingeschrieben, brachte nichts. wollte das nur mit A,B machen für die übersichtlichkeit)
auf das plotten und die abhängigkeit von r habe ich mal verzichtet weil ich es erst so lösen wollte?
hoffe es kann mir jemand dabei helfen, wäre auch net wenn mir einer genau sagen könnte wie ich dabei vorgehen sollte das ich es in abhängigkeit von r plotten kann oder mir zumindest denn link zu einem bsp geben kann.
also schonmal vielen dank für eure tipps und hilfe:)
das Problem hatten wir hier schon mal. Bemühe bitte mal die Suche...
Grüße, Marc
masch.stud
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 25.10.2012, 21:12
Titel:
Hallo Marc,
bevor ich gepostet habe hatte ich schon einige zeit im Forum gestöbert und etliches ausprobiert aber ich bekomme nur error oder eben emty sym
folgendes habe ich schon alles versucht:
solve('A-B','x,y') ....
[x,y]=solve(A-B) ....
solve('r*sin(x)+l*sin(y)=1/2*r,r*cos(x)+l*cos(y)=a','x,y') ....
wie es teilweise auch geraten wird
aber ich komme eben zu keiner lösung
ich glaube auch langsam ich benutze den falschen befehl aber leider weis ich nicht was sonst noch funktionieren könnte???
wäre nett wenn mir jemand helfen könnte, bzw den verweis zu deisem ähnlichen problem gibt denn ich finde leider nichts passendes sonst hätte ich ja erst garnnicht gepostet
danke nochmals
gibt mir eine Lösung aus.
Dass die Syntax so zu verwenden ist, geht im übrigen auch klar aus der Dokumentation hervor.
Ich persönlich empfinde solche Lösungen aufgrund deren Komplexität aber als wenig hilfreich und bevorzuge daher meist numerische Lösungen, z.B. mit fsolve.
Ja, die Numerik ist immer das letzte Mittel, wenn die algebraischen Methoden versagen. Numerik ist mein Spezialgebiet. Viele Mathematiker reagieren fast schon allergisch auf die Numerik. Das hat seine Gründe. Im Falle eines unendlich großen Lösungsraumes, was hier der Fall ist, kommt man um analytische Methoden nicht herum. Man kann nicht einfach blind im Lösungsraum rumstochern, ohne zuvor die Struktur dessen verstanden zu haben.
ich bin selbst Mathematiker und würde Numerik nun wirklich nicht als das "letzte Mittel" bezeichnen. Ich würde es eher als eine gleichwertige Alternative ansehen, und je nach Art des Problems das eine oder andere wählen.
Natürlich sollte man sich darüber im klaren sein, dass hier z.B. mit jeder Lösung (x, y) auch (x + 2*pi*m, y + 2*pi*n) eine Lösung ist. Ob das aber für praktische Anwendungen eine Rolle spielt, ist eine andere Frage.
schön, einen Fachkollegen hier im Forum zu wissen. Natürlich ist Numerik das letzte Mittel, wenn die analytischen Methoden versagen, alleine deswegen, weil man für manche Probleme keine analytische Lösung angeben kann.
Algebraische Kenntnis über das Problem und insbesondere dessen Lösungsraum ist manchmal von immanenter Bedeutung für die Praxis. Das führt dann zu den "richtigen" Startwerten. Ein Beispiel dazu findest du in dem Link, den ich weiter oben angegeben habe.
Grüße, Marc
masch.stud
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 26.10.2012, 17:40
Titel:
Danke für den Link nur leider hat der mir nichts gebracht:(
Ich versteh anscheinend noch weniger von Matlab als ich gedacht habe, aufjedenfall komme ich nicht zu einer Lösung. Auch der Vorschlag von Harald hat nichts gebracht:
Code:
%
>> clearall
>> syms A B x y r l a;
>> A=r*sin(x)+l*sin(y)-1/2*r;
>> B=r*(1-sin(x)^2)^(1/2)+l*(1-sin(y)^2)^(1/2)-a;
>> sol = solve(A,B,x,y) Warning: Explicit solution could not be found.
> In solve at 81
Das Problem ist das ich die ganze Programmierung bzw die vereinfachung die du mir da gezeigt hast nicht weiterhelfen da ich es nicht richtig verstehe.
Es wäre nett wenn mir jemand das Programm (mit beschreibung wenn möglich) mal schreiben könnte damit ich es endlich mal verstehe, ich weis ich verlang da viel aber ich blick da einfach nicht durch und ich habe auch leider nicht die zeit das ich mir das bis montag selbst beibringen könnte, denn eine Vorlesung dazu hatte ich nicht dadurch kann ich leider nur auf ein buch zurückgreifen das mir bis dato aber leider nicht wirklich viel gebracht hat:(
Naja trotzdem danke an euch beiden für die ganzen tipps und tricks bisher
Ich versuchs dann mal weiter und hoffe das sich einer erbarmt und mir 0815 user da vllt weiterhelfen kann
Falls derselbe Code bei dir keine Ergebnisse liefert, kann es sein, dass du mit einem älteren Release arbeitest. So oder so: ich würde numerische Lösungen (z.B. fsolve) verwenden.
Grüße,
Harald
masch.stud
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 27.10.2012, 09:35
Titel:
Hey danke für die schnelle Antwort und das Ergebnis aber bei mir kommt immer noch das selbe
[code]%>>
syms r l a x y
A=r*sin(x)+l*sin(y)-1/2*r;
B=r*cos(x)+l*cos(y)-a;
sol = solve(A,B,x,y)
Warning: Explicit solution could not be found.
> In solve at 81
sol =
[ empty sym ]
[code]
ich habe Matlab 7.10.0 (R2010a) meinst du das es vllt da ran liegen könnte??
Irgendwie muss das doch gehen?
Aber danke nochmals für deine Hilfe
wenn du genau dasselbe laufen lässt und andere Ergebnisse bekommst, dann wird es wohl daran liegen. Ich vermute, die Algorithmen wurden inzwischen verbessert.
Aber schau dir doch mal die Lösung an, die ich da erhalten habe. Kann man da ernsthaft irgendwas damit anfangen? Was hält dich davon ab, den numerischen Weg mit fsolve zu gehen? Geht natürlich immer nur für jeweils feste a, l und r.
Grüße,
Harald
masch.stud
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 27.10.2012, 18:19
Titel:
Hmm also es war ja eig. so gedacht das mir das Gleichungssystem die Winkel in Abhängigkeit von r anzeigt
und zu beginn wollte ich schauen ob es überhaupt funktioniert, wenn r bekannt ist was ja anscheinend auch der fall ist außer bei mir:(
Die Gleichungen die umgestellt habe das sie mir r in Abhängigkeit von phi0 anzeigt funktioniert aber auch nicht:(
Damit wollte ich grob ein r wählen und dieses dann in einer neuen datei numerisch lösen lassen wie von dir vorgeschlagen aber sslbst das geht nicht bei mir:(
wäre nett, wenn mir da einer helfen könnte sollte eig einfacher sein aber ich find meinen Fehler nicht und ich hoffe mal es liegt nicht schon wieder an meiner Version
vllt wäre auch nützlich zu sagen das die Bedingungen noch gelten???
Code:
a-l < r < a
0 < tan(beta) < D/(2*UL) 0 <= sin(phi0) < 1/2
wie kann ich sowas noch einbauen???
brauche echt dringend hilfe ich verzweifle langsam daran ich sitze schon seit gut über 3 Tagen daran und komme zu keinem Ergebnis....
bitte versuche deine Gedanken zu strukturieren und verwende vor allem konsistent die selben Variablennamen. Ansonsten wird es sehr schwierig, dir zu folgen.
Zitat:
dann bringt mir MATLAB immer den Fehler
Error in ==> ........ at 17
Bezogen auf das "immer": ja, wenn man immer den selben Code laufen lässt, bekommt man auch immer denselben Fehler. Das entscheidende hast du jedoch weggelassen: welchen Fehler bekommst du denn?
Achte vor allem auch darauf, numerische und symbolische Berechnungen nicht zu mischen. Wenn du numerisch arbeiten willst, sollten da keine syms-Befehle mehr auftauchen.
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
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.