Python - Formelumstellen bzw. lösen?
Guten Tag zusammen,
ich hab ein Problem und zwar, dass ich nicht weiß wie ich in Pyhton eine Formel umstellen kann bzw. wie ich eine Formel nach einer unbekannten Variable umstellen lassen wie bspw.
5 = x+((3/100x)^(2))/(2*5)
Gibt es einen Befehl der mir jetzt die Formel nach x umstellen kann bzw. mir das richtige Ergebnis ausgeben kann?
3 Antworten
Das Paket sympy bietet Funktionen zum Lösen von Gleichungen. Einen Einstieg findest du hier: https://docs.sympy.org/latest/guides/solving/index.html#solving-guide
Die verlinkte Seite hat ein Installationskapitel. Generell wird für Python-Pakete oft pip genutzt, aber sie scheinen hier etwas anderes zu empfehlen.
Sobald du ein Pakete (bzw eine Version eines Pakets) installiert hast, kannst du sie auf dem Computer o.ä. nutzen. Wenn du's auf deinen auf deinen Taschenrechner ziehst, musst du natürlich schauen, das das Pakete mitkommt, da hab ich aber keinerlei Erfahrung worauf du achten musst.
Solange das x nur zum Rest des Terms addiert wird, ist es ganz einfach:
linker Therm - Rest des rechten Therms = x
Bei einer Multiplikation musst Du dividieren, bei einer Division Multiplizieren.
Eigentlich nicht anders als auf dem Papier.
Ekelhaft wird sowas, wenn die Variable mehrfach vorkommt und dann vielleicht noch mit Potenzen.
Bei der Formel kommt die variable mehrfach vor und es gibt 3 Ergebnisse, aber in Python weiß ich nicht wie ich damit umgehen soll.
Das musst du von Hand machen:
5 = x+((3/100x)^(2))/(2*5)
x = 5 - ((3/100x)^(2))/(2*5)
Das ist falsch! Das X kommt mehrfach vor und es gibt 3 Ergebnisse.
Ah, ja, habe das andere x übersehen.
Okay, dann wird es komplizierter. Dann muss du das sinnvoll umformen und dann lösen. Es gibt löser für Gleichungssysteme, die nehmen zumeist soetwas wie
Ax = b
oder dergleichen.
Beispielsweise (einfach ergiigelt gerade):
https://numpy.org/doc/stable/reference/generated/numpy.linalg.solve.html
https://docs.scipy.org/doc/scipy/tutorial/optimize.html
Einmal für Lineare Gleichungssysteme und einmal für Optimierungsprobleme.
Wie komme ich eigentlich an das Paket ran? Bin noch Recht neu bei Python und muss mir erst noch alles aneignen... Und wenn ich das Paket habe funktioniert es dann auch auf allen Geräten die Python abspielen können bspw. auf meinem Casio FX50 CG ?