11 Möglichkeiten, Mathematik im Linux-Terminal zu machen

Entdecken Sie effektive Tools für mathematische Berechnungen im Linux-Terminal, von Bash über Python bis zu SageMath, die Wissenschaft und Ingenieurwesen unterstützen.
Möchten Sie eine schnelle, ablenkungsfreie Möglichkeit, Ihre Mathematikprobleme so zu lösen, wie es Wissenschaftler und Ingenieure tun? Viele Tools ermöglichen es Ihnen, direkt im Linux-Terminal zu rechnen. Mit diesen Programmen können Sie einfache Probleme angehen und schwierige lösbar machen.
11 Bash-Arithmetikoperatoren
Haben Sie jemals Arithmetik in Bash durchführen müssen? Sie können Bash-Arithmetikoperatoren verwenden. Wie bei allem in Bash sieht die Syntax möglicherweise hässlich aus, aber sie erledigt die Aufgabe.
In Bash sind arithmetische Operationen in $(( ))-Blöcke eingeschlossen, also ein Dollarzeichen, gefolgt von zwei geöffneten Klammern und geschlossen von zwei geschlossenen Klammern. Die arithmetischen Operatoren sind ähnlich denjenigen, die Sie auf einem Taschenrechner oder in einem Tabellenkalkulationsprogramm finden würden.
Zum Beispiel, um zwei Zahlen zu addieren und sie im Terminal auszugeben:
echo $((2 + 2))
Ich habe Ihnen gesagt, es sieht hässlich aus. Es sollte die Zahl 4 im Terminal ausgeben.
Ähnlich ist es beim Subtrahieren zweier Zahlen;
echo $((3 - 5))
Die Antwort wird -2 sein. Die Multiplikation verwendet den *-Operator:
echo $((42 * 25))
Der Exponentenoperator ist ** (zwei Sternchen). Sie können sich das merken, da die Exponentiation bedeutet, eine Zahl mit sich selbst zu multiplizieren:
echo $((7**2))
Die Division verwendet den / (Schrägstrich)-Operator. Er gibt den Quotienten zurück, aber nicht den Rest, der mit dem Modulo (%) Operator gegeben wird. So gibt $((5 / 2)) 2 zurück, während $((5 % 2)) 1 zurückgibt, was der Rest von 5 geteilt durch 2 ist. Der Nachteil der Bash-Arithmetik ist, dass sie nur Ganzzahlen unterstützt.
Bash-Arithmetik eignet sich möglicherweise besser für Skripte, aber sie funktioniert und ist auf den meisten Linux-Systemen verfügbar.
10 Python
Wenn Bash-Mathematik hässlich ist, könnte Python angenehmer sein. Sie müssen Ihre Berechnungen schließlich nicht mit $(( beginnen. Die Verwendung von Python ist viel einfacher.
Tippen Sie einfach "python" an der Linux-Eingabeaufforderung ein. Wenn Sie iPython installiert haben, können Sie das stattdessen verwenden. Mit der interaktiven Eingabeaufforderung können Sie die Standardoperatoren verwenden.
Um beispielsweise zu addieren:
2 + 2
Und um zu subtrahieren:
5 - 3
Um zu multiplizieren:
123 * 456
Und um zu dividieren:
393039 / 3292
Die arithmetischen Operationen in Pythons interaktivem Modus sind so einfach, dass es ein gängiger Witz unter Python-Programmierern ist, dass Python einen großartigen Taschenrechner für den Schreibtisch abgibt, etwas, das im offiziellen Python-Rechner-Tutorial anerkannt wird.
Während Sie Python für einfache Arithmetik verwenden können, erweitern seine Bibliotheken seine Möglichkeiten. Sie können viele Bibliotheken nutzen, um alles von Statistik bis Analysis zu behandeln.
Diese Bibliotheken und die Einfachheit von Python machen es zur bevorzugten Sprache für die Naturwissenschaften, und Sie können diese gleichen Werkzeuge direkt auf Ihrem Desktop haben.
9 SageMath
Eines meiner Lieblings-Tools für Mathematik im Terminal ist SageMath. Es soll eine Open-Source-Antwort auf große proprietäre Pakete wie MATLAB und Mathematica sein, die in Wissenschaft und Industrie weit verbreitet sind. Es ist nützlich, wenn Sie fortgeschrittene Mathematik studieren oder mit einem leistungsstarken Berechnungssystem experimentieren möchten.
SageMath basiert auf Python, verwendet aber mehrere andere Open-Source-Projekte und Bibliotheken, einschließlich anderer, die in diesem Artikel erwähnt werden.
SageMath ist ein Computer-Algebra-System, was bedeutet, dass es mit symbolischer Mathematik arbeitet, ähnlich wie ein Taschenrechner mit Zahlen arbeitet. Wenn Sie eine Quadratwurzel ziehen, wird sie symbolisch ausgewertet:
sqrt(42)
Sage wird 42 innerhalb des Wurzelsymbols anzeigen, weil es keine perfekte Quadratzahl ist. Wenn wir die Quadratwurzel von 180 ziehen:
sqrt(180)
Es wird automatisch 6 herausfactorn, weil 6 zum Quadrat 36 ist und 36 * 5 gleich 180 ist, sodass das symbolische Ergebnis 6 mal die Quadratwurzel beträgt.
Wurzel aus 5.
Mit der Funktion n() können Sie eine Dezimalapproximation erhalten, die ähnlich ist wie die, die Sie mit einem wissenschaftlichen Taschenrechner erhalten würden:
n(sqrt(180))
Sie können auch die Anzahl der gewünschten Stellen für die Genauigkeit mit der Option digits auswählen:
n(sqrt(180),digits=5)
Natürlich möchten Sie wahrscheinlich mehr tun, als nur Quadratwurzeln zu ziehen.
Sie können SageMath als Taschenrechner verwenden, wie mit Python und Bash, aber Sie können auch coole Dinge wie das Lösen von Gleichungen machen. Um 5x + 3 - 15 zu lösen, verwenden Sie die Funktion solve, um nach x zu suchen:
solve(5*x + 3 == 15,x)
Sage gibt die Antwort 12/5 zurück. Es scheint unvollkommene Brüche zu mögen.
Sie können auch quadratische Gleichungen lösen:
solve(2*x^2 + 3*x - 5,x)
Polynome höheren Grades funktionieren auf die gleiche Weise.
Lassen Sie uns ein System linearer Gleichungen lösen. Sie könnten die solve-Funktion verwenden, müssten jedoch die Gleichungen vollständig aufschreiben. Die Verwendung einer Matrix bedeutet weniger Tipparbeit. So machen Sie es in SageMath. Mein Lieblingsbeispiel ist das erste, das Sie auf der Wikipedia-Seite für lineare Gleichungssysteme sehen:
3x + 2y - z = 1
2x - 2y + 4z = -2
-x + 1/2y - z = 0
Wir definieren die Matrix der Koeffizienten mit dem Befehl matrix:
A = matrix([[3,2,-1],[2,-2,4],[-1,1/2,-1]]
Dann definieren wir den Spaltenvektor:
b = vector([1,-2,0])
Und dann lösen wir es:
A.solve_right(b)
Es gibt so viel mehr, als ich hier abdecken kann. Da SageMath auf Python basiert, können Sie andere Python-Bibliotheken mit einem leistungsstarken Computeralgebrasystem verwenden. Sie können die Funktionalität eines grafischen Taschenrechners kostenlos und auf einem viel besseren Bildschirm haben.
8 Maxima
Maxima ist ein weiteres ähnliches Computeralgebrasystem wie SageMath. Es basiert auf dem viel älteren Macsyma-System, das bis in die 1960er Jahre am MIT zurückreicht. Während Symbolics Maxima in den 1980er Jahren kommerzialisierte, lizenzierte das US-Energieministerium das Original für akademische und staatliche Nutzung.
Diese Version wurde schließlich als Open Source veröffentlicht und in Maxima umbenannt. Maxima hat eine kleine Anhängerschaft in der Wissenschaft für mathematische und wissenschaftliche Berechnungen. SageMath verwendet es sogar für einige Funktionen.
Die Operationen sind ähnlich wie bei SageMath. Anweisungen werden mit einem Semikolon beendet, was lästig sein kann, wenn man es vergisst. Ich muss immer daran denken, es am Ende der Anweisungen zu setzen.
Die Quadratwurzel einer Zahl zu ziehen ist einfach:
sqrt(4);
Sie können auch Gleichungen mit Maxima lösen, ähnlich wie bei SageMath:
solve(5*x + 3 = 15,x);
7 R
R ist eine beliebte Sprache für statistische Analysen und Datenwissenschaft. Es gibt grafische Programme, die Sie damit verwenden können, aber es kann auch problemlos im Terminal ausgeführt werden. Sie können einfache beschreibende Statistiken wie Mittelwerte, Mediane und Standardabweichungen durchführen und zu linearen Regressionen und statistischen Tests wie dem t-Test, Chi-Quadrat und ANOVA übergehen.
Hier sind einige einfache beschreibende Statistiken:
Definieren wir einen kleinen Datensatz. Eine Liste in R wird als Vektor bezeichnet:
a <- c(23, 45,25)
Lassen Sie uns den Mittelwert des Vektors a berechnen:
mean(a)
Und den Median:
median(a)
6 sc-im
sc-im ist eine Tabellenkalkulationsanwendung, die im Terminal läuft. Wenn Sie in den 80er Jahren Lotus 1-2-3 verwendet haben, könnte Ihnen das Layout vertraut vorkommen. Es basiert auf dem ursprünglichen sc, das von Java-Erfinder James Gosling entwickelt wurde. Es zielt darauf ab, eine Vielzahl von Verbesserungen hinzuzufügen, ähnlich wie die Beziehung von Vim zu Vi.
Mit sc-im können Sie in die Vergangenheit reisen und die Zahlen im Textstil ausführen und sich vorstellen, ein Wall-Street-Händler zu sein.
Sie navigieren in sc-im ähnlich wie in Vim. Um einen numerischen Wert einzugeben, drücken Sie die Taste =.
Um eine Reihe von Zellen zu summieren, verwenden Sie die Funktion sum:
=sum(A0:A4)
bc
bc ist ein Kommandozeilenrechner, der für "Basic Calculator" steht. Er bietet alle grundlegenden Operationen, die man von einem einfachen Rechner erwarten würde, jedoch ohne die lästige Syntax von Bash. Wie Bash ist auch bc Teil des GNU-Projekts.
Im Gegensatz zu dc arbeitet bc in einem konventionelleren infix Notationsmodus. Zum Beispiel ist 2 + 2 einfach 2 + 2, so wie die meisten Menschen es in der Schule lernen.
dc
dc ist ein sehr altes Unix-Tool, das jedoch auch auf modernen Linux-Systemen weit verbreitet ist. Es verwendet eine Eingabeform namens Umgekehrte Polnische Notation (RPN), die auf den HP-Rechnern dominierte, die Wissenschaftler und Ingenieure in den 1970er und 1980er Jahren verwendeten.
Der Schlüssel zu RPN ist der Stack. Sie schieben Zahlen auf den Stack, als wären sie federbelastete Platten in einer Cafeteria, und entnehmen sie, um Operationen auszuführen. Um 23 + 45 zu berechnen, schieben Sie beide Zahlen auf den Stack, und der "+"-Operator entfernt sie und schiebt das Ergebnis zurück auf den Stack.
So sieht das im Terminal aus:
23 45 +
Sie verwenden den Befehl "p", um das Ergebnis im Terminal auszudrucken.
Qalculate!/Qalc
Qalculate! ist bekannt als mächtiger Rechner mit vielen erweiterten Mathematikoptionen, hat aber auch eine Variante für die Kommandozeile, bekannt als qalc. Alle Standardoperationen sind vorhanden, aber es gibt auch einige leistungsstarke Operationen, ähnlich denen, die ich in anderen CAS-Programmen gezeigt habe, einschließlich der Analysis.
Ich mag, wie es die Ergebnisse im Terminal farbig hervorhebt. Das ist ein schöner Touch und lässt die Ergebnisse auf dem Bildschirm hervortreten.
Wenn Sie ein echter Taschenrechner-Nerd sind, können Sie ihn sogar in den RPN-Modus wie bei bc versetzen. Die Qalculate-Funktionsliste ist der Traum jedes Mathematik- und Wissenschaftsinteressierten.
GNU Octave
GNU Octave ist ein Klon von MATLAB und wurde entwickelt, um mit Matrizen und Vektoren der linearen Algebra zu arbeiten, die in allen Arten von wissenschaftlichen und ingenieurtechnischen Berechnungen weit verbreitet sind. Sie können die gleiche Leistung haben, ohne die hohen Lizenzgebühren.
Hier ist das gleiche System, das wir vorher gelöst haben, im Octave-Stil, indem wir die Inverse der Matrix mit dem Spaltenvektor multipliziert haben:
A = [3 2 -1; 2 -2 4; -1 1/2 -1] b = [1; -2; 0;] A \ b
Axiom
Wie Maxima ist Axiom ein Computer-Algebrasystem mit einer langen Geschichte. Die Ideen hinter Axiom wurden ursprünglich von IBM in den 1960er Jahren entwickelt. Es wurde auch als kommerzielles Produkt veröffentlicht, das schließlich Open Source wurde.
Während Axiom seine Befehle im Terminal ausführt, erhalten Sie beim Öffnen ein deutlich grafisches Hilfemenü, das alle Funktionen zeigt.
Wie bei SageMath und Maxima können Sie die Leistung wissenschaftlichen Rechnens auf Ihren Rechner bringen und alles von der Lösung einfacher Gleichungen bis hin zu Analysis und linearer Algebra angehen. Die solve-Funktion ist ähnlich wie das, was wir zuvor gesehen haben.
solve(5*x + 3 = 15,x)
Es gibt einen Grund, warum Linux die bevorzugte Betriebssystemwahl für die Wissenschaftsgemeinschaft ist. Es gibt viele Tools, damit Forscher ihre Arbeit erledigen können, und Sie können direkt von Ihrem Terminal aus die faszinierenden Welten von Mathematik und Wissenschaft mit diesen und vielen anderen Tools erkunden, die Sie möglicherweise in Ihrem Paketmanager entdecken.
Bist du neugierig auf weitere Artikel wie 11 Möglichkeiten, Mathematik im Linux-Terminal zu machen? Entdecke spannende Inhalte in der Kategorie Linux.
Schreibe einen Kommentar