Sprache für mathematische Berechnungen
-
Hallo,
welche Sprachen sind denn besonders für mathematische Berechnungen geeignet bzw. halten sich in ihrer Syntax nah an den mathematischen Notationen? Weiterhin wäre es schön, wenn man sich nicht erst in eine große GUI-Biblio einarbeiten muss, um ein paar Graphen auszugeben.
-
Deine Frage ist zu ungenau um dir eine gute Antwort geben zu können. Was genau hast du vor?
-
Vermutlich suchst du ein CAS (Computer Algebra System). Kostenlose Varianten wären zB (wx)Maxima oder Sage. Teure Varianten wären zB Mathematica.
-
MATLAB oder auch IDL (Interactive Data Language)
-
Matlab ist relativ populär. Da gibt es auch einen OpenSource-Ableger von: Octave.
Beispiel (Eigen-Zerlegung einer Zufallsmatrix)
>> A = randn(3) A = 0.5913 -1.0091 0.0000 -0.6436 -0.0195 -0.3179 0.3803 -0.0482 1.0950 >> [V,L] = eig(A) V = -0.6605 -0.5194 -0.5697 -0.7391 0.4081 0.1294 0.1320 -0.7508 0.8116 L = -0.5379 0 0 0 1.3843 0 0 0 0.8204
Oder eine selbstgeschriebene Funktion, um die Rotationsachse einer 3x3-Rotationsmatrix über eine Singulärwertzerlegung auszurechnen:
function axis = rot3matrix_to_axis(R) [U,S,V] = svd(R-eye(3)); axis = V(:,3); return;
Matlab steht für "Matrix Laboritory". Fast alles ist eine Matrix. Im letzten Beispiel ist V eine 3x3 Matrix und V(:,3) die 3. Spalte. etc
Plotten ist auch relativ einfach. Es gibt diverse 2D und 3D-Plots.
r = (0:12)*(pi/6); % Zeilenvektor mit 13 Elementen von 0 bis 2pi x = cos(r); % Komponentenweise Cosinus berechnen y = sin(r); % Komponentenweise Sinus berechnen plot(x,y,'o-'); % x gegen y plotten axis equal; % Einheitliche Skalierung der Achsen
In Matlab kann man sich oft die ein oder andere Schleife sparen, da man direkt auf Matrizen und Vektoren rechnen kann (siehe letztes Beispiel).