Wie kann ich diese Gleichung lösen und in eine Software integrieren?
Und zwar handelt es sich um eine implizite Gleichung, welche keine algebraische Lösung gibt, aber nummerische existieren. Wie könnte ich dann diese Gleichung trotzdem so in eine Software integrieren, dass ich die eine Kraft durch die Messung der anderen Kräfte ausrechnen kann? Es geht um Reibung um eine Stange und ich messe die Kraft auf der Stange mit einem Dehnmessstreifen. Also habe ich zwei Gleichungen gehabt, eine mit der Kraft auf der Stange und den Winkel auf eine Seite gestellt und bei der anderen die Eulerische Seilreibungsgleichung und auch nach dem Winkel aufgelöst und dann gleichgestellt.
Gleichung 1 ist: α = arcsin(F1/F2)
Gleichung 2 ist: F2 = F3 * e ^ (µ * (π-α))
Daraus folgt ja: α = - ( ( ( ln( F2 / F3) / µ ) + π))
Die beiden Alphas gleichsetzen:
Das ergibt bei mir die Gleichung:
arcsin(F1/F2) = - ( ( ( ln( F2 / F3) / µ ) + π))
Wie kann ich nun die Gleichung nach F2 auflösen, wenn ich F1, F3 und µ habe?
(Das ganze ist natürlich im Bogenmass. Wenn man mit grad rechnen würde, dann natürlich pi durch 180 ersetzen)
1 Antwort
Die Gleichung ist nicht direkt nach F2 auflösbar – du brauchst numerische Methoden. Am einfachsten: Schreib die Gleichung in Python (z. B. mit
scipy.optimize.fsolve
oder MATLAB rein und lass F2 iterativ berechnen. Du gibst F1, F3 und µ vor, der Rechner sucht dann das passende F2, das beide Seiten der Gleichung erfüllt. Ist bei solchen impliziten Sachen ganz normal – da geht’s nur noch mit Näherungsverfahren.
eigentlich auf einem ESP32 aber mit Arduino Code
Ja, genau – es liegt daran, dass du
arcsin
auf der einen Seite und
ln
+
exp
auf der anderen hast. Diese Kombination macht die Gleichung implizit, also nicht direkt nach F2 auflösbar.
Du kriegst keine saubere algebraische Umformung hin, weil die Funktion nicht „rückwärts eindeutig“ ist – du kannst F2 nicht isolieren, ohne dass es mathematisch entgleist. Deshalb musst du numerisch lösen, z. B. mit dem Newton-Raphson-Verfahren.
Für den Arduino heißt das:
Du brauchst einen kleinen Solver (also was, das F2 iterativ berechnet), z. B. durch eine Schleife mit Abbruchkriterium. Geht mit etwas Aufwand auch in C, aber du musst dann
sin
asin
log
exp
und sowas sauber auf dem Arduino nutzen, gibt’s z. B. über
math.h
Ja, mit festen Bedingungen wie deinem Beispiel kann man das Verhalten eingrenzen oder Startwerte fürs numerische Lösen besser wählen – aber komplett analytisch auflösen lässt sich’s trotzdem nicht. Du kannst nur cleverer raten.
ich möchte das am Schluss in C auf einem Arduino ausführen. µ bleibt gleich, aber F1 und F3 ändern ständig. Ich brauche dann F2 für ein Regelsystem als IST-Wert, den ich nur über diese Gleichung erhalte. liegt es an ln und arcsin, dass sich die Gleichung nur numerisch lösen lässt?