Wie kann ich diese Gleichung lösen und in eine Software integrieren?

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.


swissalps 
Beitragsersteller
 05.04.2025, 11:49

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?

swissalps 
Beitragsersteller
 05.04.2025, 11:50
@swissalps

eigentlich auf einem ESP32 aber mit Arduino Code

JanSrw3  05.04.2025, 11:51
@swissalps

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

swissalps 
Beitragsersteller
 05.04.2025, 11:54
@JanSrw3

ach so. Vielen Dank übrigens und sehr schnelle Antwort.
Sie sagen ja, dass es nicht eindeutig ist. Könnte man das auflösen, wenn man Bedingungen hätte? Ich weiss z.B. wenn F1 = 0 ist, dann wäre F2=F3.

JanSrw3  05.04.2025, 11:56
@swissalps

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.