wxMaxima im Maschinenbau
Zu Einstieg zitiere ich einfach mal Maxima_(Computeralgebrasystem) auf Wikipedia:
Maxima ist ein Computeralgebrasystem, das als Open-Source-Projekt unter der GNU General Public License (GPL) entwickelt wird.
Implementiert ist Maxima in Common Lisp. Es existieren Versionen für Windows, Mac OS X und Linux.
Geschichte
Maxima ist eine Version von Macsyma, einem der ersten Computeralgebrasysteme. Es wurde in den 1960er Jahren im Auftrag des US-Energieministeriums (DOE) am MIT entwickelt. Eine Macsyma-Version (DOE Macsyma) wurde von William Schelter von 1982 bis zu seinem Tod 2001 weiterentwickelt. 1998 erhielt Schelter vom Energieministerium die Genehmigung, seine Version unter der GPL zu veröffentlichen. Diese Version wird nun unter dem Namen Maxima von einer unabhängigen Gruppe von Anwendern und Entwicklern gepflegt.
Maxima Frontends
wxMaxima
Mit dem Programm wxMaxima ist darüber hinaus eine auf wxWidgets basierende grafische Benutzeroberfläche für Maxima verfügbar, die durch Menüs und Dialoge die Nutzung des Programms vereinfacht und eine grafische Formelausgabe besitzt. Ab Version 5.10.0b ist die aktuelle Version von wxMaxima bereits im Installationspaket für Windows integriert.
Emacs: maxima.el und imaxima
Der Emacs-Editor enthält mit maxima.el ebenfalls ein Frontend für Maxima. maxima.el leitet die Ausgabe von Maxima in einen Emacs-Buffer um. Mit imaxima gibt es eine Erweiterung, die die Ausgabe von maxima mittels LaTeX im Emacs-Buffer darstellt.
Fähigkeiten
Maxima enthält eine ALGOL-ähnliche Programmiersprache mit LISP-Semantik und kann unter anderem folgende Aufgabenklassen symbolisch und numerisch (mit frei wählbarer Stellengenauigkeit) lösen:
- Manipulation von algebraischen Ausdrücken mit reellen oder komplexen Konstanten, Variablen und Funktionen
- Grenzwerte ermitteln
- Gleichungen lösen
- Polynome faktorisieren und lösen
- Differenzieren mit wählbarem Grad
- Funktionen in Taylorreihen oder Potenzreihen entwickeln
- Laplace-Transformation
- Integrieren (unter Umständen müssen geeignete Substitutionen vorgenommen werden)
- Lösen von gewöhnlichen Differentialgleichungen 1. und 2. Ordnung
- Lösen von Anfangs- und Randwertaufgaben
- Padé-Approximation von Funktionen
- Lineare Algebra: Inverse Matrix, Eigenwerte, Eigenvektoren, charakteristisches Polynom berechnen.
- Vereinfachung und Faktorisierung umfangreicher funktionaler Ausdrücke.
Weitere Fähigkeiten
- Funktionsplotter (auf Basis von Gnuplot und OpenMath)
- TeX-Ausgabe
- HTML-Ausgabe
- Compiler, um Maxima-Ausdrücke in Fortran-Code umzuwandeln
Weblinks
- Webseite von Maxima (englisch)
- Webseite von wxMaxima (englisch)
- Webseite von iMaxima (englisch)
- irc://irc.freenode.net#maxima – IRC-Channel
- Deutschsprachiges Online-Tutorial – Austromath Bildungsserver
Kalkulationsblätter für diverse Berechnungen im Maschinenbau
für wxMaxima
Als längjahriger Anwender von MathCAD hatte ich auf der Suche nach einem unter Linux lauffähigen Ersatz hauptsächlich diese drei Anforderungen:
- Fähigkeit zu symbolischen Berechnungen
- Fähigkeit mit Einheiten umzugehen
- Möglichkeit, die Rechenschritte zu dokumentieren und und das ganze hübsch formatiert zu drucken.
Während die symbolischen Fähigkeiten von Maxima die von Mathcad weit übersteigen und auch das Rechnen mit Einheiten keine großen Probleme bereitet war der dritte Punkt etwas kniffelig. Auch unter einer grafischen Oberfläche wie wxMaxima folgt Maxima bei der Auswertung nicht der Reihenfolge der Rechenschritte von oben nach unten sondern arbeitet sie zeitlich ab, der zuletzt eingegebene Schritt wird also zuletzt ausgewertet, auch wenn man ihn irgendwo zwischendrin eingefügt hat.
Um dies zu umgehen beginnt jedes Blatt mit kill (all), um zu Beginn alle Definitionen zu löschen, gefolgt von diversen „Grundeinstellungen“. Dann folgen die Definitionen und zum Schluss die Auswertungen. Durch einfaches Drücken von Strg R wertet wxMaxima das Blatt von oben nach unten aus, beginnend mit dem kill (all), das alle Überbleibsel der vorherigen Berechnungen aus dem Speicher entfernt. Also: Blatt nach belieben ändern (Werte, Formeln…) und eine komplette Neuberechnung mit Strg R einleiten.
Die folgenden Blätter entstanden hauptsächlich bei „realen“ Problemstellungen während der Arbeit. Natürlich kann ich, da ich sie kostenlos bereitstelle, hier keine Gewähr in irgendeiner Form übernehmen.
Sollte der Browser die Datei als Text in einem neuen Fenster öffnen anstelle sie zum Download anzubieten einfach Datei – Speichern unter wählen und die Datei so auf die Festplatte befördern.