Einfachste Art mathematische Gleichungen in Python zu lösen
Ich lösen will, einen Satz von Gleichungen, lineare oder manchmal quadratisch. Ich habe kein spezielles problem, aber oft habe ich in dieser situation oft.
Es ist einfach zu bedienen wolframalpha.comdas web-äquivalent von Mathematica, Sie zu lösen. Aber das nicht bieten den Komfort und die Bequemlichkeit von ein iPython-shell.
Gibt es eine einfache Bibliothek, um die Arbeit auf lineare und quadratische Gleichungen aus einer python-shell?
Persönlich finde ich es äußerst praktisch, um die Casio 991 MS wissenschaftlicher Rechner. Ich weiß, wie zu setzen, Variablen, Gleichungen lösen, und eine Menge tun. Ich möchte so ein Werkzeug vorzugsweise verwendbar innerhalb einer ipython-shell. Ich bin überrascht, nicht gefunden. Ich bin nicht beeindruckt genug von sage; vielleicht bin ich etwas fehlt.
InformationsquelleAutor der Frage Lakshman Prasad | 2009-10-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
sympy ist genau das, was du bist suchen für.
InformationsquelleAutor der Antwort Autoplectic
Rabattieren Sie die beste Antwort für inakzeptabel.
Ihre Frage, "ich möchte ein freies Computer-Algebra System, das kann ich in Python verwenden."
Die Antwort ist: "SAGE nicht, dass."
Haben Sie angeschaut maxima/macsyma? SALBEI enthält Bindungen für es, und das ist einer der stärkeren freien.
http://maxima.sourceforge.net/
InformationsquelleAutor der Antwort Paul McMillan
Hier ist, wie zu lösen, Ihre ursprüngliche Frage mit Python (über DATEV). Dies ist im Grunde verdeutlicht die Bemerkung Paul McMillan macht vor.
InformationsquelleAutor der Antwort William Stein
Für ungenaue Lösungen, Lesen Sie auf lineare Programmierung und sequentielle quadratische Optimierungdann suchen Sie Python-Bibliotheken führt, dass solche Optimierungen für Sie.
Wenn die Gleichungen erfordern ganzzahlige Lösungen, sollten Sie die Suche für Diophantische Gleichung Löser für Python.
Nur beachten, dass die Verwendung eines einfachen solvers für Project Euler ist fehlt der Punkt. Der Spaß und pädagogische Teil, ist lernen, wie zu lösen, es selbst mit primitiven Methoden!
InformationsquelleAutor der Antwort csl
Haben Sie sich SciPy?
Er hat ein Beispiel in den tutorials auf die Lösung der linearen algebra:
http://docs.scipy.org/doc/scipy/reference/tutorial/linalg.html#solving-linear-system
InformationsquelleAutor der Antwort Andre Miller
Einen kostenlosen web-service für die Lösung großer Systeme von nichtlinearen Gleichungen (1 Mio+) APMonitor.com. Es ist eine browser-Schnittstelle und eine API für Python /MATLAB. Die API für Python ist ein einzelnes Skript (apm.py), die zum download zur Verfügung apmonitor.com homepage. Wenn die Skript geladen wird, in eine Python-code, es gibt die Fähigkeit, Probleme zu lösen:
Für den neuen Benutzer ein, die APM-Python-software hat ein Google-Groups-forum, wo Benutzer können Fragen stellen. Es gibt bi-wöchentliche Webinare, die Schaufenster von Optimierungsproblemen operations research und engineering.
Unten ist ein Beispiel für ein Optimierungsproblem (hs71.apm).
Das Optimierungsproblem wird gelöst mit dem folgenden Python-Skript:
InformationsquelleAutor der Antwort John Hedengren
Referenz: Wolfram Alpha die Lösung:
In python, mit sympy ist solver-Modul (beachten Sie, dass es nimmt alle Gleichungen sind gleich null zu setzen):
Natürlich != 1000,-1000 ist der Nenner der beiden Gleichungen.
InformationsquelleAutor der Antwort Nate
Ich habe gerade angefangen mit GNU Scientific Librarydie jedoch in der C-Bibliothek. Sieht aus wie es gibt Python Bindungen zu. Also, es könnte sein, lohnt ein Blick auf.
InformationsquelleAutor der Antwort
Ich würde verwenden Oktave für diese, aber ich bin damit einverstanden, ist die syntax von Octave ist nicht das, was ich nennen würde spannend (und die docs immer verwirren mich mehr als Sie helfen, zu).
InformationsquelleAutor der Antwort Aaron Digulla
Ich glaube nicht, dass es eine einheitliche Art und Weise der Umgang mit linearen und quadratischen (oder im Allgemeinen nichtlinearen) Gleichungen gleichzeitig. Mit linearer Systeme, python hat Bindungen zu lineare algebra und matrix-Pakete. Nichtlineare Probleme neigen gelöst werden auf einer Fall-zu-Fall-basis.
InformationsquelleAutor der Antwort Victor Liu
Es hängt von Ihren Bedürfnissen ab:
Wenn Sie möchten, eine interaktive grafische Oberfläche, dann sage ist wahrscheinlich die beste Lösung.
Wenn Sie vermeiden wollen, mit einer grafischen Benutzeroberfläche, aber Sie wollen immer noch zu tun, computer-algebra, dann sympy oder maxima können, die Ihre Bedürfnisse abdecken. (sympy sieht sehr vielversprechend aus, aber Sie haben noch einen langen Weg zu gehen, bevor Sie ersetzen kann mathematica).
Wenn Sie nicht wirklich brauchen, symbolische algrebra, aber Sie brauchen einen Weg, um das Programm mit Matrizen, lösen von differentialgleichungen und Funktionen minimieren, dann scipy oder octave sind hervorragende Ausgangspunkte.
InformationsquelleAutor der Antwort niels
Werfen Sie einen Blick auf diese:
http://openopt.org/FuncDesignerDoc#Solving_systems_of_nonlinear_equations
Es ist extrem einfach zu bedienen und sehr mächtig
InformationsquelleAutor der Antwort Rossella
Gut, ich habe gerade gegoogelt, in diese Seite durch Zufall. Ich sehe viele Anregungen über dies und das software-Werkzeug, aber nicht jedes tool eigentlich auch eine Antwort? Die eigentliche Antwort ist:
[a,b,c] = [200,375,425]
Wie ich dazu gekommen bin? Durch das schreiben eines quick-Programm in den Maxima der Programmiersprache zu finden ist es über "brute force" - Suche. Es dauerte nur etwa 10 Minuten zu schreiben, da, wie ich bin vertraut mit den Maxima Sprache. Es dauerte ein paar Sekunden, während das Programm ausgeführt wird. Hier ist das Programm:
euler_solve():= block
(
[ a, b, a, B, Ende:1000],
Können Sie einfach Ausschneiden und fügen Sie den obigen code in das wxMaxima-Benutzer-Schnittstelle, die ich unter Ubuntu und nicht MS Windows. Dann geben Sie nur den Namen der Funktion: euler_solve(), Enter, ein paar Sekunden warten, und herausspringt die Antwort. Diese Art von problem ist so einfach, dass Sie können jede general-purpose-Programmiersprache zu tun, der Suche.
InformationsquelleAutor der Antwort R.E.H.
Versuchen Sie die Anwendung Bisection-Methode in py zu finden, die Wurzel gegeben sei ein Intervall:
InformationsquelleAutor der Antwort Mahmoud Khaled
Auf den zweiten Gedanken, ich ging durch die sage im detail und, klar, es ist das beste Mathematik-freie software zur Verfügung.
Nur einige der verschiedenen python-math-Bibliotheken integriert, die ist absolut genial.
Mathematik-Pakete enthalten im Salbei:
Andere Pakete enthalten im Salbei:
InformationsquelleAutor der Antwort Lakshman Prasad