Von exmatlabuser am Fr, 19. Dezember 2014 um 13:51 #
Matlab/Octave bietet eine Sprache die es erlaubt sehr kompakten Code in Matrix-Schreibweise zu produzieren. Häufig ist es ein gutes Tool um schnell eine Berechnung (Prototyp) zu programmieren. Die Syntax ist dabei nah an der Schreibweise für Matrizen in bestimmten mathematischen Büchern. Matlab/Octave erlaubt es daher häufig Formel in Matrix-Schreibweise direkt zu übernehmen. Für sehr umfangreiche Berechnungen oder für Probleme, die sich nicht kompakt in Matrix-Schreibweise formulieren lassen gibt es sicher bessere Sprachen.
IPython kann zur Programmierung in Octave verwendet werden: %load_ext octavemagic %%octave
Von comparedit am So, 21. Dezember 2014 um 15:18 #
Klar rechnen kann man in vielen Programmiersprachen - Fortran, Numpy bieten guten Unterstützung für Berechnungen mit Matrizen. Der große Vorteil von Octave ist hie aber die besonders einfache und systematische Syntax. Numpy/Python ist sehr mächtig - aber nicht so systematisch und manchmal etwas umständlicher. OCTAVE: a=[2 3 4 5]; rand(1,10) real(z) sqrt(a) a’ a * b NUMPY (same commands): a=array([2,3,4,5]) random.random((10,)) z.real math.sqrt(a) a.conj().transpose() matrixmultiply(a,b)
Matlab/Octave bietet eine Sprache die es erlaubt sehr kompakten Code in Matrix-Schreibweise zu produzieren. Häufig ist es ein gutes Tool um schnell eine Berechnung (Prototyp) zu programmieren.
Die Syntax ist dabei nah an der Schreibweise für Matrizen in bestimmten mathematischen Büchern. Matlab/Octave erlaubt es daher häufig Formel in Matrix-Schreibweise direkt zu übernehmen.
Für sehr umfangreiche Berechnungen oder für Probleme, die sich nicht kompakt in Matrix-Schreibweise formulieren lassen gibt es sicher bessere Sprachen.
IPython kann zur Programmierung in Octave verwendet werden:
%load_ext octavemagic
%%octave
Mit den ensprechenden Libraries (numpy und scipy) kann man das auch mit Python tun.
Klar rechnen kann man in vielen Programmiersprachen - Fortran, Numpy bieten guten Unterstützung für Berechnungen mit Matrizen. Der große Vorteil von Octave ist hie aber die besonders einfache und systematische Syntax.
Numpy/Python ist sehr mächtig - aber nicht so systematisch und manchmal etwas umständlicher.
OCTAVE:
a=[2 3 4 5];
rand(1,10)
real(z)
sqrt(a)
a’
a * b
NUMPY (same commands):
a=array([2,3,4,5])
random.random((10,))
z.real
math.sqrt(a)
a.conj().transpose()
matrixmultiply(a,b)
Danke für den Vergleich, solche Kommentare machen pro-linux wirklich lesenswert
Wenn du die matrix Klasse von Numpy benutzt, dann kannst du das ganze auch so schreiben in Python:
a = matrix( "2 3 4 5")
random( (10,))
z.real
sqrt( a)
a.H
a * b