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.


  • Mod

    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.

    Ansonsten natürlich Fortress oder Haskell.



  • 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).


Anmelden zum Antworten